Eine Whois-Abfrage ermöglicht es, vielfältige Informationen über den Inhaber einer Internetdomain zu erhalten. Unter Linux ist es möglich, solche Abfragen direkt über die Kommandozeile durchzuführen. Im Folgenden erklären wir, wie das funktioniert.
Das Whois-System im Detail
Das Whois-System ist eine umfassende Sammlung von Datensätzen, die Details zum Eigentum von Domains und deren Inhabern bereitstellt. Die Internet Corporation for Assigned Names and Numbers (ICANN) ist für die Regulierung der Registrierung und des Besitzes von Domainnamen zuständig. Die eigentliche Verwaltung der Datensätze obliegt jedoch zahlreichen Unternehmen, die als Registrierungsstellen fungieren.
Jeder hat das Recht, diese Datensätze abzufragen. Bei einer solchen Anfrage bearbeitet eine der Registrierungsstellen diese und übermittelt die relevanten Informationen aus dem entsprechenden Whois-Datensatz.
Es ist hilfreich, sich mit einigen grundlegenden Begriffen vertraut zu machen:
- Registry: Eine Organisation, die eine umfangreiche Liste von Domainnamen verwaltet.
- Registrant: Der rechtmäßige Eigentümer einer Domain, auf dessen Namen die Domain registriert ist.
- Registrar: Ein Dienstleister, den der Registrant nutzt, um die Domainregistrierung durchzuführen.
Ein Whois-Eintrag beinhaltet in der Regel die Kontaktdaten der Person, des Unternehmens oder der Organisation, die den Domainnamen registriert hat. Die Fülle der Informationen kann variieren, da einige Registrierungsstellen mehr oder weniger Details zurückgeben.
Ein typischer Whois-Eintrag enthält üblicherweise:
- Name und Kontaktdaten des Registranten (Domaininhaber)
- Name und Kontaktdaten des Registrars (Organisation, die die Domain registriert hat)
- Das Datum der Registrierung
- Das Datum der letzten Aktualisierung der Daten
- Das Ablaufdatum der Registrierung
Whois-Abfragen lassen sich zwar über Webseiten durchführen, der Linux-Befehl `whois` bietet jedoch die Möglichkeit, solche Abfragen direkt von der Kommandozeile aus zu starten. Dies ist besonders nützlich bei der Arbeit ohne grafische Oberfläche oder bei der Verwendung von Shell-Skripten.
Installation von Whois
Auf Ubuntu 20.04 ist der `whois`-Befehl standardmäßig installiert. Falls dies bei Ihrer Ubuntu-Version nicht der Fall ist, kann die Installation wie folgt erfolgen:
sudo apt-get install whois
Für Fedora lautet der Befehl:
sudo dnf install whois
Unter Manjaro verwenden Sie diesen Befehl:
sudo pacman -Syu whois
Whois-Abfragen mit Domainnamen
Der `whois`-Befehl kann sowohl mit Domainnamen als auch mit Internetprotokoll (IP)-Adressen verwendet werden. Die Art der zurückgegebenen Informationen variiert dabei leicht.
Beginnen wir mit einem Beispiel für einen Domainnamen:
whois cnn.com
Die Antwort der Whois-Registrierungsstelle beginnt mit einer Zusammenfassung und wird dann mit zusätzlichen Informationen erweitert. Hier ein Beispiel, bei dem Markenerklärungen und Nutzungsbedingungen entfernt wurden:
Domain Name: CNN.COM Registry Domain ID: 3269879_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.corporatedomains.com Registrar URL: https://www.cscglobal.com/global/web/csc/digital-brand-services.html Updated Date: 2018-04-10T16:43:38Z Creation Date: 1993-09-22T04:00:00Z Registry Expiry Date: 2026-09-21T04:00:00Z Registrar: CSC Corporate Domains, Inc. Registrar IANA ID: 299 Registrar Abuse Contact Email: [email protected] Registrar Abuse Contact Phone: 8887802723 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited Name Server: NS-1086.AWSDNS-07.ORG Name Server: NS-1630.AWSDNS-11.CO.UK Name Server: NS-47.AWSDNS-05.COM Name Server: NS-576.AWSDNS-08.NET DNSSEC: unsigned
Die meisten Informationen sind selbsterklärend. Wir sehen Details zum Registrar und zur Registry, inklusive Kontaktdaten und Registrierungsdaten. Einige Einträge sind möglicherweise nicht sofort verständlich.
Die Internet Assigned Numbers Authority (IANA) überwacht und koordiniert Aspekte wie Top-Level-Domain Name System Zonen, IP-Adressierungssysteme und die Liste der Register. Der hier genannte Registrar hat die Nummer 299, wie unter „IANA ID: 299“ angezeigt.
Die Zeilen mit „Domain Status“ geben den aktuellen Zustand der Domain an, wobei auch mehrere Zustände gleichzeitig aktiv sein können. Diese sind im Extensible Provisioning Protocol definiert. Einige Zustände sind eher selten, andere werden nur in bestimmten Situationen, z.B. bei Rechtsstreitigkeiten, aktiviert.
In diesem Fall sind folgende Zustände aktiviert:
- clientTransferProhibited: Die Registrierungsstelle lehnt Anfragen zur Übertragung der Domain an einen anderen Registrar ab.
- serverDeleteProhibited: Die Domain kann nicht gelöscht werden.
- serverTransferProhibited: Die Domain kann nicht an einen anderen Registrar übertragen werden.
- serverUpdateProhibited: Die Domain kann nicht aktualisiert werden.
Die letzten drei Zustände werden üblicherweise auf Anfrage des Registranten oder bei einem Rechtsstreit aktiviert. Im vorliegenden Fall hat CNN diese vermutlich angefordert, um die Domain des Unternehmens zu schützen.
„DNSSEC“ steht für Domain Name System Security Extensions, ein Mechanismus, der es einem DNS-Resolver erlaubt, kryptografisch zu überprüfen, ob die von der DNS-Zone erhaltenen Daten gültig sind und nicht manipuliert wurden.
Hier ist der ausführlichere Teil der Antwort:
Domain Name: cnn.com Registry Domain ID: 3269879_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.corporatedomains.com Registrar URL: www.cscprotectsbrands.com Updated Date: 2018-04-10T16:43:38Z Creation Date: 1993-09-22T04:00:00Z Registrar Registration Expiration Date: 2026-09-21T04:00:00Z Registrar: CSC CORPORATE DOMAINS, INC. Registrar IANA ID: 299 Registrar Abuse Contact Email: [email protected] Registrar Abuse Contact Phone: +1.8887802723 Domain Status: clientTransferProhibited https://www.icann.org/epp#clientTransferProhibited Domain Status: serverDeleteProhibited https://www.icann.org/epp#serverDeleteProhibited Domain Status: serverTransferProhibited https://www.icann.org/epp#serverTransferProhibited Domain Status: serverUpdateProhibited https://www.icann.org/epp#serverUpdateProhibited Registry Registrant ID: Registrant Name: Domain Name Manager Registrant Organization: Turner Broadcasting System, Inc. Registrant Street: One CNN Center Registrant City: Atlanta Registrant State/Province: GA Registrant Postal Code: 30303 Registrant Country: US Registrant Phone: +1.4048275000 Registrant Phone Ext: Registrant Fax: +1.4048271995 Registrant Fax Ext: Registrant Email: [email protected] Registry Admin ID: Admin Name: Domain Name Manager Admin Organization: Turner Broadcasting System, Inc. Admin Street: One CNN Center Admin City: Atlanta Admin State/Province: GA Admin Postal Code: 30303 Admin Country: US Admin Phone: +1.4048275000 Admin Phone Ext: Admin Fax: +1.4048271995 Admin Fax Ext: Admin Email: [email protected] Registry Tech ID: Tech Name: TBS Server Operations Tech Organization: Turner Broadcasting System, Inc. Tech Street: One CNN Center Tech City: Atlanta Tech State/Province: GA Tech Postal Code: 30303 Tech Country: US Tech Phone: +1.4048275000 Tech Phone Ext: Tech Fax: +1.4048271593 Tech Fax Ext: Tech Email: [email protected] Name Server: ns-576.awsdns-08.net Name Server: ns-1086.awsdns-07.org Name Server: ns-47.awsdns-05.com Name Server: ns-1630.awsdns-11.co.uk DNSSEC: unsigned
Diese Antwort liefert im Wesentlichen die gleichen Informationen wie die Zusammenfassung, ergänzt um Angaben zum Registranten und dessen Kontaktdaten für administrative und technische Zwecke.
Der Name des Registranten wird als „Domain Name Manager“ angegeben. Unternehmen entscheiden sich gelegentlich dafür, ihre Domains über den Registrar unter einem generischen Namen, den der Registrar dafür vorhält, gegen eine Gebühr registrieren zu lassen. Dies scheint hier der Fall zu sein. Die Adresse „1 CCN Center“ lässt jedoch keinen Zweifel an der Identität des eigentlichen Registranten.
Whois-Abfragen mit IP-Adressen
Die Verwendung von `whois` mit einer IP-Adresse ist genauso einfach wie mit einem Domainnamen. Geben Sie die IP-Adresse nach dem Befehl `whois` an:
whois 205.251.242.103
Hier ist die Ausgabe von `whois`:
NetRange: 205.251.192.0 - 205.251.255.255 CIDR: 205.251.192.0/18 NetName: AMAZON-05 NetHandle: NET-205-251-192-0-1 Parent: NET205 (NET-205-0-0-0-0) NetType: Direct Allocation OriginAS: AS16509, AS39111, AS7224 Organization: Amazon.com, Inc. (AMAZON-4) RegDate: 2010-08-27 Updated: 2015-09-24 Ref: https://rdap.arin.net/registry/ip/205.251.192.0 OrgName: Amazon.com, Inc. OrgId: AMAZON-4 Address: 1918 8th Ave City: SEATTLE StateProv: WA PostalCode: 98101-1244 Country: US RegDate: 1995-01-23 Updated: 2020-03-31 Ref: https://rdap.arin.net/registry/entity/AMAZON-4 OrgAbuseHandle: AEA8-ARIN OrgAbuseName: Amazon EC2 Abuse OrgAbusePhone: +1-206-266-4064 OrgAbuseEmail: [email protected] OrgAbuseRef: https://rdap.arin.net/registry/entity/AEA8-ARIN OrgNOCHandle: AANO1-ARIN OrgNOCName: Amazon AWS Network Operations OrgNOCPhone: +1-206-266-4064 OrgNOCEmail: [email protected] OrgNOCRef: https://rdap.arin.net/registry/entity/AANO1-ARIN OrgRoutingHandle: ADR29-ARIN OrgRoutingName: AWS Dogfish Routing OrgRoutingPhone: +1-206-266-4064 OrgRoutingEmail: [email protected] OrgRoutingRef: https://rdap.arin.net/registry/entity/ADR29-ARIN OrgRoutingHandle: IPROU3-ARIN OrgRoutingName: IP Routing OrgRoutingPhone: +1-206-266-4064 OrgRoutingEmail: [email protected] OrgRoutingRef: https://rdap.arin.net/registry/entity/IPROU3-ARIN OrgTechHandle: ANO24-ARIN OrgTechName: Amazon EC2 Network Operations OrgTechPhone: +1-206-266-4064 OrgTechEmail: [email protected] OrgTechRef: https://rdap.arin.net/registry/entity/ANO24-ARIN RTechHandle: ROLEA19-ARIN RTechName: Role Account RTechPhone: +1-206-266-4064 RTechEmail: [email protected] RTechRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN RAbuseHandle: ROLEA19-ARIN RAbuseName: Role Account RAbusePhone: +1-206-266-4064 RAbuseEmail: [email protected] RAbuseRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN RNOCHandle: ROLEA19-ARIN RNOCName: Role Account RNOCPhone: +1-206-266-4064 RNOCEmail: [email protected] RNOCRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN
Der erste Abschnitt enthält Informationen über die Organisation, der die abgefragte IP-Adresse gehört, in diesem Fall Amazon. Wir erhalten auch einige interne Identifikatoren für Amazon.com, Inc. von der Registrierungsstelle.
Der zweite Abschnitt gibt die Adresse und den Namen des Registranten, Amazon.com, Inc. Die Webadresse im Feld „Ref:“ führt zu den gleichen Informationen im JavaScript Object Notation (JSON)-Format.
Die folgenden Abschnitte enthalten Kontaktdaten für die Meldung von Problemen, die sich auf Missbrauch, Netzwerkbetrieb, Routing etc. beziehen.
Verwendung von Whois in Skripten
Um `whois` in Skripten zu nutzen, nehmen wir an, wir möchten die Ablaufdaten einer Liste von Domains überprüfen. Dies ist mit einem kleinen Shell-Skript möglich.
Erstellen Sie eine Datei namens „get-expiry.sh“ mit folgendem Inhalt:
#!/bin/bash DOMAIN_LIST="wdzwdz.com reviewgeek.com lifesavvy.com cloudsavvyit.com" echo "Expiration dates:" for domain in $DOMAIN_LIST do echo -n "$domain :: " whois $domain | grep 'Expiration' | awk '{print $5}' done
Machen Sie das Skript ausführbar mit dem Befehl `chmod`:
chmod +x get-expiry.sh
Führen Sie das Skript mit seinem Namen aus:
./get-expiry.sh
Das Ablaufdatum wird aus der `whois`-Antwort extrahiert, indem `grep` verwendet wird, um Zeilen mit der Zeichenkette „Expiration“ zu finden und dann `awk`, um das fünfte Element der Zeile auszugeben.
Komfort und Automatisierung
Zwar sind Whois-Abfragen auch online möglich, der `whois`-Befehl im Terminal und in Skripten bietet jedoch Bequemlichkeit, Flexibilität und die Möglichkeit, Teile der Arbeitslast zu automatisieren.