dig
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
dig (domain information groper) ist ein Programm/Befehl, mit dem Informationen von DNS-Servern abgefragt werden können. DNS bedeutet Domain Name System und wird zur Umwandlung von IP-Adressen in Domains bzw. umgekehrt verwendet. Es basiert auf einer Weltweit verteilten Datenbank. Dig ist ein Client-Programm für DNS-Server wie zum Beispiel der Berkeley Internet Name Domain Server (Bind) und unterstützt sowohl IPv4 als auch IPv6. Dig wird hauptsächlich genutzt, um DNS-Server zu analysieren und zu überprüfen.
Installation¶
dig ist ein Bestandteil der dnsutils und kann über das gleichnamige Paket installiert werden [1]:
dnsutils
Befehl zum Installieren der Pakete:
sudo apt-get install dnsutils
Oder mit apturl installieren, Link: apt://dnsutils
Benutzung¶
Der Befehl dig hat die folgende, allgemeine Syntax:
dig [@Server] [Domain] [Typ] [-x IP-Adresse]
Server
- der Domain-Name oder die IP-Adresse des DNS-Servers, der abgefragt werden soll. Für eine Analyse eines DNS-Servers muss hier der entsprechende Server angegeben werden. Wird kein Server angegeben, wird der im System hinterlegte Server genutzt. Wer ausschließlich an den allgemeinen DNS-Informationen zu einer Adresse interessiert ist, kann den Server also weglassen.Domain
- die Domain, die abgefragt werden soll.Typ
- Typ des Eintrages, der abgefragt werden soll (ANY, A, MX
, etc.). Wenn kein Argument angegeben wird, fragt dig den A-Record ab.
Resource Record / Typ | |
Typ | Beschreibung |
ANY | alle Einträge |
A | IPv4 Record eines Hosts |
AAAA | IPv6 Record eines Hosts |
CNAME | Kanonischer Name, Zuordnung von Aliassen |
MX | Mail Exchanger |
NS | Hostname eines autoritativen Nameservers |
PTR | Domain Name Pointer (um IP-Adressen Namen zuzuweisen) |
SOA | Start of Authority |
SRV | Angebotene Dienste |
TXT | Beliebiger Text |
Weitere Parameter | |
Typ | Beschreibung |
+short | gibt eine sehr kurze Antwort, zB die reine IP der Domain |
-f query.txt | file - Eingabe-Datei für mehrere Abfragen |
-4 / -6 | IPv4 / IPv6 |
-x | Rückwärtssuche... IP der Domain suchen |
Beispiele¶
Situation 1¶
Abfrage der Statusinformationen eines DNS Servers über das Terminal [2]:
dig @208.67.222.222
; <<>> DiG 9.6.1-P1 <<>> @208.67.222.222 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31780 ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 517184 IN NS L.ROOT-SERVERS.NET. . 517184 IN NS J.ROOT-SERVERS.NET. . 517184 IN NS H.ROOT-SERVERS.NET. . 517184 IN NS G.ROOT-SERVERS.NET. . 517184 IN NS F.ROOT-SERVERS.NET. . 517184 IN NS D.ROOT-SERVERS.NET. . 517184 IN NS E.ROOT-SERVERS.NET. . 517184 IN NS I.ROOT-SERVERS.NET. . 517184 IN NS B.ROOT-SERVERS.NET. . 517184 IN NS M.ROOT-SERVERS.NET. . 517184 IN NS A.ROOT-SERVERS.NET. . 517184 IN NS C.ROOT-SERVERS.NET. . 517184 IN NS K.ROOT-SERVERS.NET. ;; Query time: 103 msec ;; SERVER: 208.67.222.222#53(208.67.222.222) ;; WHEN: Mon Nov 23 15:50:44 2009 ;; MSG SIZE rcvd: 228
Da keine Domain angegeben wurde, fragt dig die Domain "." ab. Diese ist quasi die Wurzel des DNS-Systems. Als Antwort werden die Root-DNS-Server zurückgegeben. Der Status NOERROR
in der 5. Zeile zeigt, dass die Abfrage keine Fehler aufweist.
Situation 2¶
Welche Antworten liefert der DNS-Server [2]:
dig @208.67.222.222 ubuntuusers.de
; <<>> DiG 9.6.1-P1 <<>> @208.67.222.222 ubuntuusers.de ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24416 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;ubuntuusers.de. IN A ;; ANSWER SECTION: ubuntuusers.de. 86276 IN A 213.95.41.13 ;; Query time: 171 msec ;; SERVER: 208.67.222.222#53(208.67.222.222) ;; WHEN: Mon Nov 23 15:57:40 2009 ;; MSG SIZE rcvd: 48
Die Antwort findet sich in der ANSWER SECTION
, wo auch mehrere Antworten aufgeführt werden können. Wenn anstelle von ANSWER SECTION
dort AUTHORITY SECTION
steht, leitet der DNS-Server die Anfrage an die dort aufgelisteten Server weiter.
Situation 3¶
Hier soll aufgezeigt werden, wie das DNS-System eine Domain auflöst. Als erstes wird der Root-DNS-Server nach der Domain ubuntuusers.de gefragt:
dig ubuntuusers.de @a.root-servers.net
Dieser antwortet nun in der AUTHORITY SECTION
, dass der Server a.nic.de
zuständig ist.
;; AUTHORITY SECTION: de. 172800 IN NS a.nic.de.
Anschließend kann man diesen nach der Domain fragen.
dig ubuntuusers.de @a.nic.de
Dieser gibt zurück, dass dns1.noris.net
zuständig ist.
;; AUTHORITY SECTION: ubuntuusers.de. 42741 IN NS dns1.noris.net.
Fragt man nun diesen, taucht neben der AUTHORITY SECTION
auch noch die ANSWER SECTION
auf. Hierüber bekommt man die Information des DNS-Servers, dass die aktuelle IP-Adresse zur Domain ubuntuusers.de 213.95.41.13
lautet.
;; ANSWER SECTION: ubuntuusers.de. 86400 IN A 213.95.41.13
Links¶