Linux: dig
Das Domain Name System (DNS) bildet das Rückgrat der Internetkommunikation. Für die Diagnose von Netzwerkproblemen, die Analyse von DNS-Konfigurationen und das Debugging von Verbindungsfehlern ist dig (Domain Information Groper) das Werkzeug der Wahl. Dieses Command-Line-Tool bietet präzise Kontrolle über DNS-Abfragen und liefert detaillierte Informationen über DNS-Records.
Installation
Ubuntu/Debian
sudo apt update
sudo apt install dnsutils
macOS
# Mit Homebrew
brew install bind
# dig ist standardmäßig auf macOS verfügbar
Grundlegende Syntax
dig [OPTIONS] [@server] [name] [type]
Die wichtigsten Parameter:
@server: Spezifischer DNS-Server für die Abfragename: Domain oder IP-Adressetype: Record-Type (A, AAAA, MX, NS, TXT, etc.)
Häufige Anwendungsfälle
Standard-DNS-Abfrage
dig example.com
Diese Abfrage liefert die A-Records (IPv4-Adressen) für die angegebene Domain.
Spezifische Record-Types abfragen
# MX-Records für E-Mail-Server
dig example.com MX
# AAAA-Records für IPv6-Adressen
dig example.com AAAA
# TXT-Records für Metadaten
dig example.com TXT
# NS-Records für Nameserver
dig example.com NS
Reverse DNS-Lookup
dig -x 8.8.8.8
Ermittelt den Hostnamen zu einer IP-Adresse durch Abfrage des entsprechenden PTR-Records. Diese Funktion konvertiert die IP-Adresse automatisch in das .in-addr.arpa-Format und führt eine PTR-Abfrage durch.
Spezifischen DNS-Server verwenden
dig @8.8.8.8 example.com
dig @1.1.1.1 example.com A
Nützlich für das Testen verschiedener DNS-Server oder zur Umgehung lokaler DNS-Probleme.
Erweiterte Funktionen
Kurze Ausgabe
dig +short example.com
Liefert nur die Antwort ohne Header und zusätzliche Informationen.
Trace-Modus
dig +trace example.com
Verfolgt den kompletten DNS-Auflösungsweg iterativ von den Root-Servern bis zum autoritativen Server. Die Ausgabe zeigt jeden einzelnen Schritt der DNS-Hierarchie: Zunächst werden die Root-Server (.) abgefragt, dann die TLD-Server (.com), anschließend die autoritativen Nameserver für die spezifische Domain. Jeder Schritt wird mit den entsprechenden NS-Records und A-Records der beteiligten Server dokumentiert. Diese Funktion ist besonders wertvoll für die Analyse von DNS-Delegations-Ketten und die Identifikation von Problemen in der DNS-Infrastruktur.
Batch-Abfragen
dig -f domains.txt
Führt Abfragen für alle Domains aus einer Textdatei aus.
Ausgabe-Interpretation
Eine typische dig-Ausgabe enthält mehrere Sektionen:
; <<>> DiG 9.16.1-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 3600 IN A 93.184.216.34
;; Query time: 45 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Jul 16 14:30:15 CEST 2025
;; MSG SIZE rcvd: 56
Wichtige Flags
qr: Query Response (Antwort)rd: Recursion Desired (Rekursion gewünscht)ra: Recursion Available (Rekursion verfügbar)aa: Authoritative Answer (Autoritative Antwort)
Status-Codes
NOERROR: Erfolgreiche AbfrageNXDOMAIN: Domain existiert nichtSERVFAIL: Server-FehlerREFUSED: Abfrage verweigert
Alternativen und Ergänzungen
nslookup: Älteres Tool, weniger flexibelhost: Einfachere Syntax für grundlegende Abfragendrill: DNSSEC-fokussierte Alternative
Häufige Probleme
IPv6-Probleme
dig -4 example.com # Nur IPv4
dig -6 example.com # Nur IPv6
Lokale DNS-Cache umgehen
dig @8.8.8.8 +ignore example.com
Fazit
dig ist ein unverzichtbares Werkzeug für die DNS-Diagnose und Netzwerk-Troubleshooting. Die Flexibilität bei der Abfrage verschiedener Record-Types, die Möglichkeit zur Spezifikation von DNS-Servern und die detaillierte Ausgabe machen es zur ersten Wahl für Systemadministratoren und Entwickler.