Wie finde ich den autorisierenden Nameserver für einen Domainnamen?

StackOverflow https://stackoverflow.com/questions/38021

  •  09-06-2019
  •  | 
  •  

Frage

Wie kann ich die Ursprünge widersprüchlicher DNS-Einträge ermitteln?

War es hilfreich?

Lösung

Sie benötigen den SOA-Datensatz (Start of Authority) für einen bestimmten Domänennamen, und auf diese Weise erreichen Sie dies mithilfe der allgemein verfügbaren nslookup Befehlszeilentool:

command line> nslookup
> set querytype=soa
> stackoverflow.com
Server:         217.30.180.230
Address:        217.30.180.230#53

Non-authoritative answer:
stackoverflow.com
        origin = ns51.domaincontrol.com # ("primary name server" on Windows)
        mail addr = dns.jomax.net       # ("responsible mail addr" on Windows)
        serial = 2008041300
        refresh = 28800
        retry = 7200
        expire = 604800
        minimum = 86400
Authoritative answers can be found from:
stackoverflow.com       nameserver = ns52.domaincontrol.com.
stackoverflow.com       nameserver = ns51.domaincontrol.com.

Der Herkunft (oder primärer Nameserver unter Windows) sagt Ihnen das ns51.domaincontrol ist der Hauptnameserver für stackoverflow.com.

Am Ende der Ausgabe werden alle autorisierenden Server, einschließlich Backup-Server für die angegebene Domäne, aufgelistet.

Andere Tipps

Sie haben in Ihrer Frage den Singular verwendet, aber normalerweise gibt es mehrere autorisierende Nameserver, der RFC 1034 empfiehlt mindestens zwei.

Es sei denn, Sie meinen „primärer Nameserver“ und nicht „autorisierender Nameserver“.Die sekundären Nameserver Sind maßgeblich.

Um die Nameserver einer Domain unter Unix herauszufinden:

  % dig +short NS stackoverflow.com
 ns52.domaincontrol.com.
 ns51.domaincontrol.com.

So finden Sie heraus, welcher Server als primär aufgeführt ist (der Begriff „primär“ ist heutzutage ziemlich unklar und es gibt normalerweise keine gute Antwort darauf):

% dig +short  SOA stackoverflow.com | cut -d' ' -f1
ns51.domaincontrol.com.

Um Diskrepanzen zwischen Nameservern zu überprüfen, bevorzuge ich den alten check_soa Tool, beschrieben im Buch „DNS & BIND“ von Liu & Albitz (O'Reilly-Herausgeber).Der Quellcode ist verfügbar in http://examples.oreilly.com/dns5/

% check_soa stackoverflow.com
ns51.domaincontrol.com has serial number 2008041300
ns52.domaincontrol.com has serial number 2008041300

Dabei haben die beiden autoritativen Nameserver die gleiche Seriennummer.Gut.

Auf *nix:

$ dig -t ns <domain name>

Ich habe ein DNS-Verbreitungstool entwickelt, um diese Art von Fragen zu beantworten.

Die Quelle ist unter AGPLv3 veröffentlicht.

(Ja, die Benutzeroberfläche ist im Moment eher einfach :) )

Sie können die Nameserver einer Domain auch mit dem Befehl „host“ herausfinden:

[davidp@supernova:~]$ host -t ns stackoverflow.com
stackoverflow.com name server ns51.domaincontrol.com.
stackoverflow.com name server ns52.domaincontrol.com.

Ich habe festgestellt, dass es am besten ist, immer die Option +trace hinzuzufügen:

dig SOA +trace stackoverflow.com

Es funktioniert auch mit rekursivem CNAME, der bei einem anderen Anbieter gehostet wird.+trace Trace impliziert +norecurse, sodass das Ergebnis nur für die von Ihnen angegebene Domäne gilt.

Der Begriff, den Sie googeln sollten, ist „maßgeblich“, nicht „endgültig“.

Unter Linux oder Mac können Sie die Befehle verwenden whois, dig, host, nslookup oder mehrere andere. nslookup könnte auch unter Windows funktionieren.

Ein Beispiel:

$ whois stackoverflow.com
[...]
   Domain servers in listed order:
      NS51.DOMAINCONTROL.COM
      NS52.DOMAINCONTROL.COM

Was das Extraguthaben angeht:Ja, es ist möglich.


aryeh ist definitiv falsch, da sein Vorschlag normalerweise nur die IP-Adresse für den Hostnamen liefert.Wenn du benutzt dig, müssen Sie nach NS-Datensätzen suchen, etwa so:

dig ns stackoverflow.com

Beachten Sie, dass dies möglicherweise Ihren lokalen DNS-Server befragt und daher möglicherweise falsche oder veraltete Antworten im Cache liefert.

Wir haben eine gebaut DNS-Suchtool Das gibt Ihnen die Domain autoritative Nameserver und seine gemeinsamen DNS-Einträge in einer Anfrage.

Beispiel: https://www.misk.com/tools/#dns/stackoverflow.com

Unser Tool findet die autorisierenden Nameserver, indem es eine Echtzeit-DNS-Suche (nicht zwischengespeichert) bei den Root-Nameservern durchführt und dann den Nameserver-Verweisen folgt, bis wir die autorisierenden Nameserver erreichen.Dies ist die gleiche Logik, die DNS-Resolver verwenden, um verbindliche Antworten zu erhalten.Bei jeder Abfrage wird ein zufälliger autoritativer Nameserver ausgewählt (und identifiziert), sodass Sie widersprüchliche DNS-Einträge finden können, indem Sie mehrere Anfragen ausführen.

Sie können den Nameserver-Delegierungspfad auch anzeigen, indem Sie unten in den DNS-Suchergebnissen aus dem obigen Beispiel auf „Authoritative Nameserver“ klicken.

Beispiel: https://www.misk.com/tools/#dns/stackoverflow.com@f.root-servers.net

Sie können den Whois-Dienst nutzen.Auf einem UNIX-ähnlichen Betriebssystem würden Sie den folgenden Befehl ausführen.Alternativ können Sie dies auch im Internet unter tun http://www.internic.net/whois.html.

whois stackoverflow.com

Sie würden die folgende Antwort erhalten.

...Text hier entfernt...

Domänenserver in aufgelisteter Reihenfolge:Ns51.domaincontrol.com ns52.domaincontrol.com

Sie können nslookup oder dig verwenden, um weitere Informationen zu Datensätzen für eine bestimmte Domain herauszufinden.Dies könnte Ihnen helfen, die von Ihnen beschriebenen Konflikte zu lösen.

Leider geben die meisten dieser Tools nur den NS-Eintrag zurück, wie er vom eigentlichen Nameserver selbst bereitgestellt wird.Um genauer zu bestimmen, welche Nameserver tatsächlich für eine Domain verantwortlich sind, müssen Sie entweder „whois“ verwenden und die dort aufgeführten Domains überprüfen ODER „dig [domain] NS @[root name server]“ verwenden und das ausführen rekursiv, bis Sie die Nameserver-Listen erhalten ...

Ich wünschte, es gäbe eine einfache Befehlszeile, die Sie ausführen könnten, um DIESES Ergebnis zuverlässig und in einem konsistenten Format zu erhalten, und nicht nur das Ergebnis, das vom Nameserver selbst bereitgestellt wird.Der Zweck besteht für mich darin, etwa 330 von mir verwaltete Domänennamen abfragen zu können, damit ich genau bestimmen kann, auf welchen Nameserver jede Domäne verweist (gemäß ihren Registrareinstellungen).

Kennt jemand einen Befehl, der „dig“ oder „host“ oder etwas anderes unter *nix verwendet?

SOA-Einträge sind auf allen Servern weiter oben in der Hierarchie vorhanden, über die der Domänenbesitzer KEINE Kontrolle hat, und sie alle verweisen faktisch auf den einen autorisierenden Nameserver unter der Kontrolle des Domänenbesitzers.

Der SOA-Eintrag auf dem autorisierenden Server selbst ist hingegen nicht unbedingt für die Auflösung dieser Domäne erforderlich und kann gefälschte Informationen (oder versteckte primäre oder anderweitig eingeschränkte Server) enthalten und sollte nicht zur Bestimmung des autorisierenden Nameservers herangezogen werden für eine bestimmte Domain.

Sie müssen den Server abfragen, der für die verantwortlich ist Top-Level-Domain um zuverlässige SOA-Informationen für eine bestimmte untergeordnete Domäne zu erhalten.

(Die Informationen darüber, welcher Server für welche TLD maßgeblich ist, können von den Root-Nameservern abgefragt werden.)

Wenn Sie zuverlässige Informationen über die SOA vom TLD-Autorisierungsserver haben, können Sie den primären Nameserver selbst (denjenigen, der im SOA-Eintrag auf dem gTLD-Nameserver enthalten ist!) nach anderen NS-Einträgen abfragen und dann mit der Überprüfung aller fortfahren Diese Nameserver, die Sie durch Abfragen der NS-Datensätze erhalten haben, um zu sehen, ob bei einem anderen bestimmten Datensatz auf einem dieser Server Inkonsistenzen vorliegen.

Das alles funktioniert unter Linux und Dig viel besser/zuverlässiger als mit nslookup/windows.

Eine einfache Möglichkeit ist die Verwendung eines Online-Domain-Tools.Mein Liebling ist Domänentools (ehemals whois.sc).Ich bin mir jedoch nicht sicher, ob sie widersprüchliche DNS-Einträge lösen können.Als Beispiel dienen die DNS-Server für stackoverflow.com

  NS51.DOMAINCONTROL.COM
  NS52.DOMAINCONTROL.COM
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top