Dig (Domain Information Groper) ist ein leistungsstarkes Befehlszeilentool zum Abfragen von DNS-Nameservern.
Die dig
Mit dem Befehl können Sie Informationen zu verschiedenen DNS-Einträgen abfragen, darunter Hostadressen, Mail-Austausch und Nameserver. Aufgrund seiner Flexibilität und Benutzerfreundlichkeit ist es das am häufigsten verwendete Tool unter Systemadministratoren zur Behebung von DNS-Problemen.
Dieses Tutorial erklärt die Verwendung von dig
Nützlichkeit durch praktische Beispiele und detaillierte Erklärungen der gängigsten dig
Optionen.
Installation von dig
#
Um zu prüfen, ob der dig
Befehl ist auf Ihrem Systemtyp verfügbar:
dig -v
Die Ausgabe sollte in etwa so aussehen:
DiG 9.11.3-1ubuntu1.1-Ubuntu
Wenn dig
auf Ihrem System nicht vorhanden ist, gibt der obige Befehl „dig:command not found“ aus. Die dig
Tool kann mit dem Paketmanager der Distribution installiert werden.
Installieren Sie dig
auf Ubuntu und Debian #
sudo apt update && sudo apt install dnsutils
Installieren Sie dig
auf CentOS und Fedora #
sudo yum install bind-utils
Installieren Sie dig
auf Arch Linux #
sudo pacman -S bind-tools
Den dig
verstehen Ausgabe #
In seiner einfachsten Form, wenn er verwendet wird, um einen einzelnen Host (Domain) ohne zusätzliche Optionen abzufragen, ist der dig
Befehl ist ziemlich ausführlich.
Im folgenden Beispiel arbeiten wir auf linux.org
Domäne:
dig linux.org
Die Ausgabe sollte in etwa so aussehen:
Gehen wir Abschnitt für Abschnitt vor und erläutern die Ausgabe von dig
Befehl:
-
Die erste Zeile der Ausgabe gibt den installierten
dig
aus Version und der abgefragte Domänenname. Die zweite Zeile zeigt die globalen Optionen (standardmäßig nur cmd).; <<>> DiG 9.13.3 <<>> linux.org ;; global options: +cmd
Wenn Sie nicht möchten, dass diese Zeilen in der Ausgabe enthalten sind, verwenden Sie
+nocmd
Möglichkeit. Diese Option muss die allererste nachdig
sein Befehl. -
Der nächste Abschnitt enthält technische Details über die Antwort, die von der angeforderten Stelle (DNS-Server) empfangen wird. Der Header zeigt den Opcode (die Aktion, die von
dig
ausgeführt wird ) und den Status der Aktion. In diesem Beispiel ist der StatusNOERROR
, was bedeutet, dass die Anfrage von der ersuchten Behörde ohne Probleme bearbeitet wurde.;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5
Dieser Abschnitt kann mit
+nocomments
entfernt werden Option, die auch die Kopfzeilen einiger anderer Abschnitte deaktiviert. -
Der „OPT“-Pseudoabschnitt wird nur in den neueren Versionen von
dig
angezeigt Nützlichkeit. Hier können Sie mehr über die Erweiterungsmechanismen für DNS (EDNS) lesen.;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096
Um diesen Abschnitt von der Ausgabe auszuschließen, verwenden Sie
+noedns
Option. -
Im Abschnitt „QUESTION“
dig
zeigt die Abfrage (Frage). Standardmäßigdig
fordert den A-Eintrag an.;; QUESTION SECTION: ;linux.org. IN A
Sie können diesen Abschnitt mit
+noquestion
deaktivieren Option. -
Der Abschnitt „ANTWORT“ liefert uns eine Antwort auf unsere Frage. Wie bereits erwähnt, standardmäßig
dig
fordert den A-Record an. Hier können wir sehen, dass die Domainlinux.org
zeigt auf104.18.59.123
IP-Adresse.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123
Normalerweise möchten Sie die Antwort nicht ausschalten, aber Sie können diesen Abschnitt mit
+noanswer
aus der Ausgabe entfernen Option. -
Der Abschnitt „AUTHORITÄT“ teilt uns mit, welche Server die Autorität für die Beantwortung von DNS-Anfragen über die abgefragte Domain sind.
;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.
Sie können diesen Abschnitt der Ausgabe mit
+noauthority
deaktivieren Option. -
Der Abschnitt „ADDITIONAL“ gibt uns Informationen über die IP-Adressen der autoritativen DNS-Server, die im Autoritätsabschnitt angezeigt werden.
;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82
Der
+noadditional
Option deaktiviert den zusätzlichen Abschnitt einer Antwort. -
Der letzte Abschnitt des
dig
Ausgabe enthält Statistiken über die Abfrage.;; Query time: 58 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Oct 12 11:46:46 CEST 2018 ;; MSG SIZE rcvd: 212
Sie können diesen Teil mit
+nostats
deaktivieren Option.
Nur die Antwort # drucken
Im Allgemeinen möchten Sie nur eine kurze Antwort auf Ihre dig
erhalten Abfrage.
1. Holen Sie sich eine kurze Antwort #
Um eine kurze Antwort auf Ihre Frage zu erhalten, verwenden Sie den +short
Möglichkeit:
dig linux.org +short
104.18.59.123
104.18.58.123
Die Ausgabe enthält nur die IP-Adressen des A-Eintrags.
2. Erhalten Sie eine detaillierte Antwort #
Für eine detailliertere Antwort schalten Sie alle Ergebnisse mit +noall
aus Optionen und schalten Sie dann nur den Antwortbereich mit +answer
ein Option.
dig linux.org +noall +answer
; <<>> DiG 9.13.3 <<>> linux.org +noall +answer
;; global options: +cmd
linux.org. 67 IN A 104.18.58.123
linux.org. 67 IN A 104.18.59.123
Anfragespezifischer Nameserver #
Wenn kein Nameserver angegeben ist, wird standardmäßig dig
verwendet die in /etc/resolv.conf
aufgeführten Server Datei.
Um einen Nameserver anzugeben, für den die Abfrage ausgeführt wird, verwenden Sie @
(at) Symbol, gefolgt von der IP-Adresse oder dem Hostnamen des Nameservers.
Zum Beispiel, um den Google-Nameserver (8.8.8.8) nach Informationen über linux.org
abzufragen Domäne, die Sie verwenden würden:
dig linux.org @8.8.8.8
; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;linux.org. IN A
;; ANSWER SECTION:
linux.org. 299 IN A 104.18.58.123
linux.org. 299 IN A 104.18.59.123
;; Query time: 54 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Oct 12 14:28:01 CEST 2018
;; MSG SIZE rcvd: 70
Einen Datensatztyp # abfragen
Mit Dig können Sie jede gültige DNS-Abfrage durchführen, indem Sie den Datensatztyp an das Ende der Abfrage anhängen. Im folgenden Abschnitt zeigen wir Ihnen anhand von Beispielen, wie Sie nach den gängigsten Datensätzen suchen können, z. B. A (die IP-Adresse), CNAME (kanonischer Name), TXT (Textdatensatz), MX (Mail Exchanger) und NS ( Nameserver).
1. Abfrage von A-Einträgen #
Um eine Liste aller Adressen für einen Domänennamen zu erhalten, verwenden Sie a
Möglichkeit:
dig +nocmd google.com a +noall +answer
google.com. 128 IN A 216.58.206.206
Wie Sie bereits wissen, dig
, wenn kein DNS-Eintragstyp angegeben ist fordert den A-Record an. Sie können den A-Datensatz auch abfragen, ohne den a
anzugeben Option.
2. CNAME-Einträge werden abgefragt #
Um den Alias-Domänennamen zu finden, verwenden Sie den cname
Möglichkeit:
dig +nocmd mail.google.com cname +noall +answer
mail.google.com. 553482 IN CNAME googlemail.l.google.com.
3. TXT-Einträge werden abgefragt #
Verwenden Sie den txt
Option zum Abrufen aller TXT-Einträge für eine bestimmte Domain:
dig +nocmd google.com txt +noall +answer
google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"
google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
4. MX-Einträge werden abgefragt #
Um eine Liste aller Mailserver für eine bestimmte Domain zu erhalten, verwenden Sie den mx
Möglichkeit:
dig +nocmd google.com mx +noall +answer
google.com. 494 IN MX 30 alt2.aspmx.l.google.com.
google.com. 494 IN MX 10 aspmx.l.google.com.
google.com. 494 IN MX 40 alt3.aspmx.l.google.com.
google.com. 494 IN MX 50 alt4.aspmx.l.google.com.
google.com. 494 IN MX 20 alt1.aspmx.l.google.com.
5. Abfrage von NS-Einträgen #
Um die maßgeblichen Nameserver für unsere spezifische Domain zu finden, verwenden Sie den ns
Möglichkeit:
dig +nocmd google.com ns +noall +answer
google.com. 84527 IN NS ns1.google.com.
google.com. 84527 IN NS ns2.google.com.
google.com. 84527 IN NS ns4.google.com.
google.com. 84527 IN NS ns3.google.com.
6. Abfrage aller Datensätze #
Verwenden Sie den any
Option, um eine Liste aller DNS-Einträge für eine bestimmte Domain zu erhalten:
dig +nocmd google.com any +noall +answer
google.com. 299 IN A 216.58.212.14
google.com. 299 IN AAAA 2a00:1450:4017:804::200e
google.com. 21599 IN NS ns2.google.com.
google.com. 21599 IN NS ns1.google.com.
google.com. 599 IN MX 30 alt2.aspmx.l.google.com.
google.com. 21599 IN NS ns4.google.com.
google.com. 599 IN MX 50 alt4.aspmx.l.google.com.
google.com. 599 IN MX 20 alt1.aspmx.l.google.com.
google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com. 21599 IN CAA 0 issue "pki.goog"
google.com. 599 IN MX 40 alt3.aspmx.l.google.com.
google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com. 21599 IN NS ns3.google.com.
google.com. 599 IN MX 10 aspmx.l.google.com.
google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all"
google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60
Umgekehrter DNS-Lookup #
Um den mit einer bestimmten IP-Adresse verknüpften Hostnamen abzufragen, verwenden Sie den -x
Option.
Zum Beispiel, um eine Rückwärtssuche auf 208.118.235.148
durchzuführen Sie würden Folgendes eingeben:
dig -x 208.118.235.148 +noall +answer
Wie Sie der Ausgabe unten entnehmen können, ist die IP-Adresse 208.118.235.148
ist mit dem Hostnamen wildebeest.gnu.org
verknüpft .
; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer
;; global options: +cmd
148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.
Massenabfragen #
Wenn Sie eine große Anzahl von Domänen abfragen möchten, können Sie diese in einer Datei hinzufügen (eine Domäne pro Zeile) und das -f
verwenden Option gefolgt vom Dateinamen.
Im folgenden Beispiel fragen wir die in der domains.txt
aufgeführten Domains ab Datei.
lxer.com
linuxtoday.com
tuxmachines.org
dig -f domains.txt +short
108.166.170.171
70.42.23.121
204.68.122.43
Die .digrc-Datei #
Die dig
Das Verhalten des Befehls kann durch Einrichten von Optionen pro Benutzer in ${HOME}/.digrc
gesteuert werden Datei.
Wenn die .digrc
Datei im Home-Verzeichnis des Benutzers vorhanden ist, werden die darin angegebenen Optionen vor den Befehlszeilenargumenten angewendet.
Wenn Sie beispielsweise nur den Antwortabschnitt anzeigen möchten, öffnen Sie Ihren Texteditor und erstellen Sie den folgenden ~/.digrc
Datei:
+nocmd +noall +answer
Schlussfolgerung #
dig
ist ein Befehlszeilentool zum Abfragen von DNS-Informationen und Beheben von DNS-bezogenen Problemen.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.