Zurück zu den Updates
New releaseAug 16, 2026

Smap v1.0.0-beta

Ein direkter Ersatz für Nmap, betrieben von shodan.io

Teilen

Smap-Logo

nmap-Alternative, unterstützt durch shodan.io

Smap-Demo

Smap ist ein passiver Portscanner, der mit der kostenlosen API von shodan.io erstellt wurde. Er akzeptiert dieselben Befehlszeilenargumente wie Nmap und erzeugt dieselbe Ausgabe, was ihn zu einem direkten Ersatz für Nmap macht.

Funktionen

  • Scannt 200 Hosts pro Sekunde
  • Benötigt kein Konto und keinen API-Schlüssel
  • Schwachstellenerkennung
  • Unterstützt die Ausgabeformate von nmap
  • Service- und Versions-Fingerprinting
  • Nimmt im passiven Modus keinen Kontakt zu den Zielen auf
  • Optionale nmap-Beschleunigung mithilfe der von Shodan gemeldeten Ports

Installation

Binärdateien

Du kannst eine vorgefertigte Binärdatei von hier herunterladen und sofort verwenden.

Manuell

go install -v github.com/s0md3v/smap/cmd/smap@latest

Verwirrt oder funktioniert etwas nicht? Detailliertere Anweisungen findest du hier

AUR-Paket

Smap ist auf AUR als smap-git (aus dem Quellcode erstellt) und smap-bin (vorgefertigte Binärdatei) verfügbar.

Homebrew/Mac

Smap ist auch auf Homebrew verfügbar.

brew update
brew install smap

Verwendung

Smap akzeptiert dieselben Argumente wie Nmap, aber Optionen außer -p, -h, -V, -o*, -iL, --concurrency und --append-output werden im passiven Modus ignoriert. Verwende --nmap, um Nmap-Optionen nach der passiven Port-Erkennung an einen echten Nmap-Scan weiterzugeben. Wenn du mit Nmap nicht vertraut bist, erfährst du hier, wie du Smap verwendest.

Ziele angeben

smap 127.0.0.1 127.0.0.2

Du kannst auch eine Liste von Zielen verwenden, die durch Zeilenumbrüche getrennt sind.

smap -iL targets.txt

Unterstützte Formate

1.1.1.1         // IPv4 address
example.com     // hostname
178.23.56.0/8   // CIDR
1.1.1.1-20      // IPv4 range

Ausgabe

Smap unterstützt 7 Ausgabeformate, die wie folgt mit -o* verwendet werden können:

smap example.com -oX output.xml

Wenn du die Ausgabe auf dem Terminal ausgeben möchtest, verwende als Dateinamen einen Bindestrich (-).

Unterstützte Formate

oX    // nmap's xml format
oG    // nmap's greppable format
oN    // nmap's default format
oA    // output in all 3 formats above at once
oP    // IP:PORT pairs separated by newlines
oS    // custom smap format
oJ    // json

Hinweis: Da Nmap keine Schwachstellen und Tags scannt bzw. anzeigt, sind diese Daten in den nmap-Formaten nicht verfügbar. Verwende -oS, um diese Informationen anzuzeigen.

Ports angeben

Smap scannt standardmäßig diese ~4000 Ports. Wenn du Ergebnisse für bestimmte Ports anzeigen möchtest, verwende die Option -p.

smap -p21-30,80,443 -iL targets.txt

Nmap-Beschleunigung

Verwende --nmap, um einen Scan mit deinem lokalen nmap einzuschränken. Smap sammelt zuerst die Vereinigung der von Shodan gemeldeten Ports und führt dann Nmap einmal mit diesem kleineren Portbereich gegen die ursprünglichen Ziele aus.

smap --nmap -Pn -sV --version-light 1.1.1.1

Mit Ausnahme von --nmap und --concurrency werden die angegebenen Argumente an Nmap übergeben. Smap ersetzt den Portbereich durch die Shodan-Kandidaten; wenn du -p angibst, begrenzt es die Kandidaten zunächst auf diesen Bereich. Nmap übernimmt den Scan und die Ausgabe direkt, sodass sich seine Optionen und Ausgabeformate normal verhalten. Nur-Host-Operationen wie -sL und -sn werden ohne passive Port-Erkennung durchgereicht.

Die benutzerdefinierten Ausgabeformate von Smap sind Funktionen des passiven Modus; mit --nmap haben die Ausgabeoptionen ihre normalen Nmap-Bedeutungen. Wenn Shodan keine Kandidaten-Ports meldet, wird Nmap nicht ausgeführt.

Das kann Zeit sparen, wenn die passiven Daten für deinen Anwendungsfall ausreichen.

Parallelität steuern

Smap verwendet standardmäßig 3 Worker, um Shodan nicht zu stark zu belasten. Du kannst das mit --concurrency ändern.

smap --concurrency 5 -iL targets.txt

Überlegungen

Da Smap einfach vorhandene Portdaten von shodan.io abruft, ist es extrem schnell, aber es gibt noch mehr zu beachten. Du solltest Smap verwenden, wenn:

Du möchtest

  • Schwachstellenerkennung
  • einen extrem schnellen Portscanner
  • keine Verbindungen zu den Zielen aufgebaut werden sollen

Du bist damit einverstanden

  • keine IPv6-Adressen scannen zu können
  • dass Ergebnisse bis zu 7 Tage alt sind
  • dass die Software-Erkennung im passiven Modus in seltenen Fällen unzuverlässig ist

Hinweis: Wenn du --nmap verwendest, führt Smap nmap gegen das Ziel aus und stellt aktive Verbindungen her. Da Shodans Daten veraltet oder unvollständig sein können, kann die Verwendung als Portfilter offene Ports übersehen.

Kategorien