4 wichtige Beispiele für Dig-Befehle, die Sie als Sysadmin oder Entwickler kennen sollten

Die Welt eines Systemadministrators scheint so lange reibungslos zu funktionieren, bis Herausforderungen auftauchen. In solchen kritischen Situationen erweisen sich Befehle wie „dig“ als äußerst nützlich. Lesen Sie weiter, um mehr zu erfahren.

Systemadministratoren leisten kontinuierlich hervorragende Arbeit. Selbst die grundlegendste Anforderung ihres Jobs, nämlich rund um die Uhr erreichbar zu sein, verdient höchste Anerkennung.

Doch wir möchten hier nicht auf die Details ihrer Aufgaben eingehen, sondern uns stattdessen auf ein mächtiges Werkzeug konzentrieren, das zur Behebung von DNS-Problemen dient.

Was sind „dig“-Befehle?

„dig“, kurz für Domain Information Groper, ist eine der schnellsten Methoden, um DNS-Server abzufragen und zu überprüfen, was funktioniert und wo es Probleme gibt.

Mithilfe leicht verständlicher Ausgaben können Sie die IP-Adresse des Servers, Nameserver, Mail-Exchanges, TTL und andere wichtige Informationen überprüfen.

Bevor wir uns einige grundlegende „dig“-Befehle ansehen, stellen Sie bitte sicher, dass die „dig“-Dienstprogramme installiert sind:

$ dig -v

Dieser Befehl sollte die installierte „dig“-Version ausgeben, etwa so:

DiG 9.18.1-1ubuntu1-Ubuntu

Falls Sie keine ähnliche Ausgabe erhalten, müssen Sie die „dig“-Dienstprogramme zuerst installieren.

Für Benutzer von Ubuntu und Debian lautet der Befehl:

$ sudo apt-get install dnsutils

Und für CentOS oder RHEL verwenden Sie:

$ sudo yum install bind-utils

Führen Sie anschließend `dig -v` erneut aus, um die erfolgreiche Installation zu bestätigen.

In den folgenden Abschnitten werden wir uns einige „dig“-Befehle genauer ansehen, die für Ihre Arbeit als Systemadministrator von Nutzen sein können.

Überprüfung der IP-Adresse

Dies ist ein grundlegender Befehl, mit dem wir die IP-Adresse eines Servers, der einem Domainnamen zugeordnet ist, ermitteln können.

Der Befehl `dig wdzwdz.com` ist unser Ausgangspunkt.

$ dig wdzwdz.com

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> wdzwdz.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;wdzwdz.com.			IN	A

;; ANSWER SECTION:
wdzwdz.com.		67	IN	A	172.66.43.163
wdzwdz.com.		67	IN	A	172.66.40.93

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:29:58 UTC 2022

Wichtig ist zunächst der Status „NOERROR“ im Bereich „Got answer“. Dies zeigt an, dass die Abfrage erfolgreich war.

Die relevanteste Information ist hier die Server-IP-Adresse, die im Abschnitt „ANSWER SECTION“ als 172.66.40.93 (der primäre Server) und 172.66.43.163 (der Failover-Server) angegeben wird.

Darüber hinaus finden Sie Ihre ursprüngliche Abfrage im Abschnitt „QUESTION SECTION“.

Der letzte Abschnitt enthält einige Statistiken zur Abfrage.

Allerdings sind diese Informationen nicht immer alle erforderlich.

Daher können Sie eine präzisere Antwort erhalten, indem Sie folgenden Befehl eingeben:

$ dig wdzwdz.com +noall +answer
wdzwdz.com.		53	IN	A	172.66.43.163
wdzwdz.com.		53	IN	A	172.66.40.93

Hier unterdrücken wir mit `+noall` alle unnötigen Informationen und lassen mit `+answer` nur die erwartete Antwort zu.

Eine noch kürzere Antwort erhalten Sie mit diesem Befehl:

$ dig wdzwdz.com +short
172.66.43.163
172.66.40.93

Dies war eine grundlegende Abfrage, die den DNS-A-Eintrag zurückgibt. Sehen wir uns weitere an.

Bestimmte DNS-Einträge finden

Nameserver, die für eine Domain zuständigen DNS-Server, können mit der Option `ns` ermittelt werden.

$ dig wdzwdz.com ns +short
olga.ns.cloudflare.com.
todd.ns.cloudflare.com.

Ebenso liefert die Option `mx` die Mailserver zusammen mit ihrer Priorität:

$ dig wdzwdz.com mx +noall +answer
wdzwdz.com.		300	IN	MX	1 aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	5 alt2.aspmx.l.google.com.

Auf ähnliche Weise können `txt`, `aaaa`, `cname` usw. als Variablen in „dig“-Befehlen verwendet werden, um verschiedene DNS-Einträge abzurufen.

DNS-Trace durchführen

Wie der Name schon sagt, verfolgt die Option `+trace` den Pfad von den Root-Nameservern über die autoritativen Nameserver bis zur IP-Adresse der Domain.

$ dig wdzwdz.com +trace

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> wdzwdz.com +trace
;; global options: +cmd
.			322660	IN	NS	a.root-servers.net.
.			322660	IN	NS	b.root-servers.net.
.			322660	IN	NS	c.root-servers.net.
.			322660	IN	NS	d.root-servers.net.
.			322660	IN	NS	e.root-servers.net.
.			322660	IN	NS	f.root-servers.net.
.			322660	IN	NS	g.root-servers.net.
.			322660	IN	NS	h.root-servers.net.
.			322660	IN	NS	i.root-servers.net.
.			322660	IN	NS	j.root-servers.net.
.			322660	IN	NS	k.root-servers.net.
.			322660	IN	NS	l.root-servers.net.
.			322660	IN	NS	m.root-servers.net.
;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms

com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			86400	IN	DS	30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.			86400	IN	RRSIG	DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw==
;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms

wdzwdz.com.		172800	IN	NS	olga.ns.cloudflare.com.
wdzwdz.com.		172800	IN	NS	todd.ns.cloudflare.com.
wdzwdz.com.		86400	IN	DS	2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
wdzwdz.com.		86400	IN	RRSIG	DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA==
;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms

wdzwdz.com.		300	IN	A	172.66.43.163
wdzwdz.com.		300	IN	A	172.66.40.93
wdzwdz.com.		300	IN	RRSIG	A 13 2 300 20221110051242 20221108031242 34505 wdzwdz.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg==
;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms

Alternativ können Sie eine kurze Antwort erhalten, indem Sie die Optionen `+short` oder `+noall +answer` verwenden.

Reverse-DNS-Lookup

Der Reverse-DNS-Lookup zeigt den PTR-Eintrag an, der einer IP-Adresse zugeordnet ist. Es ist das Gegenteil eines DNS-A-Eintrags und ordnet IP-Adressen Domainnamen zu.

Wenn ein Domainname jedoch keinen DNS-PTR-Eintrag hat, gibt es keinen Antwortabschnitt.

Der relevante Befehl lautet `dig -x IP-Adresse`.

[email protected]:~$ dig yahoo.com +short
74.6.143.26
74.6.231.20
98.137.11.164
98.137.11.163
74.6.143.25
74.6.231.21
[email protected]:~$ dig -x 74.6.143.26

; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;26.143.6.74.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
26.143.6.74.in-addr.arpa. 600	IN	PTR	media-router-fp74.prod.media.vip.bf1.yahoo.com.

;; AUTHORITY SECTION:
143.6.74.in-addr.arpa.	172800	IN	NS	ns3.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns4.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns5.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns2.yahoo.com.
143.6.74.in-addr.arpa.	172800	IN	NS	ns1.yahoo.com.

;; Query time: 192 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:17:08 UTC 2022
;; MSG SIZE  rcvd: 203

Wie Sie sehen können, ist der Domainname `media-router-fp74.prod.media.vip.bf1.yahoo.com` im Antwortbereich mit seiner primären IP-Adresse 74.6.143.26 verknüpft.

Wenn Sie diese URL besuchen, werden Sie zur Homepage der Yahoo-Suche weitergeleitet.

Dies gilt jedoch möglicherweise nicht für alle Webhoster. In einigen Fällen führen diese langen URLs zu keinem Ergebnis.

Abfrage bestimmter DNS-Server

Manchmal ist es wünschenswert, einen bestimmten DNS-Server für Abfragen anzusprechen. Dies können Sie einfach tun, indem Sie die IP-Adresse des DNS-Servers mit `@` voranstellen. Dadurch können Sie einen beliebigen DNS-Server für eine spezifische Abfrage auswählen.

$ dig @1.1.1.1 wdzwdz.com +noall +answer +stats
wdzwdz.com.		300	IN	A	172.66.40.93
wdzwdz.com.		300	IN	A	172.66.43.163
;; Query time: 156 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Wed Nov 09 04:18:56 UTC 2022
;; MSG SIZE  rcvd: 74

Im Statistikbereich sehen Sie, dass der Server „1.1.1.1“ genannt wird, der zu Cloudflare gehört.

Ebenso können Sie Google DNS-Server (8.8.8.8) abfragen:

$ dig @8.8.8.8 wdzwdz.com mx +noall +answer +stats
wdzwdz.com.		300	IN	MX	1 aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	10 alt3.aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	10 alt4.aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	5 alt1.aspmx.l.google.com.
wdzwdz.com.		300	IN	MX	5 alt2.aspmx.l.google.com.
;; Query time: 44 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Wed Nov 09 04:23:16 UTC 2022
;; MSG SIZE  rcvd: 157

Fangen wir an zu graben ⛏️

Wie der Name schon sagt, werden „dig“-Befehle verwendet, um DNS-Informationen „auszugraben“ und damit zusammenhängende Probleme zu identifizieren. Sie sind in der Regel schnell und einfach zu merken.

Darüber hinaus können Sie die „dig“-Dienstprogramme auf Mac und Windows installieren, was sie universell einsetzbar macht.

PS: Wenn Sie schon hier sind, wäre es unverzeihlich, Ihnen die wdzwdz-Sysadmin-Bibliothek nicht vorzustellen, eine zentrale Anlaufstelle für Ihre Sysadmin-Probleme. Hier ist ein Link.