Gibt es eine Möglichkeit, im Netzwerk nach freien IPs zu suchen? Ich benutze, nmap -sP 192.168.1.0/24
aber dies zeigt tatsächlich Hosts, die aktiv sind.
Gibt es eine Möglichkeit, im Netzwerk nach freien IPs zu suchen? Ich benutze, nmap -sP 192.168.1.0/24
aber dies zeigt tatsächlich Hosts, die aktiv sind.
Antworten:
Die Verwendung von Nmap wie folgt ist eine ziemlich genaue Vorgehensweise, vorausgesetzt, einige Voraussetzungen sind erfüllt:
Um die "verfügbaren" Adressen zu erhalten, müssen Sie die Liste der Adressen abrufen, die Nmap als "down" meldet. Sie können dies mit einem einfachen awk-Befehl tun:
sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Zusammenfassung der verwendeten Nmap-Optionen:
-v
Option verwenden, druckt Nmap die gefundenen Adressen zusätzlich zu den Adressen, die "up" sind, als "down" aus.-sP
habe ich die neuere Schreibweise ersetzt -sn
, mit der immer noch derselbe Scan ausgeführt wird, jedoch "Port-Scan überspringen" anstelle des irreführenden "Ping-Scans" (da die Host-Erkennungsphase nicht unbedingt einen ICMP-Echo-Scan oder Ping-Scan bedeutet) ).-n
Option überspringt Reverse-DNS-Lookups, wodurch Sie etwas Zeit sparen, da Sie nicht an Namen, sondern nur an IP-Adressen interessiert sind.-oG
Option weist Nmap an, ein grepable- Format auszugeben , das für awk einfacher zu verarbeiten ist. Das Argument " -
" weist es an, diese Ausgabe an stdout zu senden.Der Befehl awk sucht dann nach "Status: Down" und druckt das zweite Feld, das die IP-Adresse enthält.
Wenn Sie Zugriff auf die laufenden Konfigurationen des Switches oder auf die Leases des DHCP-Servers haben, können Sie diese Antwort natürlich viel zuverlässiger erhalten, ohne einen Scan durchzuführen, der Sicherheitsalarme auslösen könnte.
Ich bin mir bei n-map nicht sicher, aber man könnte vernünftigerweise davon ausgehen, dass, wenn Sie ein Ping-Skript schreiben, das 1 Ping an jede Adresse sendet, alle Hosts, die mit "destination unreachable" zurückkehren, nicht belegt sind und alles, was zurückkommt, "request time out". ist besetzt, antwortet aber nicht auf ping. Der Unterschied zwischen den beiden Antworten besteht darin, dass "Ziel nicht erreichbar" keine Antwort auf seine ARP-Anforderung erhalten hat. "Anforderungs-Timeout" bedeutet, dass auf die ARP-Anforderung etwas geantwortet hat, jedoch nicht auf das ICMP-Paket.
Hier ist eine andere, die von Anders Larsson inspiriert wurde
für ip in 172.18.5. {129..254}; do {ping -c 1 -W 1 $ ip; } &> / dev / null || echo $ ip & done | Sortieren
Was es bedeutet: "Versuchen Sie, alle IPs in dem Bereich zu pingen. Wenn der" Ping "fehlschlägt, drucken Sie diese IP"
Wenn Sie tun
nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Funktioniert schnell, aber ich habe festgestellt, dass einige Hosts, die als "Down" gemeldet wurden, tatsächlich "Up" sind.