Mit nmap nur die IP-Adressen der Online-Rechner ausgeben


19

Ich kann verwenden nmap, um die Liste der Hosts zu finden, die aktuell online sind. Was ich tun möchte, ist eine Liste nur ihrer IP-Adressen zu erhalten, jetzt zeigt es zusätzliche Informationen wie

Nmap scan report for 192.168.x.x' and 'Host is up (0.12s latency).

Was ich möchte, ist, einen nmapBefehl ausführen zu können , ein Textdokument der IP-Adressen zu erhalten, die aktuell online sind.

Ist das überhaupt möglich?

Antworten:


33

Dies ist eine häufige:

nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}'

Schneller Überblick über Optionen und Befehle:

  • -nDeaktiviert die umgekehrte Namensauflösung, da Sie nur IP-Adressen benötigen. In einem lokalen LAN ist dies wahrscheinlich auch der langsamste Schritt, sodass Sie eine gute Geschwindigkeitssteigerung erzielen.
  • -snbedeutet "Führen Sie keinen Port-Scan durch." Es ist dasselbe wie das ältere, das -sPmit dem Mnemonik "Ping-Scan" veraltet ist .
  • -oG -Sendet eine "grepable" -Ausgabe an stdout, an die weitergeleitet wird awk.
  • /Up$/ Wählt nur Zeilen aus, die mit "Nach oben" enden und Hosts darstellen, die online sind.
  • {print $2} Gibt das zweite durch Leerzeichen getrennte Feld aus, bei dem es sich um die IP-Adresse handelt.

Warum haben die $ danach /Up? Ich fand, dass der Befehl nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up/{print $2}'die gleichen Ergebnisse liefert.
Michael

1
@Michael Es ist nur eine zusätzliche Sicherheitsstufe, um sicherzustellen, dass wir keinen Müll drucken, falls etwas anderes den String "Up" enthält. Auf diese Weise funktioniert es auch, wenn Sie es gegen eine grepable Ausgabe in einer Datei eines anderen Scan-Typs ausführen, -sVder unvorhersehbare Zeichenfolgen von Netzwerkdienst-Bannern enthalten kann.
Bonsaiviking

3

Du könntest es weiterleiten an awk:

nmap -sP 192.168.1.0/24 | awk '/is up/ {print up}; {gsub (/\(|\)/,""); up = $NF}'
192.168.1.1
192.168.1.10
192.168.1.20
192.168.1.30
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.