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

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.
Du kannst eine vorgefertigte Binärdatei von hier herunterladen und sofort verwenden.
go install -v github.com/s0md3v/smap/cmd/smap@latest
Verwirrt oder funktioniert etwas nicht? Detailliertere Anweisungen findest du hier
Smap ist auf AUR als smap-git (aus dem Quellcode erstellt) und smap-bin (vorgefertigte Binärdatei) verfügbar.
Smap ist auch auf Homebrew verfügbar.
brew update
brew install smap
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.
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
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.
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
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.
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
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:
Hinweis: Wenn du
--nmapverwendest, führt Smapnmapgegen 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.