Wen fragt Linux, wenn Sie ein Whois durchführen?


11

Wenn Sie das tun:

$ whois stackoverflow.com

Führt Ihr Linux zuerst eine DNS-Abfrage durch, findet die IP von stackoverflow.com und fragt dann direkt dort nach den Informationen?

Oder fragt es einen "root" whois-Server (ist die IP des "root whois server" in einer Linux-Distribution ähnlich wie codiert /etc/bind/db.root?), Der dann an einen anderen whois-Server delegiert, der die Informationen bereitstellt?

Was ist der Verbindungsfluss?

my computer doing `whois ...` ---> root whois server ---> another whois server ---> information

oder

my computer doing `whois ...` ---> DNS server (?) ---> ... ?

Antworten:


12

Wenn Sie Marco d'Itri verwendenwhois , können Sie die --verboseOption hinzufügen, um zu sehen, was es tut. Bei stackoverflow.com werden zunächst whois.verisign-grs.com (siehe Liste der WHOIS-Server ) gefragt , die eine Reihe von Informationen enthält, darunter die Tatsache, dass der Registrar von Stack Overflow Name.com und dessen WHOIS ist Server ist whois.name.com; Dann wird whois.name.com gefragt.

Das Protokoll ist in RFC 3912 dokumentiert . Die whoisManpage enthält auch nützliche Hinweise.


Danke (es scheint, dass Debians Standard-Whois Marco d'Itri ist). Gibt es einen Befehl, der whoisanweist, einen anderen WHOIS-Server als verisign-grs zu verwenden? Ich habe es nicht gefunden man whois.
Basj

Noch etwas: Du hast es gesagt und dann gefragt whois.name.com. Bedeutet dies, dass jeder Registrar einen Registrar-Whois-Server haben muss? Dabei whois google.frscheint es nicht darum zu gehen, einen anderen Whois als den fest codierten Whois abzufragen, dh whois.nic.fr. Ist das richtig?
Basj

Richtig, Debians Standard whoisist Marco d'Itri (Marco ist ein Debian-Entwickler). Die Option, die Sie suchen, ist -h(siehe whois -h whois.name.com stackoverflow.com). Registrare müssen nicht alle einen WHOIS-Server haben. Nur der "maßgebliche" Registrar für eine TLD macht AFAIK. In diesem google.frFall ist der Registrar MARKMONITOR, aber die Informationen stammen von AFNIC, dem TLD-Registrar .fr.
Stephen Kitt

Danke vielmals. Das Lustige ist: Wenn whois stackoverflow.comich es tue, bekomme ich nur sehr wenige Informationen, aber wenn whois -h whois.name.com stackoverflow.comich es tue, bekomme ich viel mehr Informationen ( Admin Organization: Stack Exchange, Inc., Adresse usw.), die ich dabei nicht bekomme whois stackoverflow.com. Ist es das erwartete Verhalten von whois, dh Sie haben zuerst do whois domain.com, dann an der Whois - Server suchen, müssen Sie wiederholen eine whois -h ... domain.comweitere Informationen zu haben? Sollte whoisdas alles nicht direkt gemacht werden, wenn er einen Registrar findet, der whois ist?
Basj

Sie sollen die gleichen Informationen bekommen, weil whois stackoverflow.com sie gehen und whois.name.com selbst (zumindest tut es in der Version 5.2.17) fragen. Möglicherweise treten Probleme mit der Ratenbegrenzung auf. Whois.name.com blockiert Sie vorübergehend, wenn Sie zu viele Anforderungen stellen (es wird jedoch eine Fehlermeldung angezeigt). Wenn ich sie entleere whois stackoverflow.comund whois -h whois.name.com stackoverflow.comvergleiche, erhalte ich in beiden Fällen genau die gleiche Ausgabe von name.com.
Stephen Kitt

11

Stephen hat die Kernteile beantwortet, aber Sie haben noch einige andere Punkte, die ich ansprechen möchte:

  1. Whois ist ein schlecht definiertes Protokoll. Es gibt keine Hierarchie, kein Root-Whois usw. Tatsächlich gibt es in whois-Systemen nichts mit DNS zu tun. Sie sollten sie zunächst vollständig in Ihrem Kopf trennen, da sie ihre Daten aus derselben Quelle (der Registrierung) beziehen Datenbank) arbeiten sie völlig unabhängig.
  2. Jede TLD-Registrierung funktioniert in dieser Hinsicht anders. gTLDs sind ein Fall für sich: Gemäß ICANN-Vertrag ist derzeit jeder Registrar verpflichtet, einen whois-Server zu beauftragen, der auf alle von ihm behandelten Namen antwortet. Die Register haben die gleichen Anforderungen. Die Registry-Whois-Ausgabe listet den Registrar-Whois-Server auf (aber wie ich oben in einem Kommentar geschrieben habe, hat sich dies in letzter Zeit leicht geändert - ohne guten Grund - was viele Whois-Clients kaputt gemacht hat), hauptsächlich aus einem historischen Grund, der bald verschwinden wird: in der Vergangenheit (und jetzt noch für .COM / .NET - .JOBS wurde kürzlich gewechselt, befand sich aber zuvor im selben Boot, siehe https://www.icann.org/resources/pages/thick-whois-transition-policy-2017- 02-01-de) Registries, bei denen "dünn" ist, was bedeutet, dass die Registry keine Daten über die Kontakte speichert, sondern nur der Registrar. Das heißt, wenn Sie wirklich Daten über den Domainnamen haben und herausfinden möchten, an wen Sie sich bei Problemen wenden können (was das ursprüngliche Ziel des whois-Protokolls war und immer noch ist), müssen Sie zuerst den whois-Server der Registrierung abfragen Holen Sie sich die grundlegenden Informationen und ermitteln Sie den Whois-Server des Registrars. Wenden Sie sich dann an diesen Whois-Server des Registrars, um Zugriff auf alle Kontaktinformationen zu erhalten. Dies erklärt, warum die Registrierungsausgabe von .COM / .NET heute nur Daten zu Domain-Nameservern, -Daten und -Status enthält. Und der Registrar whois Servername, dem whois Client zu folgen versucht, aber manchmal nicht kann, weil sich die Dinge ändern (siehe meinen Kommentar oben)
  3. ccTLDs funktionieren fast immer nicht so, selbst wenn Sie Registrare verwenden, wenn Sie den Registrierungs-Whois-Server abfragen, erhalten Sie alle erforderlichen Ergebnisse zurück, und selbst wenn einige fehlen (z. B. aus Datenschutzgründen), müssen Sie den Whois-Server der Registrare nicht als abfragen Sie werden von den Registern nicht beauftragt, es für die von ihnen behandelten ccTLDs auszuführen (einige Registrare tun dies jedoch trotzdem). Dies erklärt beispielsweise Ihre Beobachtung für einen .frDomainnamen.
  4. Einige Whois-Clients geben Hardcode-Adressen von Whois-Servern an, andere versuchen es whois.nic.$TLDstandardmäßig, die häufig als Registrierung von $TLDhäufig nic.$TLDals primären Betriebsdomänennamen fungieren.
  5. IANA übernimmt die Liste der Registrierungsstellen bei https://www.iana.org/domains/root/db und in jeder Registrierungsseite, wie https://www.iana.org/domains/root/db/fr.html Sie In einer Zeile wird WHOIS Serverder whois-Server aufgeführt, der sich auf die ausgewählte Registrierung bezieht. Bitte beachten Sie jedoch, dass es manchmal veraltet oder falsch sein kann. Sie können auch auf diese Daten zugreifen, indem Sie eine whois-Abfrage für eine TLD durchführen. whois.iana.orgSie erhalten dann Daten über die relevante Registrierung, einschließlich des whois-Servers im whoisSchlüssel.
  6. Es gibt noch einen anderen Trick. Wenn Sie eine DNS-Abfrage durchführen (aber bitte 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 $TLDals CNAME-Eintrag. Einige whois-Clients verwenden diesen Trick möglicherweise, aber ich bezweifle ihn (der GNU- whoisClient ist möglicherweise einer von ihnen, oder es ist der FreeBSD-Client). Beachten Sie, dass diese Initiative rein privat ist und, selbst wenn dies der Fall sein sollte, nicht von Top-Behörden wie ICANN oder IANA durchgeführt wird, die an all dem beteiligt sind. Zum Beispiel dig uk.whois-servers.net +shortgeben Sie : whois.nic.uk.. Der Reiz dabei ist, dass es aktualisiert werden sollte, wenn sich dies ändert (sehr selten) oder (häufiger), wenn neue Registrierungen / TLDs live geschaltet werden.
  7. Einige Registries veröffentlichen ihren Endpunkt SRVder whois-Serveradresse unter Verwendung des dedizierten DNS-Eintragstyps, um anzugeben, wo ein Domänenname einen bestimmten Dienst verarbeitet. Wenn Sie dies tun, erhalten dig _nicname._tcp.fr +shortSie in der Tat, 0 0 43 whois.nic.fr.was neben zwei ersten Nummern, die nicht verwendet werden (aber für den Lastenausgleich / Failover verwendet werden könnten), die Portnummer ( 43) und den Servernamen, whois.nic.fran den Sie sich wenden müssen, um zu erhalten nicname, dh den whoisDienst unter seiner Nummer offizieller eingetragener Name ( https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml ) für diefrDomain. Es wird nicht von vielen Registern verwendet, aber es sollte sein, dass SRV-Einträge genau diesen verteilten Mechanismus zur automatischen Erkennung bereitstellen, der sogar auf jeder Ebene des DNS-Baums funktioniert, sodass er für Registrierungen und "Unter" -Registries usw. Funktioniert .

Beachten Sie, dass sich viele der oben genannten Punkte ändern, sobald RDAP, ein neueres Protokoll, whois ersetzt. Es wird bereits von mehreren RFCs definiert und von einigen Registern verwendet (in der Produktion für RIRs, in Experimenten für einige Domainnamenregister), ist jedoch noch nicht vertraglich gezwungen, von Registern und Registraren (aus nicht technischen Gründen) in der gTLD verwendet zu werden world- und ccTLD-Registries scheinen nicht bereit zu sein, ihre aktuellen whois-Server zu verlassen, um stattdessen RDAP-Server zu installieren.


2

Ihr WHOIS-Client fragt einen WHOIS-Server (auf TCP-Port 43) und antwortet direkt. Der WHOIS-Client von Debian verfügt über eine fest codierte Liste von Servern, von denen er automatisch auswählt. IANA hat auch einen WHOIS-Dienst.

Quelle: RFC 3912


Vielen Dank. Ist die tld_serv_listDatei in einem Debian nicht verfügbar? Ich habe in meinem Dateisystem gesucht, kann es aber nicht finden. Bedeutet dies, dass es in der whois-Binärdatei kompiliert ist /usr/bin/whois?
Basj

1
Es ist in der Tat in die Binärdatei kompiliert (siehe die Ausgabe von strings /usr/bin/whois).
Stephen Kitt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.