> Die vollständige Liste der Artikel steht in [llms.txt](https://docs.f3cloud.com/llms.txt). Jede Seite gibt es auch als Markdown, dazu einfach .md an die Adresse anhängen. Diese Seite als Markdown: [https://docs.f3cloud.com/de/network/nslookup-dig.md](https://docs.f3cloud.com/de/network/nslookup-dig.md).

# Die Befehle nslookup und dig – DNS-Einträge einer Domain prüfen

Die Befehle nslookup und dig zur Prüfung von DNS. So ermitteln Sie die IP-Adresse einer Domain, sehen sich MX-, TXT- und NS-Einträge an, fragen einen bestimmten DNS-Server ab, prüfen den Reverse-Eintrag PTR und gehen mit dem Befehl dig +trace die gesamte Kette der Server durch. Für Linux, macOS und Windows.

Sie haben einen Eintrag beim Registrar geändert, doch die Website wird weiterhin vom alten Server geladen. E-Mails an die Domain kommen nicht an, oder ein Dienst verlangt eine Bestätigung der Domain per TXT-Eintrag und behauptet, ihn nicht zu sehen. In all diesen Fällen müssen Sie DNS direkt fragen, was es genau jetzt antwortet. Dafür gibt es zwei Befehle, **nslookup** und **dig**. In diesem Artikel sehen wir uns an, worin sie sich unterscheiden, und lernen, Einträge verschiedener Typen abzufragen, einen bestimmten DNS-Server anzusprechen und die gesamte Kette von den Root-Servern bis zur Antwort durchzugehen. Alle Beispiele wurden auf einem Testserver mit Debian 12 ausgeführt.

***

## Warum DNS-Antworten unterschiedlich ausfallen

Wenn Sie DNS nach der Adresse einer Domain fragen, kommt die Antwort fast nie direkt von dem Server, der für diese Domain zuständig ist. Der Computer wendet sich an seinen Resolver, zum Beispiel an den Server des Providers oder an den öffentlichen `1.1.1.1`, und der Resolver gibt entweder eine Antwort aus seinem Speicher zurück oder geht die Kette durch. Zuerst fragt er einen Root-Server, dieser verweist ihn an die Server der Zone, zum Beispiel `.com`, und diese wiederum an die NS-Server der Domain selbst, auf denen die Einträge gespeichert sind. Ausführlich ist diese Kette im Artikel darüber beschrieben, wie Sie eine [Domain mit einem VPS verbinden](https://docs.f3cloud.com/de/vps/domain-to-vps.md).

Aus diesem Aufbau folgt, dass verschiedene Resolver im selben Moment unterschiedlich antworten können. Der eine hat den neuen Eintrag bereits erhalten, während der andere noch den alten aus seinem Speicher ausliefert, bis dessen Speicherdauer TTL abgelaufen ist. Deshalb lohnt es sich, bei der Prüfung die Antworten mehrerer Resolver zu vergleichen und, wenn Sie ganz sicher sein wollen, den NS-Server der Domain direkt zu fragen. Beide Befehle können das, und dig kann zusätzlich die gesamte Kette selbst durchgehen und zeigen, welcher Server was geantwortet hat.

Der Unterschied zwischen den Befehlen liegt vor allem im Komfort. **nslookup** ist fast überall vorhanden, auch unter Windows, und gibt die Antwort in einfacher Form aus. **dig** ist in Linux und macOS enthalten, zeigt die Antwort ausführlicher, mit TTL und technischen Feldern, und eignet sich besser für Skripte. Unter Debian und Ubuntu werden beide Befehle mit einem einzigen Paket installiert.

```bash
apt install -y dnsutils
```

***

## 1. Ermitteln Sie die IP-Adresse der Domain

```bash
# Ausführliche Antwort von dig, nur der Abschnitt mit der Antwort
dig example.com +noall +answer

# Nur die Adressen, ohne Überflüssiges
dig example.com +short

# Dasselbe mit nslookup, funktioniert auch unter Windows
nslookup example.com
```

Die Zahl in der zweiten Spalte der Antwort von dig ist die verbleibende TTL in Sekunden, also wie lange sich der Resolver diese Antwort noch merkt. IPv6-Adressen fragen Sie genauso mit dem Typ `AAAA` ab, zum Beispiel `dig example.com AAAA +short`.

***

## 2. Sehen Sie sich Einträge anderer Typen an

Den Typ des Eintrags geben Sie bei dig nach dem Domainnamen an, bei nslookup mit dem Parameter `-type=`.

```bash
# Mailserver der Domain, die Zahl vor dem Namen ist die Priorität
dig gmail.com MX +short

# TXT-Einträge, hier stehen oft SPF und Bestätigungscodes von Diensten
dig example.com TXT +short

# NS-Server, die die Domain bedienen
dig example.com NS +short

# Reverse-Eintrag PTR, welche Domain zu einer IP-Adresse gehört
dig -x 1.1.1.1 +short
```

<figure><img src="https://docs.f3cloud.com/img/dig-record-types.png" alt="Antworten von dig für die Einträge A, MX, TXT, den Reverse-Eintrag PTR und eine Anfrage an 8.8.8.8"><figcaption><p>Einträge verschiedener Typen in einem Fenster</p></figcaption></figure>

Bei nslookup sehen dieselben Anfragen so aus.

```bash
nslookup -type=mx gmail.com
nslookup -type=txt example.com
nslookup -type=ns example.com
```

<figure><img src="https://docs.f3cloud.com/img/nslookup-mx.png" alt="Ausgabe von nslookup -type=mx gmail.com mit der Liste der Mailserver"><figcaption><p>nslookup zeigt dieselben MX-Einträge in anderer Form</p></figcaption></figure>

***

## 3. Fragen Sie einen bestimmten DNS-Server ab

Um herauszufinden, was ein bestimmter Resolver oder der NS-Server der Domain selbst antwortet, geben Sie ihn bei dig nach `@` an, bei nslookup als letzten Parameter.

```bash
# Öffentliche Resolver von Google und Cloudflare
dig @8.8.8.8 example.com +short
dig @1.1.1.1 example.com +short

# Der NS-Server der Domain selbst, Antwort ohne Cache
dig @elliott.ns.cloudflare.com example.com +short

# Dasselbe mit nslookup
nslookup example.com 8.8.8.8
```

Wenn der NS-Server der Domain den neuen Eintrag bereits ausliefert, die öffentlichen Resolver aber noch nicht, haben Sie alles richtig gemacht, und Sie müssen nur noch warten, bis die TTL der alten Antwort abgelaufen ist.

***

## 4. Gehen Sie mit dig +trace die gesamte Kette durch

Der Parameter `+trace` bewirkt, dass dig sich nicht an den Resolver wendet, sondern den Weg selbst geht, beginnend bei den Root-Servern. So sehen Sie, wer bei jedem Schritt für die Domain zuständig ist.

```bash
dig +trace example.com
```

Die vollständige Ausgabe ist lang, deshalb haben wir für den Screenshot nur die Zeilen mit den Schritten und den gefundenen Einträgen behalten.

<figure><img src="https://docs.f3cloud.com/img/dig-trace.png" alt="Ausgabe von dig +trace example.com mit den Antworten des Root-Servers, des Servers der Zone com und des NS-Servers von Cloudflare"><figcaption><p>Root-Server, Server der Zone .com und NS-Server der Domain nacheinander</p></figcaption></figure>

Die Zeilen **Received … from** zeigen, welcher Server bei jedem Schritt geantwortet hat. Hier hat der Root-Server `e.root-servers.net` an die Server der Zone `.com` verwiesen, der Server `c.gtld-servers.net` hat mitgeteilt, dass die Domain von Cloudflare bedient wird, und der NS-Server `elliott.ns.cloudflare.com` hat die Adressen geliefert. Bricht die Kette ab, sehen Sie, bei welchem Schritt. Das ist zum Beispiel der Fall, wenn beim Registrar NS-Server eingetragen sind, die nichts über die Domain wissen.

***

## Häufige Fragen

<details>

<summary>dig: command not found</summary>

Der Befehl gehört zum Paket `dnsutils`. Installieren Sie es mit dem Befehl `apt install -y dnsutils`. In unserem Image von Debian 12 ist dieses Paket bereits installiert.

</details>

<details>

<summary>Antwort status: NXDOMAIN</summary>

Diesen Namen gibt es im DNS nicht. Prüfen Sie die Schreibweise der Domain und ob der Eintrag für den richtigen Namen angelegt wurde, zum Beispiel separat für `www`. Wenn die Domain gerade erst registriert wurde, prüfen Sie die NS-Server mit dem Befehl `dig example.com NS +short`.

</details>

<details>

<summary>Die Antwort ist leer, aber es gibt keinen Fehler</summary>

Die Domain existiert, hat aber keinen Eintrag des gesuchten Typs. Zum Beispiel hat die Domain einen A-Eintrag, aber keinen MX-Eintrag. Prüfen Sie, ob der Eintrag mit dem richtigen Typ angelegt wurde.

</details>

<details>

<summary>Ein neuer Eintrag ist auf einem Resolver sichtbar und auf einem anderen nicht</summary>

Der zweite Resolver speichert noch die alte Antwort. Sehen Sie sich die TTL in der Ausgabe von `dig +noall +answer` an, das ist die Zeit in Sekunden bis zur Aktualisierung. Auf Ihrem eigenen Computer können Sie den DNS-Cache leeren. Unter Windows geht das mit dem Befehl `ipconfig /flushdns`.

</details>

***

## Unsere Ressourcen

**Telegram-Kanal:** [https://t.me/f3cloud_news](https://t.me/f3cloud_news)\
**Hosting-Website:** [https://f3cloud.com](https://f3cloud.com/de)
