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
digaus 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: +cmdWenn Sie nicht möchten, dass diese Zeilen in der Ausgabe enthalten sind, verwenden Sie
+nocmdMöglichkeit. Diese Option muss die allererste nachdigsein 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
digausgefü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: 5Dieser Abschnitt kann mit
+nocommentsentfernt werden Option, die auch die Kopfzeilen einiger anderer Abschnitte deaktiviert. -
Der „OPT“-Pseudoabschnitt wird nur in den neueren Versionen von
digangezeigt Nützlichkeit. Hier können Sie mehr über die Erweiterungsmechanismen für DNS (EDNS) lesen.;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096Um diesen Abschnitt von der Ausgabe auszuschließen, verwenden Sie
+noednsOption. -
Im Abschnitt „QUESTION“
digzeigt die Abfrage (Frage). Standardmäßigdigfordert den A-Eintrag an.;; QUESTION SECTION: ;linux.org. IN ASie können diesen Abschnitt mit
+noquestiondeaktivieren Option. -
Der Abschnitt „ANTWORT“ liefert uns eine Antwort auf unsere Frage. Wie bereits erwähnt, standardmäßig
digfordert den A-Record an. Hier können wir sehen, dass die Domainlinux.orgzeigt auf104.18.59.123IP-Adresse.;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123Normalerweise möchten Sie die Antwort nicht ausschalten, aber Sie können diesen Abschnitt mit
+noansweraus 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
+noauthoritydeaktivieren 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:3b82Der
+noadditionalOption deaktiviert den zusätzlichen Abschnitt einer Antwort. -
Der letzte Abschnitt des
digAusgabe 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: 212Sie können diesen Teil mit
+nostatsdeaktivieren 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.