nslookup auf dem Mac: DNS-Lookup-Befehle und wann welcher zu verwenden ist

Anleitung zur Verwendung von nslookup, dig und host auf dem Mac für DNS-Lookups. Mit praxisnahen Beispielen zum Prüfen der Propagierung, MX-Einträgen und zum Debuggen falscher IP-Adressen.

Sie müssen einen DNS-Eintrag prüfen. Vielleicht haben Sie den Hosting-Anbieter gewechselt und möchten bestätigen, dass Ihre Domain auf den neuen Server zeigt. Vielleicht werden E-Mails zurückgewiesen und Sie vermuten ein MX-Eintrag-Problem. Oder eine Website lädt den falschen Inhalt und Sie versuchen herauszufinden, ob es ein DNS-Problem ist oder etwas anderes.

macOS hat drei integrierte Terminal-Befehle für DNS-Lookups: nslookup, dig und host. Sie alle fragen DNS ab, präsentieren die Ergebnisse jedoch unterschiedlich und eignen sich für verschiedene Situationen.

Was ein DNS-Lookup tatsächlich tut

Wenn Sie einen Domainnamen in Ihren Browser eingeben, fragt Ihr Mac einen DNS-Resolver (normalerweise den Ihres Internetanbieters oder einen öffentlichen wie 1.1.1.1), diesen Namen in eine IP-Adresse zu übersetzen. Der Resolver schlägt die Antwort nach und Ihr Computer verbindet sich mit dieser IP.

Ein DNS-Lookup ermöglicht es Ihnen, diese Übersetzung selbst durchzuführen und das Ergebnis zu untersuchen. Sie können sehen, welche IP eine Domain auflöst, welche Mailserver ihre E-Mails verarbeiten und welche Nameserver für sie autoritativ sind. Das deckt die meisten alltäglichen Debugging-Situationen ab.

Wichtige Eintragstypen:

  • A: IPv4-Adresse (der Haupttyp, den Sie nachschlagen werden)
  • AAAA: IPv6-Adresse
  • MX: Mailserver mit Priorität
  • CNAME: Alias, der auf eine andere Domain verweist
  • TXT: Texteinträge, verwendet für SPF, DKIM, Domain-Verifizierung
  • NS: Nameserver, die für die Domain autoritativ sind

nslookup auf dem Mac: der vertraute Ausgangspunkt

nslookup ist der Befehl, zu dem die meisten zuerst greifen. Er existiert auf jedem Betriebssystem, sodass die Syntax vertraut ist, wenn Sie woanders DNS-Lookups durchgeführt haben.

Einfacher A-Eintrag-Lookup

nslookup google.com

Die Ausgabe zeigt den DNS-Server, der geantwortet hat, und die IP-Adresse. Die Zeile „Non-authoritative answer" bedeutet nur, dass das Ergebnis aus einem Cache kam, nicht von den eigenen Nameservern der Domain. Das ist normal.

Einen bestimmten Eintragstyp nachschlagen

nslookup -type=MX google.com

Ersetzen Sie MX durch jeden Eintragstyp: A, AAAA, CNAME, TXT, NS, SOA. Zum Beispiel zur Prüfung von SPF und DKIM bei E-Mail-Problemen:

nslookup -type=TXT google.com

Einen bestimmten DNS-Server abfragen

Hier wird nslookup wirklich nützlich. Anstatt Ihren Standard-Resolver zu fragen (der möglicherweise alte Daten gecacht hat), können Sie einen bestimmten Server direkt abfragen:

nslookup google.com 8.8.8.8
nslookup google.com 1.1.1.1

Mehrere Server abzufragen lässt Sie sehen, ob sich DNS-Änderungen propagiert haben. Wenn 8.8.8.8 Ihre neue IP zeigt, aber 1.1.1.1 noch die alte, ist die Propagierung noch im Gange.

nslookup im interaktiven Modus

Geben Sie nslookup ohne Argumente ein und Sie erhalten eine Eingabeaufforderung. Von dort aus können Sie mehrere Abfragen ausführen, ohne den Befehl neu eingeben zu müssen:

> set type=MX
> google.com
> set type=A
> example.com
> exit

Der Hauptnachteil von nslookup ist, dass seine Ausgabe informative Meldungen mit tatsächlichen Ergebnissen vermischt. Die Formatierung ist je nach Eintragstyp inkonsistent, was es schwerer macht, auf einen Blick zu verstehen.

dig: das Power-Tool für DNS auf dem Mac

dig (Domain Information Groper) ist das bevorzugte Tool für Sysadmins und Entwickler, die regelmäßig DNS-Debugging betreiben. Die Ausgabe ist strukturiert und konsistent, und die Steuerungsoptionen gehen weit über nslookup hinaus.

Einfacher Lookup

dig google.com

Die Ausgabe ist standardmäßig ausführlich: die Frage, die Sie gestellt haben, der Antwortbereich, das Timing und der Server, der geantwortet hat. Diese zusätzlichen Informationen sind beim Debugging nützlich, da Sie genau sehen können, was zurückgegeben wurde und wie lange es dauerte.

Nur die Antwort mit +short erhalten

Wenn Sie eine schnelle Antwort ohne die umgebenden Details möchten:

dig google.com +short

Dies gibt nur die IP-Adresse aus. Gut für Scripting oder wenn Sie nur das Ergebnis wissen möchten:

dig google.com MX +short

Gibt die MX-Einträge mit Prioritäten zurück, einen pro Zeile.

Spezifische Eintragstypen abfragen

dig google.com MX
dig google.com TXT
dig google.com NS
dig google.com AAAA

Einen bestimmten DNS-Server abfragen

dig @8.8.8.8 yourdomain.com
dig @1.1.1.1 yourdomain.com
dig @9.9.9.9 yourdomain.com

Die @-Syntax gibt den Resolver an. Das ist der sauberste Weg, die DNS-Propagierung über mehrere öffentliche Resolver zu prüfen.

Den vollständigen Auflösungspfad verfolgen

dig google.com +trace

Dies durchläuft die gesamte DNS-Auflösungskette: Root-Server, TLD-Server, dann die autoritativen Nameserver für die Domain. Wenn DNS irgendwo in der Kette kaputt ist, zeigt +trace genau, wo es scheitert.

DNSSEC-Validierung prüfen

dig google.com +dnssec

Fügt die DNSSEC-Signatureinträge zur Ausgabe hinzu. Nützlich, wenn Sie überprüfen, ob die DNSSEC-Einrichtung einer Domain korrekt ist, nachdem Sie sie aktiviert haben.

host: die schnell lesbare Option

host gibt saubere, für Menschen lesbare Ausgaben mit minimaler Konfiguration. Es ist die richtige Wahl, wenn Sie eine schnelle Antwort möchten und nicht die vollständigen Details benötigen, die dig liefert.

host google.com

Dies gibt A-Einträge, AAAA-Einträge und MX-Einträge in einem Schritt zurück:

google.com has address 142.250.80.46
google.com has IPv6 address 2607:f8b0:4004:c1b::65
google.com mail is handled by 10 smtp.google.com.

Für einen bestimmten Eintragstyp:

host -t MX google.com
host -t TXT google.com

host fehlen die erweiterten Optionen von dig, aber seine Ausgabe ist sofort lesbar ohne Flags.

Welches Tool wann verwenden

Befehl Am besten für Ausgabestil
nslookup Plattformübergreifend vertraut, schnelle Prüfungen Ausführlich, Meldungen vermischt
dig Propagation prüfen, Skripte, vollständige Trace Strukturiert, +short für saubere Ausgabe
host Schnelle, lesbare Antwort, keine Flags nötig Kompakt, Klartext
dig +short Skripte, Batch-Prüfungen, minimale Ausgabe Nur rohe Antwort
dig +trace DNS-Auflösungsfehler lokalisieren Vollständige Kette von Root-Servern
NetUtil GUI Kein Terminal, visuelles Durchsuchen von Records Klick-basiert, formatierte Ergebnisse

Kurzreferenz: welches DNS-Tool für welchen Anwendungsfall.

Praxisnahe Anwendungsfälle

DNS-Propagierung nach Hosting-Wechsel überprüfen

Sie haben Ihre Website auf einen neuen Server verschoben und den A-Eintrag aktualisiert. Jetzt möchten Sie wissen, ob die Änderung propagiert wurde, bevor Sie das alte Hosting kündigen.

dig @8.8.8.8 yourdomain.com +short
dig @1.1.1.1 yourdomain.com +short
dig @9.9.9.9 yourdomain.com +short

Wenn alle drei dieselbe IP zurückgeben, ist die Propagierung für die meisten Benutzer abgeschlossen. Wenn sie unterschiedlich sind, liefern einige Resolver noch gecachte alte Daten.

Um zu sehen, wie lange dieser Cache bestehen bleibt, prüfen Sie den TTL:

dig @1.1.1.1 yourdomain.com

Im Antwortbereich ist die Zahl zwischen dem Eintragnamen und dem Eintragstyp der TTL in Sekunden. Ein TTL von 300 bedeutet, dass der Cache in 5 Minuten geleert wird. Ein TTL von 86400 bedeutet, dass Sie möglicherweise 24 Stunden warten.

E-Mail-Zustellbarkeit mit MX-Einträgen debuggen

E-Mails kommen nicht an. Bevor Sie in SMTP-Logs graben, bestätigen Sie, dass die MX-Einträge korrekt sind:

nslookup -type=MX yourdomain.com

Oder mit dig für eine sauberere Ausgabe:

dig yourdomain.com MX +short

Die Ausgabe zeigt Ihre Mailserver-Hostnamen und ihre Prioritäten. Eine niedrigere Zahl bedeutet höhere Priorität. Wenn die Hostnamen nicht mit dem übereinstimmen, was Ihr E-Mail-Anbieter Ihnen zu setzen empfohlen hat, ist das Ihr Problem.

Prüfen Sie auch gleich TXT-Einträge für SPF und DKIM:

dig yourdomain.com TXT +short

Ihr SPF-Eintrag sieht so aus: v=spf1 include:... ~all. Wenn er fehlt oder fehlerhaft ist, werden Nachrichten deshalb als Spam markiert.

Debuggen, warum eine Website zu einer falschen IP lädt

Ihre Domain löst auf eine alte Server-IP auf, obwohl Sie den A-Eintrag vor einer Stunde aktualisiert haben.

Prüfen Sie zunächst, was Ihr lokaler Resolver sieht:

dig yourdomain.com +short

Dann prüfen Sie, was ein externer Resolver sieht:

dig @8.8.8.8 yourdomain.com +short

Wenn sie sich unterscheiden, hat Ihr lokaler Resolver die alte Antwort gecacht. Sie können entweder warten, bis der TTL abläuft, oder Ihren lokalen DNS-Cache leeren:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Wenn beide Resolver dieselbe falsche IP zeigen, wurde der A-Eintrag selbst nicht korrekt gespeichert. Melden Sie sich bei Ihrem DNS-Anbieter an und überprüfen Sie den Eintrag.

Prüfen, ob ein CNAME korrekt eingerichtet ist

dig yourdomain.com CNAME +short

Dies gibt die Zieldomain zurück, auf die der CNAME verweist. Wenn nichts zurückgegeben wird, haben Sie keinen CNAME bei diesem Namen (Sie haben möglicherweise stattdessen einen A-Eintrag, was beabsichtigt oder eine Fehlkonfiguration sein kann).

DNS-Cache unter macOS leeren

Wenn Sie den DNS-Cache Ihres Macs nach dem Ändern von Einträgen oder dem Beheben eines Auflösungsproblems leeren möchten:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Dieser Befehl funktioniert unter macOS Monterey, Ventura, Sonoma und Sequoia. Der mDNSResponder-Prozess verarbeitet die lokale DNS-Auflösung, und das Senden von HUP zwingt ihn zum Neuladen.

Nach dem Leeren führen Sie Ihren dig- oder nslookup-Befehl erneut aus und Sie sollten das frische Ergebnis sehen.

Wenn das Terminal nicht Ihr Ding ist

Apple hat das Network Utility in macOS Monterey entfernt. Damit wurde die einzige integrierte GUI für DNS-Lookups abgeschafft.

NetUtil ist ein kostenloser Ersatz. Öffnen Sie es, geben Sie eine Domain im Tab „DNS-Lookup" ein, wählen Sie einen Eintragstyp und erhalten Sie Ergebnisse in demselben Format wie beim alten Network Utility. Keine Befehle zu merken, keine Flags nachzuschlagen. Die Ergebnisse sind dieselben Daten, die Sie von dig oder nslookup erhalten würden, nur ohne den Lärm präsentiert.

Für gelegentliche DNS-Prüfungen reduziert eine GUI die Reibung. Für wiederholte Lookups oder alles, was Sie skripten möchten, bleiben Sie bei dig.

Wählen Sie das richtige Tool für die Aufgabe

nslookup eignet sich gut für schnelle Prüfungen, besonders wenn Sie damit bereits vertraut sind. dig ist besser für alles, was Propagierungsüberprüfung, Scripting oder das Vertiefen in DNS-Verhalten beinhaltet. host ist der schnellste Weg zu einer menschenlesbaren Antwort, wenn Sie einfach nur wissen möchten, zu welcher IP eine Domain auflöst.

Alle drei fragen dasselbe DNS-System ab. Die Unterschiede liegen in Darstellung und Kontrolle. Verwenden Sie dasjenige, das Ihnen die benötigten Informationen liefert, ohne Sie zu verlangsamen.