2011-12-14 16:43:50 +0000 2011-12-14 16:43:50 +0000
162
162

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

Ich möchte eine Anfrage an einen bestimmten DNS-Server stellen, dessen IP-Adresse ich kenne. Es ist eigentlich egal, ob unter Windows oder *nix.

Unter Windows kann ich etwas tun wie:

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

Aber dabei werden die DNS-Einstellungen des lokalen Rechners verwendet. Stattdessen möchte ich einen bestimmten DNS-Server abfragen, um zu testen, ob er auf meine Anfragen korrekt oder überhaupt antwortet.

Es sollte also so etwas sein wie:

nslookup --dns-ip=8.8.8.8 superuser.com

Antworten (8)

210
210
210
2011-12-14 16:54:16 +0000

Für grundlegende A- und CNAME-Datensätze können Sie einfach

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'

eingeben, oder wenn Sie einfach nslookup ohne Parameter eingeben, können Sie viel mehr Optionen…

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
11
11
11
2011-12-14 16:50:55 +0000

Schon allein das Studium der Optionen von nslookup, die Sie anzeigen können, wenn Sie nslookup aufrufen und dann help im interaktiven Modus von nslookup eingeben, gab mir die richtige Antwort:

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
7
7
7
2015-09-22 13:20:36 +0000

Ja, C:\Documents and Settings\Anton Daneyko>nslookup superuser.com wird Ihren eigenen DNS-Server nachschlagen, um die IP-Adresse für superuser.com herauszufinden. Wenn Sie die IP-Adresse oder den Namen eines anderen DNS-Servers in die Befehlszeile eingeben, wird der angegebene DNS-Server nach der IP-Adresse von superuser.com durchsucht. Bsp.:

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 der Google-DNS-Server.

Aber beide geben “Nicht autorisierende Antworten”, da keiner von ihnen SOA ist, die für die Domäne superuser.com autorisierend ist. Beide haben eine Cache-Kopie, die von der SOA propagiert wurde. Wenn Sie den autoritativen Server fragen möchten, finden Sie zunächst den Namen der IP-Adresse des autoritativen Servers heraus, indem Sie 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

verwenden. Dies gibt eine nicht-autoritative Antwort von Ihrem lokalen DNS-Server, von der Marburger Uni, zurück, in der alle autoritativen Server für die Domäne superuser.com genannt werden. Dann können Sie den Befehl, den wir zuvor verwendet haben, um einen der 4 autoritativen Server zu fragen, wie folgt verwenden:

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 autoritative SOA-Server diesmal die IP-Adressen zurückgegeben, daher sehen Sie den Kommentar “Non-authoritative answer” nicht mehr. Dies ist besonders nützlich, wenn Sie einen neuen Domainnamen erstellt oder den Hosting-Provider gewechselt oder zu einer anderen Domain-Registrierungsstelle transferiert haben und Sie keinen Zugriff auf Ihre Website haben, da sich die neuen IP-Adressen auch nach 24 Stunden noch nicht verbreitet haben. Dann können Sie mit der SOA beginnen und überprüfen, ob Ihre korrekte IP-Adresse vom DNS-Server angegeben wird, und sie dann weiter unten im Baum verfolgen. Es ist gut zu überprüfen, ob die Google-DNS-Server die Änderungen erhalten haben, und schließlich, ob Ihr lokaler DNS-Server Ihren Domänennamen in die korrekte IP-Adresse auflösen kann.

1
1
1
2017-09-24 20:07:36 +0000

Bestimmte Datensatztypen vom angegebenen DNS-Server mit einem Befehl abrufen

Nachschlagen von anderen Datensatztypen als den von nslookup zurückgegebenen Standard-A- und AAAA- (und CNAME-) Datensätzen unter Verwendung des von Ihnen angegebenen DNS-Servers:

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

Um beispielsweise MX-Einträge für die Domäne stackexchange.com unter Verwendung des DNS-Servers 8.8.4.4 zurückzugeben, lautet der Befehl:

nslookup -q=MX stackexchange.com 8.8.4.4
1
1
1
2016-03-30 20:02:05 +0000

Um Ihren Standard-DNS-Server in nslookup zu ändern, können Sie einfach den Server ändern, indem Sie den Server NAMEorIPofDNS eingeben. In diesem Beispiel unten habe ich meinen Standard-DNS-Server (192.168.50.21) auf einen neuen (4.2.2.3)

C:\Windows\system32>nslookup

Default Server geändert: Unbekannt

Adresse: 192.168.50.21

Server 4.2.2.3

Standardserver: c.resolvers.level3.net

Adresse: 4.2.2.3

>

Jetzt bin ich bereit, Anfragen gegen 4.2.2.3 gegenüber 192.168.50.21 zu stellen

0
0
0
2018-10-05 09:42:11 +0000

Ich arbeite an Openwrt 18.06.1 ARMv6 Raspberry pi und richte sowohl tor dns als auch dnscrypt-proxy ein, hatte also ein sehr ähnliches Problem. Die Grundursache ist, dass der lokale ISP unsichere Antworten von root-servers.net abfängt, Antworten, die besagen, dass die Site nicht gefunden wurde, und dann auf ihre eigene Website umleitet. Obwohl es keine große Sicherheitslücke ist, finde ich es auch nicht besonders nützlich.

Der erste Test bei der Abfrage einer bestimmten Adresse besteht eigentlich darin, eine ungültige Adresse auszuprobieren, um sicherzustellen, dass Sie eine richtige Null-Antwort erhalten, wenn Sie die Server-, Port- und Host-Parameter verwenden. Es gibt viele Anleitungen und Versionen, und es ist leicht zu glauben, dass Sie einen Port-Test durchführen, wenn er tatsächlich von zwischengespeicherten Ergebnissen oder Standardservern antwortet. Nachdem Sie eine Null-Antwort erhalten haben, arbeiten Sie mit einer aktiven Serveradresse und einem aktiven Port. Aktive Ports können auf openwrt mit netstat -plnt angezeigt werden, aber beachten Sie, dass einige Router-Befehle möglicherweise zuerst installiert werden müssen. Der tor-Dienst, den ich auf Port 9053 eingestellt habe, wird hier nicht angezeigt, funktioniert aber trotzdem, nachdem ich DNSPort 127.0.0.1:9053 zur torrc-Datei hinzugefügt habe. Das nslookup-Format auf dieser Plattform akzeptiert die Parameter [host] und [server], und ich kann tor dns mit nslookup cnn.com 127.0.0.1#9053 testen Ich kann dnscrypt mit dem Befehl nslookup cnn testen. com 127.0.0.0.1#5353 Der Wechsel zu ungültigen Port-Nummern oder Domänen erhält eine Antwort; ; die Verbindung wurde abgebrochen; es konnten keine Server erreicht werden Dig funktioniert auch mit openwrt, muss aber aus dem Paket bind-dig installiert werden. dig -q 127.0.0.1 -p 9053 www.bbc.com Und schlägt wieder bei ungültigen Ports fehl. In meinem Fall wurde das Problem gelöst, als ich Einträge in /etc/config/network änderte und die Option dns ‘127.0.0.1’ für Netzwerke setzte, in denen ich dort zuvor unsichere dns-Einträge verwendet hatte.

0
0
0
2018-10-12 11:59:26 +0000

Was Sie bei Fenstern suchen, wird im folgenden Artikel vorgestellt: https://technet.microsoft.com/en-us/library/ff394369.aspx

0
0
0
2011-12-14 16:50:27 +0000

können Sie den primären DNS konfigurieren, der mit Ihrer Verbindung verwendet werden soll. Gehen Sie zu Ihren Verbindungseigenschaften => Internet-Procol (TCP/IP). (der Ort, an dem Sie eine statische IP festlegen können) Hier können Sie manuell festlegen, welcher DNS für jede Verbindung verwendet werden soll. Nach dem Test können Sie ihn jederzeit wieder auf den vorherigen Wert zurücksetzen.