Wie kann ich eine Abfrage an einen bestimmten DNS-Server richten?

445186
Anton Daneyko

Ich möchte eine Anfrage an einen bestimmten DNS-Server senden, dessen IP-Adresse ich kenne. Egal ob unter Windows oder * nix.

In Windows kann ich so etwas tun:

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com Server: DNSs2.Uni-Marburg.DE Address: 137.248.21.22  Non-authoritative answer: Name: superuser.com Address: 64.34.119.12 

Hierbei werden jedoch die DNS-Einstellungen des lokalen Computers verwendet. Stattdessen möchte ich einen bestimmten DNS-Server abfragen, um zu testen, ob er auf meine Anfragen richtig oder überhaupt nicht reagiert.

Also sollte es so sein:

nslookup --dns-ip=8.8.8.8 superuser.com 
130

8 Antworten auf die Frage

172
TheCompWiz

For basic A and CNAME records, you can simply do

nslookup somewhere.com some.dns.server 

Usage: nslookup [-opt ...] # interactive mode using default server nslookup [-opt ...] - server # interactive mode using 'server' nslookup [-opt ...] host # just look up 'host' using default server nslookup [-opt ...] host server # just look up 'host' using 'server' 

or if you just type nslookup without any parameters, you can do a lot more options...

Commands: (identifiers are shown in uppercase, [] means optional) NAME - print info about the host/domain NAME using default server NAME1 NAME2 - as above, but use NAME2 as server help or ? - print info on common commands set OPTION - set an option all - print options, current server and host [no]debug - print debugging information [no]d2 - print exhaustive debugging information [no]defname - append domain name to each query [no]recurse - ask for recursive answer to query [no]search - use domain search list [no]vc - always use a virtual circuit domain=NAME - set default domain name to NAME srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc. root=NAME - set root server to NAME retry=X - set number of retries to X timeout=X - set initial time-out interval to X seconds type=X - set query type (ex. A,AAAA,A+AAAA,ANY,CNAME,MX,NS,PTR,SOA,SRV) querytype=X - same as type class=X - set query class (ex. IN (Internet), ANY) [no]msxfr - use MS fast zone transfer ixfrver=X - current version to use in IXFR transfer request server NAME - set default server to NAME, using current default server lserver NAME - set default server to NAME, using initial server root - set current default server to the root ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE) -a - list canonical names and aliases -d - list all records -t TYPE - list records of the given RFC record type (ex. A,CNAME,MX,NS,PTR etc.) view FILE - sort an 'ls' output file and view it with pg exit - exit the program 
Es ist bedauerlich, dass das Handbuch die Begriffe "Host" und "Server" verwendet, anstatt etwas klarer wie "Domain-Name" und "DNS-Server". ClearCrescendo vor 10 Jahren 7
Das ist nicht ganz falsch. Der "Domänenname" ist nur Teil eines Hostnamens. Sie können tatsächlich nur den "host" -Abschnitt des FQDN durchsuchen, wobei das Domänensuffix weggelassen wird. `NSLOOKUP` versucht automatisch, alle in Ihrem System konfigurierten Suchsuffixe zu verwenden, um eine Übereinstimmung zu erhalten. TheCompWiz vor 10 Jahren 1
Sie müssen nicht vollständig auf `NSLOOKUP` zugreifen, um die Optionen zu verwenden - die Syntax ist nur ein bisschen komisch. ** Beispiel **: `nslookup -all -debug -type = ANY -class = ANY servertolookup.com someDNSserver.com` Coruscate5 vor 6 Jahren 1
9
Anton Daneyko

Just digging into the options of nslookup, which you can display if you invoke nslookup and then typing help inside of the nslookup interactive mode gave me the right answer:

C:\Documents and Settings\Anton Daneyko>nslookup help Server: DNSs2.Uni-Marburg.DE Address: 137.248.21.22 *** DNSs2.Uni-Marburg.DE can't find help: Non-existent domain C:\Documents and Settings\Anton Daneyko>nslookup Default Server: DNSs2.Uni-Marburg.DE Address: 137.248.21.22 > stackoverflow.com 8.8.8.8 Server: [8.8.8.8] Address: 8.8.8.8 Non-authoritative answer: Name: stackoverflow.com Address: 64.34.119.12 
Ich lächelte, als ich sah, dass diese Antwort mit "Just [dig] (https://en.wikipedia.org/wiki/Dig_%28command%29) ing ..." beginnt. Hossein vor 8 Jahren 11
7
Bede Amarasekara

Ja, C:\Documents and Settings\Anton Daneyko>nslookup superuser.com sucht nach Ihrem eigenen DNS-Server, um die IP-Adresse für superuser.com herauszufinden. Wenn Sie der Befehlszeile die IP-Adresse oder den Namen eines anderen DNS-Servers hinzufügen, sucht der angegebene DNS-Server nach der IP-Adresse von superuser.com. Ex:

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 8.8.4.4 Server: google-public-dns-b.google.com Address: 8.8.4.4  Non-authoritative answer: Name: superuser.com Addresses: 190.93.245.58 190.93.246.58 141.101.114.59 190.93.247.58 190.93.244.58 

Übrigens ist 8.8.4.4 die IP-Adresse von Google DNS-Servern.

Beide oben genannten geben jedoch "nicht autorisierende Antworten" an, da keine von ihnen SOA ist, die für die Domäne "superuser.com" maßgebend ist. Beide haben eine zwischengespeicherte Kopie, die von der SOA übertragen wurde. Wenn Sie den autorisierenden Server abfragen möchten, ermitteln Sie zunächst den Namen der IP-Adresse des autorisierenden Servers. Verwenden Sie dazu den Befehl:

C:\Documents and Settings\Anton Daneyko>nslookup -type=ns superuser.com Server: DNSs2.Uni-Marburg.DE Address: 137.248.21.22  Non-authoritative answer: superuser.com nameserver = cf-dns02.superuser.com superuser.com nameserver = cf-dns01.superuser.com  cf-dns02.superuser.com internet address = 173.245.59.4 cf-dns02.superuser.com AAAA IPv6 address = 2400:cb00:2049:1::adf5:3b04 cf-dns01.superuser.com AAAA IPv6 address = 2400:cb00:2049:1::adf5:3a35 cf-dns01.superuser.com internet address = 173.245.58.53 

Dadurch wird eine nicht autorisierende Antwort von Ihrem lokalen DNS-Server von der Marburg Uni zurückgegeben, die alle autorisierenden Server für superuser.com benennt. Dann können Sie den zuvor verwendeten Befehl verwenden, um einen der 4 autorisierenden Server wie folgt zu fragen:

C:\Documents and Settings\Anton Daneyko>nslookup superuser.com 173.245.59.4 Server: cf-173-245-59-4.cloudflare.com Address: 173.245.59.4  Name: superuser.com Addresses: 141.101.114.59 190.93.246.58 190.93.245.58 190.93.247.58 190.93.244.58 

Wie Sie sehen, hat der autorisierende SOA-Server diesmal die IP-Adressen zurückgegeben. Daher wird der Kommentar "Nicht autorisierende Antwort" nicht mehr angezeigt. Dies ist besonders nützlich, wenn Sie einen neuen Domainnamen erstellt oder die Hosting-Provider geändert oder an einen anderen Domain-Registrar übertragen haben und Sie nicht auf Ihre Website zugreifen können, da sich die neuen IP-Adressen auch nach 24 Stunden nicht verbreitet haben. Dann können Sie mit der SOA beginnen und überprüfen, ob Ihre korrekte IP-Adresse vom DNS-Server angegeben wurde, und dann der Struktur nach unten folgen. Es empfiehlt sich zu prüfen, ob die DNS-Server von Google die Änderungen erhalten haben, und zuletzt, ob der lokale DNS-Server Ihren Domänennamen auflösen kann, um die IP-Adresse zu korrigieren.

1
atlantaitservice.com

Um Ihren Standard-DNS-Server in nslookup zu ändern, können Sie den Server einfach durch Eingabe des Servers NAMEorIPofDNS ändern. In diesem Beispiel habe ich meinen Standard-DNS-Server (192.168.50.21) in einen neuen Server (4.2.2.3) geändert.

C: \ Windows \ system32> nslookup

Standardserver: Unbekannt

Adresse: 192.168.50.21

Server 4.2.2.3

Standardserver: c.resolvers.level3.net

Anschrift: 4.2.2.3

>

Jetzt bin ich bereit, Abfragen gegen 4.2.2.3 gegen 192.168.50.21 zu machen

Dies dupliziert eine weitere Antwort und fügt keinen neuen Inhalt hinzu. Bitte posten Sie keine Antwort, es sei denn, Sie haben tatsächlich etwas Neues beizutragen. DavidPostill vor 8 Jahren 0
Möglicherweise keine neuen Inhalte, aber Wert. Ich bevorzuge diese Antwort über die langen Zeiten :) Pawel Cioch vor 8 Jahren 0
0
PatrickCUDO

you can configure the primary DNS to be used with your connection.
Go to your connection properties => Internet Procol (TCP/IP). (the place where you can set a static IP)
Here you can manually define which DNS you want to use for each connection.
After testing, you can always change it back to it's previous value.

Ich glaube nicht, dass dies ein "direkter" Weg ist, einen DNS-Server abzufragen. lepe vor 9 Jahren 3
0
Twisty Impersonator

Erhalten Sie mit einem Befehl bestimmte Datensatztypen vom angegebenen DNS-Server

So suchen Sie andere Datensatztypen als die von nslookup zurückgegebenen Standard-A- und AAAA-Datensätze (und CNAME-Datensätze) mit dem von Ihnen angegebenen DNS-Server:

nslookup -q=<record type> <host> <DNS server> 

Um beispielsweise MX-Einträge für die Domäne stackexchange.comüber einen DNS-Server zurückzugeben, lautet 8.8.4.4der Befehl:

nslookup -q=MX stackexchange.com 8.8.4.4 
0
Prada

Ich arbeite an Openwrt 18.06.1 ARMv6 Raspberry Pi und dem Einrichten von Tor-DNS sowie DNS-Crypt-Proxy, also hatte ein sehr ähnliches Problem. Die Hauptursache ist, dass das lokale isp unsichere Antworten von root-servers.net abfängt, die darauf hinweisen, dass die Site nicht gefunden wurde, und dann auf ihre eigene Website umleitet. Obwohl es kein großer Sicherheitsfehler ist, finde ich es auch nicht besonders nützlich.

Der erste Test beim Abfragen einer bestimmten Adresse ist der Versuch, eine ungültige Adresse auszuprobieren, um sicherzustellen, dass Sie bei Verwendung der Parameter Server, Port und Host eine korrekte Null-Antwort erhalten. Es gibt viele Handbücher und Versionen, und es ist leicht zu denken Sie führen einen Port-Test durch, wenn er tatsächlich von zwischengespeicherten Ergebnissen oder Standardservern antwortet. Nachdem Sie eine Nullantwort erhalten haben, arbeiten Sie mit einer aktiven Serveradresse und einem aktiven Port. Aktive Ports können auf openwrt mit netstat -plnt angezeigt werden. Beachten Sie jedoch, dass einige Routerbefehle möglicherweise zuerst installiert werden müssen. Der tor-Dienst, den ich an Port 9053 eingestellt habe, wird hier nicht angezeigt, funktioniert jedoch nach dem Hinzufügen von DNSPort 127.0.0.1:9053 zur Torrc-Datei. Das nslookup-Format auf dieser Plattform akzeptiert [Host] - und [Server] -Parameter. Ich kann dns mit nslookup cnn.com 127.0.0.1 # 9053 testen. Ich kann dnscrypt mit dem Befehl nslookup cnn testen. com 127.0.0.1 # 5353 Wenn Sie zu ungültigen Portnummern oder Domänen wechseln, wird eine Antwort angezeigt. ; Zeitüberschreitung der Verbindung; Es konnten keine Server erreicht werden. Dig funktioniert auch auf openwrt, muss jedoch aus dem bind-dig-Paket installiert werden. dig -q 127.0.0.1 -p 9053 www.bbc.com Und für ungültige Ports erneut fehlgeschlagen. In meinem Fall wurde das Problem behoben, als ich die Einträge in / etc / config / network geändert und die Option dns '127.0.0.1' für Netzwerke eingestellt habe, in denen ich zuvor dort unsichere dns-Einträge verwendet habe.

0
Zaspam Akaunt

Für Windows finden Sie in dem folgenden Artikel folgende Informationen: https://technet.microsoft.com/de-de/library/ff394369.aspx

Willkommen bei Super User! Während die Frage theoretisch beantwortet werden kann, ist es [bevorzugt] (// meta.stackoverflow.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. bertieb vor 6 Jahren 1