Linux: dig

16. Juli 2025

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 Abfrage
  • name: Domain oder IP-Adresse
  • type: 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 Abfrage
  • NXDOMAIN: Domain existiert nicht
  • SERVFAIL: Server-Fehler
  • REFUSED: Abfrage verweigert

Alternativen und Ergänzungen

  • nslookup: Älteres Tool, weniger flexibel
  • host: Einfachere Syntax für grundlegende Abfragen
  • drill: 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.