Der Befehl dig (Domain Information Groper) fragt DNS-Server ab und zeigt detaillierte Informationen zur Namensaufloesung an. Mit dig pruefst du, welche IP-Adresse zu einer Domain gehoert, welche Mailserver zustaendig sind oder welche Nameserver eine Domain verwalten.

Syntax des dig-Befehls

dig [@server] [name] [typ] [optionen]
  • @server - Der DNS-Server, der abgefragt werden soll (optional). Ohne Angabe verwendet dig die Server aus /etc/resolv.conf.
  • name - Der Domainname, der aufgeloest werden soll.
  • typ - Der DNS-Record-Typ (A, AAAA, MX, NS, TXT, CNAME, etc.). Standard ist A.
  • optionen - Zusaetzliche Flags wie +short oder +noall +answer.

Installation von dig

Der Befehl dig ist Teil des bind-utils bzw. dnsutils Pakets. Pruefe zuerst, ob dig bereits installiert ist:

dig -v

Falls nicht vorhanden, installierst du es je nach Distribution:

Ubuntu/Debian:

sudo apt install dnsutils

CentOS/Fedora/RHEL:

sudo dnf install bind-utils

Arch Linux:

sudo pacman -S bind

Einfache DNS-Abfrage

Eine grundlegende Abfrage zeigt die IP-Adresse einer Domain:

dig example.com

Die Ausgabe enthaelt mehrere Abschnitte: Header, Question, Answer, Authority und Statistics. Fuer die meisten Anwendungsfaelle interessiert dich vor allem der Answer-Abschnitt mit den eigentlichen DNS-Eintraegen.

Nur die Antwort anzeigen

Die Standardausgabe von dig ist ausfuehrlich. Mit +short erhaeltst du nur die IP-Adressen:

dig example.com +short
93.184.215.14

Fuer etwas mehr Details, aber ohne den gesamten Header:

dig example.com +noall +answer
example.com.		86400	IN	A	93.184.215.14

Diese Ausgabe zeigt den Domainnamen, die TTL (Time to Live) in Sekunden, die Klasse (IN fuer Internet), den Record-Typ und den Wert.

Verschiedene DNS-Record-Typen abfragen

A-Record (IPv4-Adresse)

dig example.com A +short

AAAA-Record (IPv6-Adresse)

dig example.com AAAA +short

MX-Record (Mailserver)

MX-Records zeigen, welche Server fuer den E-Mail-Empfang zustaendig sind:

dig example.com MX +noall +answer

Die Zahl vor dem Servernamen ist die Prioritaet - niedrigere Werte bedeuten hoehere Prioritaet.

NS-Record (Nameserver)

dig example.com NS +noall +answer

TXT-Record

TXT-Records enthalten beliebige Textinformationen, haeufig fuer SPF, DKIM oder Domain-Verifizierung:

dig example.com TXT +noall +answer

CNAME-Record (Alias)

dig www.example.com CNAME +noall +answer

SOA-Record (Start of Authority)

Der SOA-Record enthaelt Informationen ueber die DNS-Zone:

dig example.com SOA +noall +answer

Alle Records abfragen

Mit dem Typ ANY fragst du alle verfuegbaren Records ab:

dig example.com ANY +noall +answer

Manche DNS-Server liefern bei ANY-Abfragen aus Sicherheitsgruenden keine vollstaendige Antwort.

Einen bestimmten DNS-Server abfragen

Standardmaessig verwendet dig die in /etc/resolv.conf konfigurierten DNS-Server. Mit @ gibst du einen anderen Server an:

dig @8.8.8.8 example.com

Das ist nuetzlich, um zu pruefen, ob ein bestimmter DNS-Server die erwarteten Eintraege liefert oder ob DNS-Aenderungen bereits propagiert wurden.

Haeufig verwendete oeffentliche DNS-Server:

  • 8.8.8.8 und 8.8.4.4 - Google DNS
  • 1.1.1.1 und 1.0.0.1 - Cloudflare DNS
  • 9.9.9.9 - Quad9 DNS

Reverse DNS Lookup

Mit der Option -x ermittelst du den Hostnamen zu einer IP-Adresse:

dig -x 93.184.215.14 +short

Das ist das Gegenstueck zur normalen DNS-Abfrage und nutzt PTR-Records.

Trace: Den DNS-Auflösungsweg verfolgen

Die Option +trace zeigt den vollstaendigen Weg einer DNS-Abfrage von den Root-Servern bis zur endgueltigen Antwort:

dig example.com +trace

Das ist hilfreich bei der Fehlersuche, wenn du wissen willst, an welcher Stelle die Namensaufloesung fehlschlaegt.

Mehrere Domains abfragen

Mit der Option -f liest dig Domainnamen aus einer Datei:

dig -f domains.txt +short

Die Datei domains.txt enthaelt dabei einen Domainnamen pro Zeile:

example.com
example.org
example.net

Standardoptionen mit .digrc festlegen

Wenn du bestimmte Optionen immer verwenden moechtest, speichere sie in der Datei ~/.digrc:

+noall +answer

Danach wendet dig diese Optionen automatisch auf jede Abfrage an.

Zusammenfassung

Der Befehl dig ist ein vielseitiges Werkzeug fuer DNS-Abfragen und Netzwerk-Fehlersuche. Mit den verschiedenen Record-Typen und Optionen pruefst du die DNS-Konfiguration einer Domain, verfolgst Namensaufloesung und vergleichst Antworten verschiedener DNS-Server.