Wie ermittle ich den Hostnamen anhand einer IP-Adresse in einem Windows-Netzwerk?


84

Mein LAN hat 50 Windows-Hosts. In der Windows-Befehlszeile versuche ich, per Ping die IP-Adresse eines laufenden Windows-Computers abzurufen.

Die Frage ist, wie der Hostname einer bestimmten IP-Adresse in derselben Windows-Arbeitsgruppe ermittelt werden kann.

Eine andere Frage ist, wie man den Hostnamen eines Windows-Rechners von einer Linux-Box kennt, wenn ich eine IP-Adresse habe. Welchen Befehl benutzt du? Ich habe einen Host, auf dem Kubuntu 9.04 ausgeführt wird.

Antworten:


92

Wenn Sie den Namen eines Windows-Computers ohne DNS ermitteln möchten, sollten Sie Nbtstat versuchen . Das funktioniert aber nur unter Windows:

Zum Beispiel,

NBTSTAT -A 10.10.10.10

Unter Linux sollten Sie nmblookup ausprobieren , das fast dasselbe tut.


3
NBTSTAT setzt voraus, dass NetBIOS geladen und ausgeführt wird, was in größeren Organisationen mit eigener AD- und DNS-Infrastruktur häufig ausgeschaltet ist. Wahrscheinlich eine sichere Annahme bei einer Arbeitsgruppe von 50 Maschinen.
GAThrawn

Danke Decca, das nbtstat ist übrigens klasse ... Ich konnte auf der Linux-Box nmblookup 192.168.1.92 nicht abfragen. 192.168.1.92 auf 192.168.1.255 name_query konnte den Namen 192.168.1.92
billyduc 30.11.09

8
Der Befehl nmblookup -A 192.168.1.92 funktioniert erfolgreich
billyduc

1
nmblookupist Teil des Samba-Pakets meiner Distribution. Ich bin mir nicht sicher, warum nmblookupIP zu Hostname Teil von Samba ist (Code für vernetzte Dateisysteme und Druckdienste).
Trevor Boyd Smith

60

Die technisch vorzuziehende Methode ist das Tippen nslookup <ip address>

NSLOOKUP fragt den DNS-Server nach der IP-Adresse des Hostnamens. Ping verwendet den lokalen DNS-Auflösungscache , der möglicherweise bis zum Leeren falsch ist.


das setzt voraus, dass er einen internen DNS-Server für die Namensauflösung hat. Außerdem erklärte der Op, dass er einen Hostnamen von der IP auflösen wollte, also gehe ich davon aus, dass er den Hostnamen zunächst nicht kennt. Auch für mich gibt es keine richtige oder falsche Vorgehensweise. Es gibt mehrere Methoden, von denen jede gültig ist und von denen jede unterschiedliche Ergebnisse liefern kann.
Joeqwerty

3
Nee. Die Verwendung von PING ist nicht die beste Methode. Sie können einen nslookup <ip address>Befehl ausführen, der die umgekehrte Suche auflöst.
Izzy,

1
Sie verweisen auf NSLOOKUP wie auf ein internes Auflösungstool ... In beiden Fällen ist NSLOOKUP die technisch überlegene Option.
Izzy

1
Aber er hat recht. nslookup ist in diesem Szenario nur dann von Nutzen, wenn ein DNS-Server (intern oder extern) mit Reverse-Lookup-Zoneneinträgen für die Hosts des OP vorhanden ist und die Rechner des OP für die Verwendung dieses DNS-Servers konfiguriert sind.
Maximus Minimus

3
@Izzy Ich habe mich als neues Mitglied registriert, nur um mich für den Tipp für NSLOOKUP zu bedanken, Izzy. Von all dem oben genannten Zeug ist es das einzige, das für mich funktioniert hat. Tausend Dank.
Jeff

9

Unter Windows können Sie ping -a x.x.x.xversuchen, den Hostnamen von der IP-Adresse aufzulösen .


1
PING kann zu ungenauen Ergebnissen führen, insbesondere wenn Sie aktiv an DNS-Problemen arbeiten.
Izzy

Der OP gab nicht an, dass er an DNS-Problemen arbeitete. Er implizierte, dass er an Problemen mit der Namensauflösung arbeitete. DNS ist nicht der einzige Mechanismus zur Namensauflösung in Windows und kein erforderlicher Mechanismus zur Namensauflösung. Er gab auch an, dass er in einer Arbeitsgruppe arbeitet, so dass ich keine Vermutung hinsichtlich seiner DNS-Infrastruktur angestellt habe.
Joeqwerty

DNS ist für Active Directory tatsächlich erforderlich. Wir haben einfach nicht genug Informationen, um diesbezüglich etwas Bestimmtes zu sagen.
Maximus Minimus

@mh: ja das ist es, aber nochmal ... nicht genug info von der op.
Joeqwerty

Danke euch allen ! Ich habe keinen Active Directory-Dienst, sondern nur einen DNS-Server für DHCP, E-Mail und Webserver in meinem Unternehmen. Die meisten Mitarbeiter-Hosts verwenden Windows XP und dieselbe ARBEITSGRUPPE.
billyduc


4

Für Mac-Benutzer smbutil -v status -ae x.x.x.xfunktioniert. Sie können auch verwenden arp -a, um Mac-Adressen für alles in Ihrem Netzwerk abzurufen.


1

nmblookup funktioniert möglicherweise nicht gut für Linux-Hosts, da der NetBIOS- Name veraltet ist. Unter Windows ist es auf das lokale Netzwerk beschränkt.


2
Nein das ist falsch. Netbios ist (leider) nicht veraltet und wird für eine Reihe wichtiger Active Directory-Funktionen benötigt.
HopelessN00b

Kann jemand darauf hinweisen, in welchen Fällen AD DS noch auf Netbios angewiesen ist? Es hat Gespräche gegeben, die Netbios seit Windows Server 2003-Zeiten als unangemessen empfunden hat. Wird es jetzt noch irgendwie mit Windows Server 2012 AD DS-Netzwerken benötigt?
Mikhail

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.