In einem LAN möchte ich die Namen aller angeschlossenen Computer mithilfe eines plattformübergreifenden Programms, vorzugsweise nmap, ermitteln. Ich weiß, dass ich es kann
nmap -sn xxx.xxx.xxx.xxx/24
(wobei xxx.xxx.xxx.xxx eine lokale IP-Adresse ist), um Hosts zu finden, die aktiv sind, aber wie finde ich die Hostnamen der Computer? Senden sie dies auf eine Weise, die ich mit nmap finden kann?
UPDATE: Es sieht so aus, als ob Angry IP Scanner dies tun kann. Wie macht es das? Kann ich es mit nmap replizieren?
networking
nmap
bsamek
quelle
quelle
Antworten:
Ich habe nmap und andere IP-Scanner wie Angry IP-Scanner verwendet. Meine Beobachtung war, dass Nmap Reverse DNS zum Auflösen von Hostnamen verwendete. Damit dies funktioniert, sollte der DNS-Server Reverse-Zeiger-Einträge für die Hosts haben. Ich habe festgestellt, dass andere Scanner einer PTR-Abfrage eine Netbios-Abfrage folgen.
Wenn Sie sicher sind, dass alle Hosts im Zielnetzwerk Windows-Hosts sind und NETBIOS aktiviert ist, können Sie sie mit dem Tool nbtscan scannen.
quelle
Aus den FAQ von Angry IP Scanner (" Hostnamen nicht angezeigt "):
Aus der Dokumentation von Nmap (" Host Discovery "):
Zusätzliche Lektüre / Infos hier .
quelle
Es stellt sich heraus, dass ich angeben muss
--system-dns
, um die Namen der Computer im Netzwerk zu erhalten. Ich bin mir nicht sicher, warum das funktioniert. Vielleicht liegt etwas Unerwartetes in der Konfiguration von DNS?UPDATE: Eigentlich funktioniert es in einem VLAN, aber nicht in einem anderen, aber Angry IP Scanner funktioniert in beiden.
quelle
Sie können es auch verwenden
nmap -A xxx.xxx.xxx.xxx
, um die Hostnamen in der Ausgabe anzuzeigen. In meinem Netzwerk leite ich es durch grep, um genau die Informationen zu erhalten, die ich möchte. ~grep -e 'scan report' -e 'Computer name'
quelle