Was ist das Befehlszeilenprogramm in Windows, um eine umgekehrte DNS-Suche durchzuführen?

246

Gibt es ein integriertes Befehlszeilentool, mit dem DNS-Abfragen in Windows rückgängig gemacht werden können? Dh so etwas wie<toolname> w.x.y.z => mycomputername

Ich habe es versucht:

  • nslookup: scheint nur eine Vorausschau zu sein.
  • host: existiert nicht
  • dig: existiert auch nicht.

Ich habe über eine Suche " Was ist das umgekehrte DNS-Befehlszeilendienstprogramm? " Gefunden, suche jedoch speziell nach einem * nix-Dienstprogramm, nicht nach einem Windows-Dienstprogramm.

alastairs
quelle
5
Diese Frage sollte dahingehend bearbeitet werden, dass nicht wirklich eine DNS-spezifische Lösung gesucht wird. Die Antworten, die abgelehnt wurden, liefern diese Antwort, aber das Problem war, dass Sie tatsächlich etwas brauchten, das NetBIOS-Namen und nicht DNS nachschlägt.
Barmar

Antworten:

237
ping -a w.x.y.z

Sollte den Namen von der IP-Adresse auflösen, wenn die Reverse-Lookup-Zone ordnungsgemäß eingerichtet wurde. Wenn in der Reverse-Lookup-Zone kein Eintrag für den Datensatz vorhanden ist, -awird nur ein Ping ohne Namen gesendet.

Peter
quelle
3
Dies funktionierte besser als nslookup, da sich der in Konflikt stehende Computer in einer anderen Domäne befindet. Danke vielmals!
Alastairs
4
in nslookup können Sie auch versuchen: set type = PTR <enter> wxyz <enter>
Peter
2
@abstrask hat die vollständigste Antwort
vinnyjames
7
Das funktioniert , aber es ist eigentlich das falsche Werkzeug für den Job. Ping wird verwendet, um die Netzwerklatenz zu messen. Es führt Namens- (oder IP-) Suchen nur als Nebeneffekt seines Hauptzwecks durch.
Massimo
3
@ Massimo - angesichts der Einschränkungen der ursprünglichen Frage, was würden Sie stattdessen vorschlagen? Ping löst DNS- und NetBIOS-Namen auf, was es zu einem guten ersten Tool macht, wenn Sie nur etwas schnelles benötigen.
Peter
114
nslookup <ip>

Tut was du suchst. Es wird Ihnen den Server, den Sie abfragen, und das Ergebnis mitteilen.

Zum Beispiel:

c:\>nslookup 192.168.101.39
Server: dns1.local
Address: 192.168.101.24

Name: enigma.local
Address: 192.168.101.39
Mark Turner
quelle
7
Dies schlug mit der Meldung "<DC> kann wxyz: Nicht vorhandene Domäne nicht finden" fehl und ich konnte nicht herausfinden, warum. Ich habe versucht, auf Peters Antwort zu antworten, und festgestellt, dass sich der in Konflikt stehende Computer in einer anderen Domäne befand.
Alastairs
7
Es schlug fehl, weil nslookup sich nur um DNS kümmert, während Namen in Windows auf andere Weise aufgelöst werden können und werden, wenn DNS nicht ausreicht.
Massimo
76

Das Problem mit "ping" ist, dass es sich nicht ausschließlich um ein Nameserver-Nachschlagetool handelt (wie nslookup). Wenn Sie beispielsweise einen Hostnamen pingen, kann dies durch eine Reihe von Methoden in eine IP-Adresse aufgelöst werden: DNS-Nachschlagetool, Nachschlagetool für Hostdateien, WINS (Gott verbiete) oder NetBIOS-Broadcast. Es kann auch ein möglicherweise veraltetes zwischengespeichertes Ergebnis zurückgeben.

Die Reihenfolge, in der die Methoden ausprobiert werden, hängt von der TCP / IP-Konfiguration und dem Knotentyp-Flag des Clients ab:

  • B-Knoten (1): Broadcast
  • P-Knoten (2): Peer (nur WINS)
  • M-Knoten (4): Gemischt (Broadcast, dann WINS)
  • H-Knoten (8): Hybrid (WINS, dann Broadcast)

So zeigen Sie den Knotentyp des aktuellen Computers an:

C:\>ipconfig /all | find "Node Type"
Node Type . . . . . . . . . . . . : Hybrid

Wenn die Auflösungsmethode keine Rolle spielt, verwenden Sie

ping -a w.x.y.z

oder

nslookup w.x.y.z

wie du magst. Wenn Sie sicher sein müssen, dass Sie Ihren DNS-Server nach dem richtigen Namen abfragen, verwenden Sie nslookup .

Siehe auch

abstrask
quelle
31

Verwenden Sie NSLOOKUP mit dem Parameter "-type = ptr", um die IP-Adresse und die Syntax abzufragen:

nslookup -type=ptr 1.2.3.4

Dann wird auch der Eintrag "inaddr.arpa" gedruckt (auch wenn er nicht gefunden wurde), zum Beispiel:

C:\Users\UserName>nslookup -type=ptr 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Non-authoritative answer:
8.8.8.8.in-addr.arpa    name = google-public-dns-a.google.com

Im Vergleich zur Antwort mit geringerer Wiedergabetreue bei Verwendung von NSLOOKUP für eine IP-Adresse ohne den Typparameter:

C:\Users\UserName>nslookup 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Name:    google-public-dns-a.google.com
Address:  8.8.8.8
M Aguilar
quelle
2
Wenn Sie interaktives nslookup verwenden möchten, geben Sie an der Eingabeaufforderung von nslookup "set q = ptr" ein und geben Sie in der nächsten Zeile die IP ein. Wenn Sie verrückt nach alter Schule sind wie ich, dann haben Sie bis jetzt nicht bemerkt, dass Sie nicht mehr rückwärts nach der IP suchen müssen, wie "1.0.0.127.in-addr.arpa".
Todd Wilcox
4
Keine Notwendigkeit -type=ptroder set q=ptrüberhaupt - nslookupist klug genug, um eine IP-Adresse neu zu ermitteln und eine Rückwärtssuche
durchzuführen,
1
Tatsächlich ist -type = ptr für die ordnungsgemäße Überprüfung der umgekehrten Suche erforderlich, da mit nur einer IP-Adresse ein genaueres Ergebnis als mit nslookup ausgegeben wird. Es ist viel besser, den tatsächlichen inaddr.arpa-Eintrag auszudrucken (auch wenn er nicht gefunden wird), um das Debuggen zu unterstützen oder einfach zu klären, was gerade vor sich geht.
Tony Wall
14

nslookup macht DNS unter Windows umgekehrt wie unter Linux.

Natürlich gibt es nicht für jede IP-Adresse einen umgekehrten Eintrag

theotherreceive
quelle
2
Gut, dass nicht für alle Hosts ein PTR-Datensatz erstellt wird
Rowland Shaw,
2
Beachten Sie, dass nslookup unter Linux, BSD und Windows unterschiedliche Funktionen und Programme hat.
Gute Person
1
Wenn keine PTR vorhanden ist , können Sie die IP für weitere Informationen Whois ..... prob tut Schiff mit windoze entweder lol
nandoP
8

Verwenden Sie nslookup wie folgt:

nslookup -type=PTR  127.0.0.1
ko-dos
quelle
6

Sie können den Standardbefehl NSLOOKUP verwenden:

nslookup 123.123.123.123

Um ein Ergebnis zu erhalten, muss ein PTR-Datensatz für die betreffende IP-Adresse registriert sein.

splattne
quelle
5

nslookup führt Reverse-Lookups in Windows durch.

C:\>nslookup star.slashdot.org

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

C:\>nslookup 216.34.181.48

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48
Evan Anderson
quelle
4

9 Antworten und niemand sagte, wie man die Suche mit dig umkehrt? Es ist das Beste

dig -x wxyz

Außerdem können Sie "+ short" für die Verwendung in Bash-Loops, Skripten usw. hinzufügen. Vorwärts oder rückwärts :)

nandoP
quelle
3
Niemand hat erwähnt, digwie es nicht mit Windows geliefert wird. Die Frage des OP deutet sogar darauf hin.
Jscott
3
digist jedoch im Allgemeinen die beste Wahl für die DNS-Fehlerbehebung. Ich denke, es ist definitiv sinnvoll, ein besseres Tool vorzuschlagen, obwohl es nicht mit Windows geliefert wird. (Verfügbar in den Windows-Builds unter isc.org/software/bind )
Håkan Lindqvist,
4

Unter Windows ....

Standard-Ping gibt NICHT den Hostnamen der IP-Adresse zurück

NSLookup kann verwendet werden, um diese Informationen zu finden, wenn DNS ordnungsgemäß eingerichtet ist

Vorgehensweise wie folgt:

Öffnen Sie die DOS-Eingabeaufforderung

NSLookup

Settyp = ptr

A B C D

Die Ergebnisse werden mit der umgekehrten DNS-Serveradresse und dem Hostnamen angezeigt

Ivo van Selst
quelle
1

Es gibt noch einen anderen Weg. Kehren Sie die IP-Adresse um und verwenden Sie nslookup

nslookup -type=PTR 4.3.2.1.in-addr.arpa

zum Auflösen der Adresse 1.2.3.4

sweetfa
quelle
1
Sie müssten jedoch dafür sorgen, nslookup -type=PTR 4.3.2.1.in-addr.arpadass es tatsächlich funktioniert.
Håkan Lindqvist
1

Wenn nslookup, dig, hostexistiert nicht, versuchen Sie dies:

getent hosts google.de | awk '{ print $1 }'

Funktioniert zB auf Docker-AWS-ec2-Instanzen (auf denen wirklich nichts installiert ist)

Felix
quelle