Grepping mehrerer Zeilen aus der Nmap-Ausgabe

Grepping mehrerer Zeilen aus der Nmap-Ausgabe

Ich entschuldige mich im Voraus, da dies eine einfache Frage ist.

Ich versuche also, eine Klasse C zu scannen, um alle Mailserver anhand der IP zu identifizieren. Die überwiegende Mehrheit der IPs sind keine Mailserver. Ich versuche, diejenigen herauszufiltern, die es sind.

Ich habe Folgendes versucht, aber ich habe nicht das bekommen, was ich wollte.

nmap -p 25 192.168.15.1-254 | grep report && grep open 

Und

nmap -p 192.168.15.1-254 (grep report | grep open)

Gibt es ein anderes Dienstprogramm, das ich verwenden sollte? Oder liegt das Problem an meiner Syntax?

Antwort1

Mir ist nicht klar, ob Sie Zeichenfolgen benötigen, die nur „report“ oder „open“ enthalten. Wenn ja, verwenden Sie: grep:

nmap | grep -E "report|open"

sed:

nmap | sed '/report\|open/!d'

if melden und gemeinsam öffnen

grep:

nmap | grep report | grep open

sed:

nmap | sed '/report.*open\|open.*report/!d'

Antwort2

Anstatt die Nachbearbeitung mit grep durchzuführen, versuchen Sie, die --openOption an Nmap zu übergeben. Dadurch werden alle geschlossenen oder gefilterten Ports ausgeblendet. Sie können die Optionen -oGoder -oAauch verwenden, um „grepbare“ Ergebnisse auszugeben. Hier ist ein Beispiel, das das tut, was Sie meiner Meinung nach suchen:

nmap -p 25 --open -oA smtp-servers-%y%m%d 192.168.15.0/24

Die Ergebnisse würden in smtp-servers-20120607.nmap, smtp-servers-20120607.gnmap, und erscheinen smtp-servers-20120607.xml. Sie können IP-Adressen für offene SMTP-Server wie folgt abrufen:

awk '/\<25/open/tcp/ {print $2}' smtp-servers-*.gnmap

Wenn Sie dies wirklich alles in einer Pipeline benötigen, können Sie es folgendermaßen machen:

nmap -p 25 --open -oG - 192.168.15.0/24 | awk '/\<25/open/tcp/ {print $2}'

Antwort3

Sie benötigen eine Pipe zu beiden grepAufrufen:

nmap ... | grep report | grep open

Oder, da Sie mit markiert haben awk, nur zur Information:

nmap ... | awk '/report/ && /open/'

Und sed:

nmap ... | sed '/report/!d;/open/!d'

verwandte Informationen