Wenn Sie das tun:
$ whois stackoverflow.com
Führt Ihr Linux zuerst eine DNS-Abfrage durch, findet die IP von stackoverflow.com und fragt die Informationen dann direkt dort ab?
Oder fragt es einen „Root“-Whois-Server (ist die IP des „Root“-Whois-Servers“ in einer Linux-Distribution fest codiert, ähnlich wie /etc/bind/db.root
?), der dann an einen anderen Whois-Server delegiert, der die Informationen weitergibt?
Wie ist der Verbindungsfluss?
my computer doing `whois ...` ---> root whois server ---> another whois server ---> information
oder
my computer doing `whois ...` ---> DNS server (?) ---> ... ?
Antwort1
Wenn SieMarco d'Itriswhois
können Sie die --verbose
Option hinzufügen, um zu sehen, was es tut. Für stackoverflow.com beginnt es mit der Abfrage von whois.verisign-grs.com (siehe dessenListe der WHOIS-Server), wodurch eine Reihe von Informationen bereitgestellt werden, unter anderem die Tatsache, dass der Registrar von Stack Overflow Name.com und sein WHOIS-Server whois.name.com ist. Anschließend fragt es whois.name.com ab.
Das Protokoll ist dokumentiert inRFC 3912. Derwhois
manpageenthält auch nützliche Hinweise.
Antwort2
Stephen hat auf die wichtigsten Punkte geantwortet, aber es gibt noch einige weitere Punkte, auf die ich eingehen möchte:
- Whois ist ein schlecht definiertes Protokoll. Es gibt keine Hierarchie, kein Root-Whois usw. Tatsächlich haben Whois-Systeme nichts mit DNS zu tun. Sie sollten sie zunächst in Gedanken vollständig voneinander trennen, denn abgesehen davon, dass sie ihre Daten aus derselben Quelle beziehen (der Registrierungsdatenbank), arbeiten sie völlig unabhängig voneinander.
- Jedes TLD-Register arbeitet in dieser Hinsicht anders. gTLDs sind ein Fall für sich: Gemäß ICANN-Vertrag ist derzeit jeder Registrar verpflichtet, einen Whois-Server zu haben, der für alle von ihm verwalteten Namen antwortet. Die Register haben die gleiche Anforderung. Die Whois-Ausgabe des Registers listet den Whois-Server des Registrars auf (aber wie ich in einem Kommentar oben schrieb, hat sich dies kürzlich leicht geändert – eigentlich ohne guten Grund –, was viele Whois-Clients kaputt gemacht hat), hauptsächlich aus einem historischen Grund, der bald verschwinden wird: In der Vergangenheit (und immer noch für .COM/.NET – hat .JOBS kürzlich irgendwie gewechselt, war aber vorher im selben Boot, siehehttps://www.icann.org/resources/pages/thick-whois-transition-policy-2017-02-01-en) Register waren „dünn“, was bedeutet, dass das Register keine Daten über die Kontakte speichert, sondern nur der Registrar. Das bedeutet, dass Sie, wenn Sie wirklich Daten über den Domänennamen haben und herausfinden möchten, wen Sie im Problemfall kontaktieren können (was das ursprüngliche Ziel des Whois-Protokolls war und immer noch ist), zuerst den Whois-Server des Registers abfragen müssen, um die grundlegenden Informationen zu erhalten und den Whois-Server des Registrars zu ermitteln, und dann diesen Whois-Server des Registrars kontaktieren müssen, um Zugriff auf alle Kontaktinformationen zu erhalten. Dies erklärt, warum die Registrierungsausgabe von .COM/.NET Ihnen heute nur Daten über Domänen-Nameserver, Daten und Status liefert. Und den Namen des Whois-Servers des Registrars, dem der Whois-Client zu folgen versucht, was ihm aber manchmal nicht gelingt, weil sich Dinge ändern (siehe meinen Kommentar oben).
- Bei ccTLDs funktioniert das fast nie so. Selbst wenn Sie Registrare verwenden, erhalten Sie durch Abfragen des Whois-Servers der Registrierungsstelle alle benötigten Ergebnisse zurück. Und selbst wenn einige fehlen (beispielsweise aus Datenschutzgründen), müssen Sie den Whois-Server der Registrare nicht abfragen, da diese von den Registrierungsstellen nicht dazu verpflichtet sind, ihn für die von ihnen verwalteten ccTLDs auszuführen (einige Registrare tun dies jedoch trotzdem). Dies erklärt
.fr
beispielsweise Ihre Beobachtung bei einem Domänennamen. - Einige Whois-Clients codieren die Adressen der Whois-Server fest, andere versuchen es
whois.nic.$TLD
mit der Standardeinstellung, die häufig als Registrierungsstelle fungiert oder häufig den primären Domänennamen als Betriebssystem$TLD
hat .nic.$TLD
- IANA verwaltet die Liste der Register beihttps://www.iana.org/domains/root/dbund auf jeder Registrierungsseite, wiehttps://www.iana.org/domains/root/db/fr.htmlSie erhalten eine Zeile
WHOIS Server
mit dem Whois-Server, der mit dem ausgewählten Register in Verbindung steht. Beachten Sie jedoch, dass dieser manchmal veraltet oder falsch sein kann. Sie können auf diese Daten auch zugreifen, indem Sie eine Whois-Abfrage für eine TLD in Richtung durchführen.whois.iana.org
Sie erhalten Daten zum entsprechenden Register, einschließlich seines Whois-Servers imwhois
Schlüssel. - Es gibt noch einen anderen Trick. Wenn Sie eine DNS-Abfrage für durchführen (aber denken Sie daran, dass dieser Punkt den ersten Punkt nicht ungültig macht),
$TLD.whois-servers.net
erhalten Sie den Namen des entsprechenden Whois-Servers für$TLD
als CNAME-Eintrag. Einige Whois-Clients verwenden diesen Trick, aber ich bezweifle es (der GNU-whois
Client könnte einer davon sein oder der FreeBSD-Client). Beachten Sie, dass diese Initiative rein privat ist und, auch wenn sie es hätte sein sollen, nicht von den obersten in das Ganze involvierten Behörden wie ICANN oder IANA gehandhabt wird. Beispielsweisedig uk.whois-servers.net +short
erhalten Sie:whois.nic.uk.
. Der Reiz daran ist, dass es aktualisiert werden sollte, wenn sich dies ändert (sehr selten) oder (öfter), wenn neue Register/TLDs online gehen. - Einige Register veröffentlichen ihren Whois-Server-Adressendpunkt, wobei
SRV
dies der dedizierte DNS-Eintragstyp ist, um anzugeben, wo ein Domänenname bestimmte Dienste verwaltet. Wenn Sie dies tun,dig _nicname._tcp.fr +short
erhalten Sie tatsächlich0 0 43 whois.nic.fr.
Folgendes, das neben den ersten beiden Zahlen, die nicht verwendet werden (aber für Lastausgleich/Failover verwendet werden könnten), die Portnummer (43
) und den Servernamen angibt, der kontaktiert werden muss , um den Dienst unter seinem offiziellen registrierten Namen (whois.nic.fr
zu erhalten .nicname
whois
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml), für diefr
Domäne. Es wird von vielen Registern nicht verwendet, hätte es aber tun sollen, da SRV-Einträge genau diesen verteilten automatischen Erkennungsmechanismus bieten, der sogar auf jeder Ebene des DNS-Baums funktioniert, sodass er für Register und „Unter“-Register usw. funktioniert.
Beachten Sie, dass sich vieles von dem oben Gesagten ändern wird, sobald RDAP, ein neueres Protokoll, Whois ersetzt. Es ist bereits in mehreren RFCs definiert und wird von einigen Registern verwendet (in der Produktion für RIRs, in Experimenten für einige Domain-Name-Register), aber es ist noch nicht vertraglich vorgeschrieben, dass Register und Registrare es verwenden (aus nicht technischen Gründen) in der gTLD-Welt, und ccTLD-Register scheinen nicht gewillt zu sein, ihre aktuellen Whois-Server aufzugeben und stattdessen RDAP-Server einzusetzen.
Antwort3
Ihr WHOIS-Client fragt einen WHOIS-Server (auf TCP-Port 43) und dieser antwortet direkt.Debians WHOIS-Clienthat einfest codierte Liste von Servernaus der es automatisch auswählt.IANA hat auch einen WHOIS-Dienst.
Quelle:RFC 3912