Zum Hauptinhalt springen

Whois auf Mac, iPhone und iPad: wem eine Domain gehört, und bis wann

SSHive öffnet die TCP-Verbindung zum Whois-Server auf Port 43 selbst: keine Web-API dazwischen, kein Dritter, der Ihre Abfragen protokolliert.

Von Lucas Russo, Entwickler von SSHive · Aktualisiert am

Auch auf iPhone und iPad

Die App für iPhone und iPad gibt es auf Englisch, Französisch und Spanisch, nicht auf Deutsch; die Sprache stellen Sie in den Einstellungen der App ein. Die Mac-App ist auf Deutsch.

Eine Domain löst nicht mehr auf, eine Zertifikatserneuerung scheitert, oder eine Missbrauchsbeschwerde landet bei Ihnen und zeigt auf eine IP-Adresse, die Sie noch nie gesehen haben. Die erste Frage ist immer dieselbe: Wer steckt dahinter, und wann läuft das ab? Auf einem Mac öffnete man früher das Netzwerkdienstprogramm, klickte auf den Whois-Tab und tippte die Domain ein. Diesen Tab gibt es nicht mehr: Apple hat das Netzwerkdienstprogramm in Big Sur als veraltet markiert, und auf aktuellem macOS existiert die App nicht mehr. Auf einem iPhone gab es von vornherein nie ein Terminal, whois example.com war dort also nie eine Option. Was die meisten stattdessen tun: eine Whois-Website öffnen. Das funktioniert, heißt aber, dass die Domain, die Sie untersuchen (und die IP der Maschine, von der aus Sie das tun), über den Server eines Dritten läuft, dessen Ratenbegrenzungen abbekommt und umformatiert oder gecacht zurückkommt, auf eine Weise, die verdeckt, was die Registry tatsächlich geantwortet hat. Mehrere iOS-Whois-Apps machen hinter den Kulissen genau dasselbe: Sie rufen eine REST-API eines Dritten auf und stellen deren JSON dar. SSHive nicht. Es spricht das WHOIS-Protokoll selbst: RFC 3912, eine schlichte TCP-Verbindung zu Port 43, eine mit CRLF abgeschlossene Abfragezeile, und der Server antwortet in freiem Text, bis er den Socket schließt. Das ist das gesamte Protokoll. Weil nichts an /usr/bin/whois delegiert wird und keine Raw-Sockets im Spiel sind, braucht Whois nichts als eine ausgehende TCP-Verbindung; es läuft also gleichermaßen in der Mac-App-Store-Version und auf iPhone und iPad, ohne Sandbox-Ausnahmen. Beide sprechen das Protokoll direkt; sie unterscheiden sich darin, wo sie die Verweiskette beginnen, wie der nächste Abschnitt erklärt. Das Werkzeug ist auf jeder Plattform kostenlos. Keines von SSHives Netzwerkwerkzeugen hängt auf irgendeinem Gerät an einer Lizenzprüfung.

Was SSHive dabei leistet

Direktes TCP auf Port 43, ohne Zwischenstation

SSHive öffnet die WHOIS-Verbindung selbst: in der Mac-App ein Node-Socket auf Port 43, auf iPhone und iPad eine NWConnection. Die Abfrage geht an den Registry- oder Registrar-Server, und die Antwort kommt zu Ihrem Gerät zurück. Kein Proxy von uns liegt dazwischen, und keine REST-API eines Dritten sieht, welche Domains Sie nachschlagen.

Eine Registry-Tabelle, die einen Umweg spart

Auf dem Mac führt SSHive eine Tabelle bekannter Registry-Server: .com und .net zu Verisign, .org zu PIR, .fr zur AFNIC, .de zur DENIC, .uk zu Nominet, dazu .io, .ca, .jp, .eu, .it und weitere. Bekannte TLDs gehen direkt an die richtige Registry, statt zuerst die IANA zu fragen. Alles Unbekannte fällt auf whois.iana.org zurück.

Verweisen bis zum Registrar folgen

Dünne Registries wie Verisign halten nur den Registrar, die Datumsangaben und die Nameserver. SSHive liest den Verweis aus der Antwort und fragt erneut: bis zu drei Sprünge auf dem Mac, wobei es die Zeilen refer:, Registrar WHOIS Server: und ARINs ReferralServer: rwhois:// erkennt. Jeder Sprung wird in der Ausgabe angezeigt. iPhone und iPad beginnen bei der IANA und folgen den Verweisen von dort aus.

Aufbereitete Zusammenfassung und der unveränderte Text

Die Desktop-Version extrahiert Domain, Registrar und Registrar-Website, Erstellungs-, Änderungs- und Ablaufdatum, Organisation, Kontakt, Land, E-Mail, DNSSEC, Abuse-E-Mail, Nameserver und Statuscodes und zeigt nur die Felder, die der Server tatsächlich geliefert hat. Ein Ablauf in weniger als sechzig Tagen wird bernsteinfarben hervorgehoben. „Rohdaten anzeigen“ zeigt die Antwort wortwörtlich, und „Kopieren“ legt sie in die Zwischenablage.

IP-Whois über die ARIN

Tippen Sie auf dem Mac eine IPv4-Adresse in Punktnotation ein: SSHive erkennt sie, setzt bei der ARIN an und nutzt deren Abfrageform n <ip>, und folgt dann der ReferralServer-Zeile weiter zu RIPE, APNIC, LACNIC oder AFRINIC, wenn der Block außerhalb der ARIN-Region liegt. Sie bekommen den Netzblock, den CIDR-Bereich und die haltende Organisation. Es gibt keine manuelle RIR-Auswahl: Die Verweiskette entscheidet.

Dieselbe Abfrage auf iPhone und iPad

Auf iPhone und iPad liegt Whois im Tab Tools, im Abschnitt Diagnostic (so heißen sie in der englischen Oberfläche der App). Das Ergebnis beginnt mit der Domain in dicktengleicher Schrift und dem Registrar darunter, dann ein Abschnitt Dates mit Erstellung und Ablauf, dann jeder Nameserver in Kleinbuchstaben, jeweils mit einer Kopiertaste für einen Fingertipp (die Dates-Zeilen bestätigen das Kopieren mit einem Häkchen). Die vollständige Rohantwort steht darunter in einem aufklappbaren Abschnitt.

So gehen Sie vor, Schritt für Schritt

  1. 1

    Die Netzwerkwerkzeuge von SSHive öffnen

    Klicken Sie auf dem Mac auf das Netzwerksymbol in der Seitenleiste oder auf die Schaltfläche Netzwerkwerkzeuge im Willkommensbildschirm. Beides öffnet einen Werkzeug-Tab. Tippen Sie auf dem iPhone unten in der Tableiste auf Tools; wählen Sie auf dem iPad in der Seitenleiste Network tools.

  2. 2

    Die Whois-Karte finden

    Auf dem Mac ist Whois die letzte Karte des Abschnitts Auflösung und Reputation, nach DNS-Lookup, DNSBL-Prüfung und MX-Abfrage. Auf iPhone und iPad ist Whois die vierte Zeile im Abschnitt Diagnostic, mit dem Untertitel „Information about a domain“.

  3. 3

    Eine Domain oder eine IPv4-Adresse eingeben

    Tippen Sie das Ziel in das Eingabefeld (der Platzhaltertext zeigt z. B. google.com). Eine nackte Domain funktioniert; auf dem Mac auch eine IPv4-Adresse in Punktnotation, die die Abfrage zur ARIN statt zu einer TLD-Registry leitet. Drücken Sie auf Ausführen. Abbrechen stoppt eine noch laufende Abfrage.

  4. 4

    Die Verweiskette verfolgen

    Die Desktop-Version gibt bei jeder Serverabfrage und bei jedem gefolgten Verweis eine Zeile aus, Sie erkennen also, ob die Antwort von der IANA, von der Registry oder vom Registrar kam. Jeder Sprung hat eine Wartezeit von zehn Sekunden, und nur der Rumpf der letzten Antwort wird angezeigt.

  5. 5

    Erst die Zusammenfassung lesen, dann den Rohtext

    Sehen Sie zuerst auf Registrar, Ablaufdatum (bernsteinfarben unter sechzig Tagen) und Statuscodes. Öffnen Sie dann auf dem Mac „Rohdaten anzeigen“, auf iPhone und iPad „Raw response“, um genau zu sehen, was der Server gesendet hat, einschließlich der Felder, die SSHive nicht aufbereitet. Der Link Kopieren in der Kopfzeile legt die gesamte Antwort in die Zwischenablage.

Eine Whois-Antwort lesen: Statuscodes, Datumsangaben, Nameserver und Schwärzung

Die Statuscodes sind der Teil, an dem die meisten vorbeiscrollen, und meistens stehen dort die Antworten. Jeder Code mit dem Präfix client wurde vom Registrar gesetzt; jeder mit dem Präfix server von der Registry, und nur die Registry kann ihn aufheben. clientTransferProhibited ist normal und gesund: Es ist die Transfersperre, die die meisten Registrare standardmäßig aktivieren, keine Warnung. Wichtig sind clientHold und serverHold: Eine Domain mit Hold wird vollständig aus der TLD-Zone genommen, sie löst also nicht mehr auf, obwohl die Registrierung selbst weiterhin gültig ist. Wenn eine Seite ausgefallen ist und der Apex NXDOMAIN liefert, suchen Sie nach einem Hold, bevor Sie das DNS anfassen. redemptionPeriod heißt, sie ist bereits abgelaufen und gelöscht worden; pendingDelete heißt, der Name wird in etwa fünf Tagen frei. Ein bloßes ok, ganz ohne Sperren, ist auf einer Produktionsdomain wohl schlechter als clientTransferProhibited. Creation Date ist die ursprüngliche Registrierung, nicht die letzte Verlängerung: Ein Erstellungsdatum von 2003 auf einer Domain, die letztes Jahr den Besitzer gewechselt hat, sagt nichts darüber, wer sie heute betreibt. Registry Expiry Date ist das Datum, das zählt, denn es ist der Eintrag der Registry selbst; die Desktop-Version hebt es unter sechzig Tagen bernsteinfarben hervor. Das Kundenportal Ihres Registrars zeigt oft ein späteres Datum, weil Registrare vor der Registry verlängern. Nach Ablauf bekommt eine gTLD normalerweise rund dreißig Tage Auto-Renew-Gnadenfrist, dann dreißig Tage Redemption Period mit einer saftigen Wiederherstellungsgebühr, dann fünf Tage pendingDelete. Die Nameserver werden so gezeigt, wie die Registry die Delegierung hält, also so, wie die TLD-Zone sie tatsächlich herausgibt. Vergleichen Sie diese Liste mit den NS-Records aus einer DNS-Abfrage: Eine Abweichung bedeutet entweder eine noch nicht propagierte Delegierungsänderung oder eine lame delegation, bei der der Elternteil auf Server zeigt, die nicht mehr autoritativ sind, eine klassische Ursache für sporadische Auflösungsfehler. Schwärzung ist der Normalfall, keine Ausflucht. Seit der DSGVO entfernt das gTLD-Whois Name, Anschrift, Telefonnummer und E-Mail des Inhabers, REDACTED FOR PRIVACY sagt also nichts über die Reputation einer Domain. Übrig bleibt, was die ICANN weiterhin vorschreibt: Registrar, Datumsangaben, Nameserver, Statuscodes und Registrar Abuse Contact Email. Dieses letzte Feld ist das, was Sie für eine Meldung wirklich brauchen. ccTLDs unterscheiden sich stark: Die AFNIC veröffentlicht für .fr weiterhin juristische Personen und verbirgt Privatpersonen, und die DENIC liefert für .de kaum mehr als technische Felder.

Häufige Fragen

Funktioniert Whois in der Mac-App-Store-Version von SSHive?+
Ja, und ohne jede Einschränkung. Whois braucht nichts weiter als eine ausgehende TCP-Verbindung zu Port 43, die die App Sandbox erlaubt, es gibt hier also keine Funktionslücke, und im Rest der Suite auch nicht: Ping und Traceroute senden auch aus der App-Store-Version echtes ICMP, über einen Datagramm-Socket, den die Sandbox erlaubt.
Warum zeigt das Whois auf meinem iPhone weniger Felder als auf meinem Mac?+
Weil die beiden Apps unterschiedliche Felder aufbereiten. Beide folgen der Verweiskette: Der Mac führt eine Tabelle von Registry-Servern, eine Abfrage geht also direkt an Verisign oder die AFNIC und folgt dann bis zu zwei Verweisen (drei Sprünge), um den zuständigen Registrar zu erreichen; iPhone und iPad beginnen bei der IANA und folgen den Verweisen von dort aus. Die mobile Zusammenfassung behält aber nur Registrar, Datumsangaben und Nameserver. DNSSEC, Statuscodes, Inhaberdaten und Abuse-Kontakte zeigt nur der Mac; auf iPhone und iPad öffnen Sie dafür „Raw response“.
Warum steht statt des Inhabernamens REDACTED FOR PRIVACY?+
Die DSGVO. Seit 2018 entfernen gTLD-Registries und -Registrare Name, Anschrift, Telefonnummer und E-Mail des Inhabers standardmäßig aus der öffentlichen Whois-Ausgabe, und kein Client kann sie zurückholen: Die Daten werden über Port 43 schlicht nicht gesendet. Das ist kein Hinweis darauf, dass eine Domain verdächtig wäre; es gilt praktisch für jede .com. Übrig bleiben Registrar, Datumsangaben, Nameserver, Statuscodes und die Registrar Abuse Contact Email, die der richtige Kanal für eine Beschwerde ist. Manche ccTLDs sind weniger streng: Die AFNIC veröffentlicht .fr-Registrierungen juristischer Personen weiterhin.
Kann ich ein Whois auf eine IP-Adresse statt auf eine Domain ausführen?+
Auf dem Mac ja. SSHive erkennt eine IPv4-Adresse in Punktnotation, öffnet die Abfrage bei der ARIN mit deren Syntax n <ip> und folgt dann der ReferralServer-Zeile zu RIPE, APNIC, LACNIC oder AFRINIC, wenn der Block außerhalb der ARIN-Region zugeteilt ist. Sie bekommen den Netzblock, den CIDR-Bereich und die Organisation, die ihn hält. Es gibt keine manuelle RIR-Auswahl: Die Verweiskette entscheidet. Ein Vorbehalt: rwhois-Verweise, die einen nicht standardmäßigen Port tragen, werden trotzdem auf Port 43 angewählt.
Leitet SSHive meine Abfragen über eigene Server?+
Nein. Die Verbindung geht von Ihrem Mac, iPhone oder iPad direkt zum Whois-Server der IANA, der Registry oder des Registrars. Kein SSHive-Backend liegt auf dem Weg und keine REST-API eines Dritten, wie mehrere iOS-Whois-Apps tatsächlich gebaut sind. Seien Sie klar über die Grenze dieser Aussage: Der abgefragte Whois-Server sieht weiterhin Ihre IP-Adresse, denn so funktioniert TCP. Was sich ändert, ist, dass niemand dazwischen ein Protokoll darüber führt, was Sie gefragt haben.
Ist das Whois-Werkzeug kostenlos, oder braucht es Pro?+
Kostenlos, auf Mac, iPhone und iPad. Keines von SSHives Netzwerkwerkzeugen (Whois, DNS-Abfrage, Ping, Traceroute, MX-Abfrage, Blacklist-Prüfung) hängt auf irgendeiner Plattform an einer Lizenzprüfung. SSHive Pro ist ein Einmalkauf von etwa 14,99 €, als Universal Purchase für Mac, iPhone und iPad, ohne Abo und ohne Konto, und schaltet Dinge wie RDP- und VNC-Sitzungen, mehr Tunnel und größere SFTP-Uploads frei. Die Netzwerkwerkzeuge gehören nicht dazu.
Meine Abfrage hat nichts geliefert oder hängt. Was ist schiefgelaufen?+
Drei häufige Ursachen. Die TLD steht vielleicht nicht in SSHives Registry-Tabelle, die Abfrage beginnt dann bei der IANA und hängt davon ab, dass der Verweis vorhanden und wohlgeformt ist. Die Registry begrenzt Sie vielleicht in der Rate: Whois-Server kappen wiederholte Abfragen von derselben IP, und SSHive erkennt das nicht und wartet auch nicht ab, Sie bekommen also schlicht einen abgeschnittenen oder leeren Rumpf. Oder der Server bleibt stumm: Der Mac gibt nach zehn Sekunden je Sprung auf, und auf iPhone und iPad lässt sich eine Abfrage, die zu hängen scheint, abbrechen und neu starten.

Das Protokoll hinter dem Werkzeug: RFC 3912, dünne Registries und die Apple-Sandbox

WHOIS ist in RFC 3912 definiert, und die Spezifikation umfasst knapp zwei Seiten. Sie öffnen eine TCP-Verbindung zu Port 43, senden eine einzige mit CRLF abgeschlossene Zeile und lesen, was der Server zurückschickt, bis er die Verbindung schließt. Es gibt kein Schema, keinen Content-Type, keinen Längen-Header, keine Authentifizierung und keine Verschlüsselung. Die Antwort ist freier Text, dessen Aufbau ganz allein der Betreiber festlegt, weshalb jeder Whois-Client auf der Welt ein Haufen Heuristiken ist und kein Parser. Dieser fehlende Längen-Header hat auf der Clientseite eine konkrete Folge: Das einzige verlässliche Ende-Signal ist das FIN. SSHives iOS-Implementierung schleift deshalb über NWConnection-Empfänge mit einer maximalen Länge von 65536 Bytes und hängt weiter an, bis der Stream die Vollständigkeit meldet, statt beim ersten Block aufzuhören. Die Desktop-Implementierung macht dasselbe über einen Node-Socket, mit zehn Sekunden Wartezeit je Sprung, damit ein stummer Server das Panel nicht blockieren kann. Die zweite Komplikation ist, dass die gesuchten Daten selten auf dem ersten Server liegen, den Sie fragen. Der Namensraum ist hierarchisch: Die IANA weiß, welche Registry jede TLD betreibt, die Registry weiß, welcher Registrar jede Domain betreut, und bei dünnen Registries hält nur dieser Registrar die Kontaktdaten. Verisign ist für .com und .net dünn, eine Abfrage dort liefert also Registrar, Datumsangaben und Nameserver und wenig sonst; PIR ist für .org dick und antwortet in einem Zug mit weit mehr. Der Kette zu folgen heißt, drei verschiedene Verweis-Schreibweisen zu erkennen: refer: von der IANA und der ARIN, Registrar WHOIS Server: von gTLD-Registries und ReferralServer: rwhois://host:port von der ARIN. Die Desktop-Version beherrscht alle drei und folgt bis zu drei Sprüngen, und ihre Tabelle bekannter Registry-Server lässt gängige TLDs den IANA-Sprung ganz überspringen. Die iPhone- und iPad-Version beginnt immer bei der IANA und folgt den Verweisen von dort aus, und ihre Zusammenfassung behält weniger Felder als die des Mac. Die rauen Kanten, klar benannt: Nur der Rumpf des letzten Sprungs wird gezeigt, Antworten von Zwischen-Registries werden also verworfen; rwhois-Verweise mit einem nicht standardmäßigen Port werden trotzdem auf 43 angewählt; und es gibt keine Erkennung von Ratenbegrenzungen, wer also eine Registry malträtiert, bekommt irgendwann eine Ablehnung statt Daten. Der Vorteil dieses Entwurfs ist Portabilität. Port 43 ist eine gewöhnliche ausgehende TCP-Verbindung, abgedeckt vom üblichen Netzwerk-Client-Entitlement, ohne privilegiertes Binary zum Starten und ohne Raw-Sockets zum Anfordern. Genau deshalb verhält sich Whois in der Mac-App-Store-Version, auf dem iPhone und auf dem iPad identisch. Dasselbe gilt inzwischen für Ping und Traceroute, die diese Gleichheit auf anderem Weg erreichen: nicht indem sie ICMP meiden, sondern indem sie den Datagramm-ICMP-Socket nutzen, den Darwin unprivilegierten Prozessen gewährt und den die Sandbox erlaubt.