Zum Hauptinhalt springen

DNS-Abfrage auf Mac, iPhone und iPad, ohne Terminal

A, AAAA, MX, CNAME, NS und TXT in einer Abfrage auf macOS; diese sechs plus SOA auf iPhone und iPad. Überall gratis, ohne Werbung und Konto.

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.

Ein A-Record wurde vor zwanzig Minuten geändert, und die Seite löst immer noch auf die alte Adresse auf. Mail wird nicht mehr zugestellt, und niemand ist sicher, ob der MX-Record die letzte Registrar-Migration überlebt hat. Ein Anbieter schwört, sein TXT-Verifizierungs-Record sei veröffentlicht, und Ihr Provisionierungs-Job widerspricht. Auf einem Mac mit Terminal sind das Fünf-Sekunden-Fragen: dig, host, nslookup. Fern von diesem Mac werden sie ernsthaft unangenehm. macOS selbst hilft kaum noch. Der Lookup-Tab des Netzwerkdienstprogramms wurde in Big Sur als veraltet markiert, war ab Monterey funktionslos, und die App fehlt in aktuellen macOS-Versionen schlicht. Auf iPhone und iPad gibt es überhaupt kein Terminal, jede DNS-Frage braucht dort also eine App. SSHives DNS Lookup beantwortet die Frage direkt. Hostnamen eintippen, Records als Tabelle zurückbekommen. Eine Suche löst unter macOS sechs Abfragen parallel aus: A, AAAA, CNAME, MX, TXT und NS. Jede läuft unabhängig, eine Domain ohne einen dieser Typen liefert also trotzdem alles andere, statt zu scheitern. Auf iPhone und iPad startet derselbe Bildschirm diese sechs plus SOA, aufgelöst über den System-Resolver. Wir sagen diesen Unterschied klar, weil er andersherum läuft, als man erwartet: Das Telefon liefert einen Record-Typ mehr als der Mac, nicht weniger, und es zeigt die TTL jeder Antwort. Und nichts davon steckt hinter einer Bezahlschranke: Die gesamte Netzwerkwerkzeug-Suite, DNS Lookup eingeschlossen, ist auf Mac, iPhone und iPad kostenlos. Pro deckt SSH-, SFTP-, RDP- und VNC-Funktionen ab, nicht die Diagnose. Wichtiger als das Werkzeug ist meist zu wissen, was die Antwort bedeutet. Dafür ist der Rest dieser Seite da.

Was SSHive dabei leistet

Sechs Record-Typen, eine Abfrage

Unter macOS löst eine einzige Suche sechs parallele Abfragen aus: A, AAAA, MX, CNAME, NS und TXT. Jede wird unabhängig behandelt, eine Domain ohne CNAME oder ohne IPv6 liefert also trotzdem alles andere, statt in einen Fehler zu laufen. Die Ergebnisse landen in einer Typ/Wert-Tabelle in fester, vorhersehbarer Reihenfolge.

Sieben Record-Typen auf iPhone und iPad

Mobil erfolgt die Auflösung über den BSD-Resolver und liefert A, AAAA, CNAME, MX, TXT, NS und SOA, dedupliziert, nach Typ gruppiert, mit farbcodiertem Abzeichen, der TTL des Records und einer Kopiertaste an jedem Wert. Die sieben Abfragen laufen nacheinander statt parallel. Für das Mail-Routing steht daneben ein eigenes MX-Lookup-Werkzeug.

Funktioniert auch in der Mac-App-Store-Version

DNS Lookup läuft in der Mac-App-Store-Version, auf dem iPhone und auf dem iPad identisch. Eine DNS-Abfrage ist gewöhnlicher ausgehender Client-Verkehr, es gibt also nirgends eine Sandbox-Sperre und keinen eingeschränkten Modus: kein Entitlement, über das zu streiten wäre, und keine Plattform, auf der das Werkzeug weniger antwortet als anderswo.

Ihr Resolver, nicht die API eines Dritten

Die Abfragen gehen an die DNS-Server, die Ihr Gerät ohnehin verwendet. Die Desktop-Version spricht das DNS-Wire-Protokoll direkt mit ihnen; mobil läuft es über den Auflösungspfad des Betriebssystems. Nichts wird über einen Webdienst Dritter geleitet, kein Analyseanbieter und kein API-Zwischenhändler sieht also, welche Domains Sie nachschlagen (das sieht nur der Resolver, den Ihr Gerät ohnehin verwendet), und die Antwort spiegelt wider, was diese Maschine tatsächlich auflösen wird.

Diagnostizieren, dann beheben, in derselben App

DNS Lookup sitzt im selben Fenster wie Ihre SSH-Sitzungen. Bestätigen Sie, dass der A-Record falsch ist, öffnen Sie dann eine Shell auf dem Nameserver und korrigieren Sie die Zone, ohne App-Wechsel, ohne den Hostnamen erneut zu tippen. Auf einem iPhone um 3 Uhr nachts ist das der Unterschied zwischen eine Meldung bestätigen und etwas dagegen tun können.

Auf jeder Plattform kostenlos

Alle sechs Netzwerkwerkzeuge (DNS-Abfrage, Ping, Traceroute, Whois, MX-Abfrage und DNSBL-Blacklist-Prüfung) sind auf Mac, iPhone und iPad kostenlos, ohne Werbung und ohne Konto. Pro ist ein Einmalkauf (etwa 14,99 €, als Universal Purchase für Mac, iPhone und iPad), der die Grenzen der Gratisversion aufhebt und RDP und VNC freischaltet. Die Diagnose sperrt er nicht.

So gehen Sie vor, Schritt für Schritt

  1. 1

    Die Netzwerkwerkzeuge unter macOS öffnen

    Klicken Sie in der Seitenleiste auf das Netzwerksymbol (sein Tooltip lautet Netzwerkwerkzeuge) oder auf die Schaltfläche Netzwerkwerkzeuge im Willkommensbildschirm. Beides öffnet einen eigenen Tab mit dem vollständigen Diagnose-Panel.

  2. 2

    Oder den Tab Tools auf iPhone und iPad öffnen

    Tippen Sie auf dem iPhone unten in der Tableiste auf Tools. Wählen Sie auf dem iPad in der Seitenleiste Network tools. Tippen Sie im Abschnitt Diagnostic auf die zweite Zeile, DNS Lookup, mit dem Untertitel „Resolve a domain name“. Das sind die Bezeichnungen der englischen Oberfläche der App.

  3. 3

    Den Hostnamen eingeben

    Auf dem Mac ist DNS-Lookup die erste Karte des Abschnitts Auflösung und Reputation. Tippen Sie die Domain für sich allein ein: example.com, nicht https://example.com/pfad. Die Mac-App prüft den Hostnamen, bevor er den Resolver erreicht, eine eingefügte URL wird also abgewiesen statt stillschweigend verstümmelt.

  4. 4

    Die Abfrage ausführen

    Klicken Sie auf Suchen. Die Taste wechselt auf „Läuft…“, während die sechs Abfragen parallel hinausgehen; Teilantworten werden nicht verworfen, es erscheinen also Ergebnisse, auch wenn für diese Domain mehrere Record-Typen gar nicht existieren. Auf iPhone und iPad starten Sie die Abfrage genauso, und die Records kommen nach Typ in Abschnitte gruppiert zurück.

  5. 5

    Die Records lesen und kopieren

    Die Desktop-Tabelle listet Typ und Wert in fester Reihenfolge: A, AAAA, MX (Priorität, gefolgt vom Hostnamen des Mailservers), CNAME, NS, dann TXT mit zusammengefügten Segmenten. Auf dem Mobilgerät bekommt jeder Record-Typ einen eigenen Abschnitt, mit einer Kopiertaste an jedem Wert, die nach dem Kopieren zu einem grünen Häkchen wird.

  6. 6

    Bei Bedarf die Mail-Records gegenprüfen

    Wenn Sie einem Mail-Problem nachgehen, öffnen Sie als Nächstes die MX-Abfrage. Unter macOS löst sie jeden Mailserver in seine IPv4-Adressen auf, ergänzt für jede den Reverse-DNS-Namen und prüft die erste Adresse gegen acht DNSBL-Zonen: die Reverse-DNS-Ansicht, die der DNS-Lookup selbst nicht bietet.

Die Antwort lesen, und was sie Ihnen nicht sagt

A und AAAA sind die Adress-Records. Zwei A-Records sind kein Fehlerzustand: Meist ist es Round-Robin oder eine Anycast-Flotte, und der Client wählt aus. Ein AAAA, das veröffentlicht ist, während der IPv6-Pfad kaputt ist, ist die klassische Ursache von „für manche Nutzer langsam“: Happy Eyeballs verdeckt das Problem, bis es das eines Tages nicht mehr tut. Ein CNAME ist eine Umbenennung, keine Weiterleitung. Ein Name, der einen CNAME trägt, darf regelkonform keinen anderen Record-Typ tragen, aber hier eine CNAME-Zeile neben MX- oder TXT-Zeilen zu sehen, ist kein Beleg für eine kaputte Zone: SSHive fragt jeden Typ unabhängig ab und der Resolver folgt dem CNAME, diese Records gehören also meist zum kanonischen Ziel, nicht zu dem Namen, den Sie eingetippt haben. Ein CNAME am Apex (example.com selbst) ist ungültig; Anbieter, die einen anzubieten scheinen, machen serverseitig ALIAS/ANAME-Flattening. Die MX-Priorität ist eine Präferenz, keine Qualitätsrangfolge. Niedriger gewinnt. Absender versuchen zuerst die kleinste Zahl und weichen bei Fehlschlag aus; gleiche Zahlen teilen sich die Last. Ein hoch nummerierter „Backup-MX“, der Ihre Postfachliste nicht kennt, erzeugt Backscatter, keine Ausfallsicherheit. In TXT werden die Mail-Fragen entschieden. SPF am Apex (v=spf1 …), DMARC unter _dmarc.domain, DKIM unter selector._domainkey.domain. Zwei v=spf1-Records am Apex sind ein permanenter Fehler (permerror) und reichen aus, damit Ihre Mail abgelehnt wird. Lange TXT-Werte reisen in 255-Byte-Stücken; SSHive fügt sie mit Leerzeichen zusammen, ein aus der Tabelle kopierter öffentlicher DKIM-Schlüssel muss also von Leerzeichen befreit werden, bevor Sie ihn vergleichen. Die TTL ist eine Cache-Lebensdauer, kein Countdown zur weltweiten Propagierung. Propagierung gibt es nicht: Autoritative Server ändern sich sofort. Worauf Sie warten, ist, dass jeder rekursive Resolver, der die alte Antwort gecacht hat, sie verfallen lässt. Hatte der alte Record eine TTL von 24 Stunden, ist das Ihr schlimmster Fall, und die TTL nach der Änderung zu senken bringt gar nichts. Senken Sie sie 24 Stunden vorher. Die Desktop-Tabelle zeigt keine TTLs; iPhone und iPad zeigen die TTL jedes Records. Für TTL-genaue Arbeit auf einem Mac ist dig im Terminal weiterhin das richtige Instrument. Reverse DNS (PTR) beantwortet eine andere Frage und wird von dem kontrolliert, dem der IP-Block gehört, nicht vom Domaininhaber. SSHive zeigt es in den Ergebnissen der MX-Abfrage, wo es seinen Platz verdient: Eine sendende IP, deren PTR sich nicht zum selben Host zurückbestätigen lässt, ist einer der zuverlässigsten Wege, Mail abgelehnt zu bekommen. Ein zweiter ist ein Eintrag dieser IP auf einer Blacklist, den die DNSBL-Prüfung Zone für Zone abfragt.

Häufige Fragen

Kann ich auf einem iPhone ohne Terminal eine DNS-Abfrage machen?+
Ja, und eine App ist die einzige Möglichkeit: iOS liefert kein Terminal und kein erreichbares dig- oder nslookup-Binary. Tippen Sie in SSHive unten in der Tableiste auf Tools, dann im Abschnitt Diagnostic auf DNS Lookup, und geben Sie den Hostnamen ein. Auf iPhone und iPad deckt das Ergebnis A, AAAA, CNAME, MX, TXT, NS und SOA ab, dedupliziert und nach Typ gruppiert, jeweils mit TTL und Kopiertaste. Es ist kostenlos, ohne Werbung und ohne Konto.
Welche Record-Typen liefert SSHive auf welcher Plattform?+
Sechs Record-Typen in einer Abfrage unter macOS (A, AAAA, MX, CNAME, NS und TXT) und sieben auf iPhone und iPad, die SOA ergänzen und die TTL jeder Antwort zeigen. Frühere iOS-Versionen lieferten nur Adressen, weil die High-Level-Auflösungs-API Socket-Adressen statt DNS-Resource-Records zurückgibt; die App geht inzwischen direkt zum BSD-Resolver und parst den Answer-Abschnitt selbst. SRV und CAA werden weiterhin auf keiner Plattform unterstützt.
Funktioniert DNS Lookup in der Mac-App-Store-Version?+
Ja, in vollem Umfang: alle sechs Record-Typen, die der Mac abfragt. DNS-Abfragen sind gewöhnlicher ausgehender Netzwerk-Client-Verkehr, den die App Sandbox erlaubt, es gibt also keine Sperre und keinen reduzierten Funktionsumfang. Dasselbe gilt inzwischen für Ping und Traceroute, die viele einer App in der Sandbox nicht zutrauen: Sie laufen auf einem Datagramm-ICMP-Socket, der keine Root-Rechte braucht und den die Sandbox erlaubt. In dieser Suite gibt es keine Version zweiter Klasse.
Kann ich die DNS-Propagierung prüfen oder einen bestimmten Nameserver wie 8.8.8.8 abfragen?+
Nein. SSHive hat auf keiner Plattform ein Feld für einen eigenen Nameserver. Jede Abfrage geht an die Resolver, die Ihr Gerät ohnehin verwendet, was die richtige Antwort auf „was sieht diese Maschine gerade jetzt“ ist, aber nicht auf eine weltweite Resolver-Umfrage. Um eine andere Sicht abzutasten, ändern Sie die DNS-Server Ihres Geräts oder wechseln Sie zwischen WLAN und Mobilfunk, was meist auch den Resolver tauscht. Für einen Propagierungsdurchlauf über mehrere Resolver bleibt ein Web-Checker das bessere Instrument.
Zeigt SSHive TTL-Werte an?+
Auf iPhone und iPad ja: Jeder Record trägt seine TTL, weil die App den BSD-Resolver direkt abfragt und die Resource Records liest, statt über getaddrinfo zu gehen, das Socket-Adressen zurückgibt und die Caching-Metadaten verwirft. Die Desktop-Tabelle zeigt nur Typ und Wert. Wenn Sie von einem Mac aus eine Umstellung timen und exakte verbleibende Cache-Lebensdauern brauchen, ist dig im Terminal das richtige Werkzeug; die Desktop-Karte beantwortet die schnellere Frage, wie die Records gerade aussehen.
Kann ich eine Reverse-DNS-Abfrage (PTR) machen?+
Nicht als eigenständiges Werkzeug: DNS Lookup nimmt einen Hostnamen entgegen, keine IP-Adresse, und im Panel gibt es keine PTR-Karte. Dort, wo Reverse DNS wirklich am meisten zählt, zeigt SSHive es aber: Die MX-Lookup-Ergebnisse unter macOS enthalten eine rDNS-Spalte, die die IPv4-Adresse jedes Mailservers zurück in einen Namen auflöst. Das ist die Ansicht, die Sie brauchen, wenn Sie bei einem sendenden Host das forward-confirmed Reverse DNS prüfen.
Ist DNS Lookup kostenlos, oder braucht es Pro?+
Kostenlos, auf Mac, iPhone und iPad, ohne Werbung, ohne Konto und ohne Nutzungslimit. Die gesamte Netzwerkwerkzeug-Suite (DNS-Abfrage, Ping, Traceroute, Whois, MX-Abfrage und DNSBL-Blacklist-Prüfung) liegt auf jeder Plattform außerhalb der Pro-Sperre. Pro ist ein Einmalkauf von etwa 14,99 €, als Universal Purchase für Mac, iPhone und iPad, der die Grenzen der Gratisversion aufhebt und RDP und VNC freischaltet. Es gibt kein Abo.

Wie die Abfrage tatsächlich abläuft, Plattform für Plattform

Unter macOS ruft SSHive nicht die POSIX-Namensauflösungsfunktion des Systems auf. Es nutzt die Resolver-Bibliothek, die mit der Desktop-Laufzeitumgebung geliefert wird, die DNS-Nachrichten selbst baut und parst und das Wire-Protokoll direkt mit den Servern spricht, die in Ihrer Netzwerkkonfiguration eingetragen sind. Genau diese Entscheidung macht Record-Typen jenseits von Adressen überhaupt erreichbar: Die POSIX-API getaddrinfo kann nur eine Frage beantworten, „gib mir Socket-Adressen für diesen Namen“, und hat keine Möglichkeit, „gib mir die MX-Menge“ auszudrücken. Sechs Abfragen (A, AAAA, MX, CNAME, NS, TXT) gehen nebenläufig hinaus, jede mit eigener Fehlerbehandlung, sodass eine Domain ohne AAAA und ohne CNAME trotzdem ihre A- und MX-Zeilen liefert, statt die gesamte Abfrage in einen Fehlschlag zusammenfallen zu lassen. Der eingetippte Hostname wird gegen ein striktes Muster geprüft, bevor er den Resolver überhaupt erreicht. Diese Implementierung geht unangetastet durch die Mac-App-Store-Sandbox. Eine DNS-Abfrage ist gewöhnlicher ausgehender Client-Verkehr, abgedeckt vom Netzwerk-Client-Entitlement, es gibt also nichts zu umgehen. iOS hat länger gebraucht, um gleichzuziehen, und der Grund ist lehrreich. Der naheliegende Weg ist getaddrinfo mit AF_UNSPEC: die zurückgegebene addrinfo-Kette durchlaufen, jede Adresse mit inet_ntop umwandeln, deduplizieren. Das funktioniert, und es liefert Adressen und sonst nichts: Das ist die Natur der API, die Socket-Adressen statt Resource Records zurückgibt und TTLs, Authority- und Additional-Abschnitt und alles, was keine Adresse ist, verwirft. Lange Zeit war das der gesamte DNS-Bildschirm unter iOS: A und AAAA, ohne Möglichkeit, nach einer MX-Menge zu fragen. Die Lösung bestand darin, die High-Level-API aufzugeben. SSHive ruft jetzt über einen kleinen C-Helfer den BSD-Resolver in libresolv auf (res_init, dann res_query für jeden Record-Typ) und parst den Answer-Abschnitt selbst mit ns_initparse und ns_parserr, wobei komprimierte Namen mit dn_expand entpackt werden. Das liefert die sechs Typen des Mac plus SOA, jeden mit der TTL, die der Server tatsächlich gesendet hat. Keine Resolver-Bibliothek eines Dritten und keine Web-API auf dem Weg: Die Abfrage geht von Ihrem Gerät zu den Resolvern, die es ohnehin verwendet. Eine Folge davon, dem Auflösungspfad des Systems zu folgen, sollten Sie kennen: Er respektiert, was das Netz vorgibt, einschließlich DNS64/NAT64-Synthese in reinen IPv6-Mobilfunknetzen, wo Sie berechtigterweise eine AAAA-Antwort für einen Host sehen können, der nur einen A-Record veröffentlicht. Das ist kein Mangel des Werkzeugs. Es ist das Netz, das Ihnen sagt, wie Ihr Gerät sich tatsächlich verbinden wird. Was überall fehlt, klar gesagt: kein SRV und kein CAA; kein Feld für einen eigenen Nameserver; kein angezeigter DNSSEC-Validierungsstatus. Die praktische Folge sollte man verinnerlichen. SSHive beantwortet „was löst diese Maschine gerade jetzt auf“, die Frage, die Sie während eines Vorfalls tatsächlich haben, und die ein browserbasierter Checker für das Gerät in Ihrer Hand nicht beantworten kann. „Was sagt die autoritative Zone“ ist eine Frage für dig @ns1.example.com, und sie bleibt es.