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 verwendetdigdie 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+shortoder+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.8und8.8.4.4- Google DNS1.1.1.1und1.0.0.1- Cloudflare DNS9.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.