Suchen Sie Computernamen in einem privaten Netzwerk (mit nmap?)

10

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?

bsamek
quelle
3
welche Hostnamen? DNS-Namen? Fragen Sie Ihren DNS-Server.
Ragnq
@ragnq nslookup gibt mir keine Hostnamen, Angry Port Scanner jedoch. Ich versuche herauszufinden, wie dies mit nmap- und / oder Befehlszeilentools funktioniert.
bsamek

Antworten:

0

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.

Benny
quelle
3

Aus den FAQ von Angry IP Scanner (" Hostnamen nicht angezeigt "):

Angry IP Scanners zeigt Hostnamen an, die von Ihrem DNS-Server (Namensserver) zurückgegeben wurden, indem Sie eine umgekehrte Suche durchführen . Der Server erhält die IP-Adresse und gibt den Hostnamen zurück, wenn er dies weiß.

Wenn ein Computer seinen eigenen Namen kennt, bedeutet dies nicht, dass er den DNS-Server des Netzwerks bereitgestellt hat. Mit anderen Worten, der Name des Hosts, wie er ihn selbst kennt (der lokale Name) und der Name, der an die IP-Adresse (den globalen Namen) angehängt ist, wie er dem DNS-Server bekannt ist, stimmen möglicherweise nicht immer überein.

Sehr oft geben DNS-Abfragen einige generische Namen zurück, z. B. dhcp-12-13.superisp.com, insbesondere in ISP-Netzwerken.

Die Namen stimmen in beiden Fällen überein:

  • Ihr Computer hat den Namen an den DHCP-Server gesendet, von dem er die IP-Adresse erhalten hat, und der DHCP-Server hat ihn dem lokalen DNS-Server bereitgestellt
  • Sie haben eine statische IP-Adresse und Ihr lokaler Hostname wird gemäß den Regeln konfiguriert, die der globalen Namenskonvention in Ihrem Netzwerk entsprechen
  • Der TCP-Stack Ihres Hosts gibt den lokalen Namen zurück, wenn die lokale IP-Adresse abgefragt wird, ohne nach dem globalen Namen zu fragen

Aus der Dokumentation von Nmap (" Host Discovery "):

Standardmäßig führt Nmap auf den Hosts weiterhin eine Reverse-DNS-Auflösung durch , um deren Namen zu erfahren.

Zusätzliche Lektüre / Infos hier .

Ƭᴇcʜιᴇ007
quelle
In dem Netzwerk, an dem ich arbeite, zeigt mir Angry IP Scanner die Hostnamen an, vermutlich durch eine Reverse-DNS-Suche. Was Sie sagen ist, dass nmap auch eine umgekehrte Suche durchführt. Die Hostnamen werden jedoch nicht angezeigt. Wie kann ich die Hostnamen anzeigen lassen? Oder ist das das falsche Werkzeug für diesen Job?
bsamek
1

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.

bsamek
quelle
0

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'

linuxfreak003
quelle