Android

Dig Befehl in Linux (DNS Lookup)

Easterhegg 2018 - Moderne Kommandozeilen Werkzeuge

Easterhegg 2018 - Moderne Kommandozeilen Werkzeuge

Inhaltsverzeichnis:

Anonim

Dig (Domain Information Groper) ist ein leistungsstarkes Befehlszeilentool zum Abfragen von DNS-Nameservern.

Mit dem Befehl dig können Sie Informationen zu verschiedenen DNS-Einträgen abfragen, einschließlich Hostadressen, Mail-Austauschen und Nameservern. Es ist das von Systemadministratoren am häufigsten verwendete Tool zur Behebung von DNS-Problemen, da es flexibel und benutzerfreundlich ist.

In diesem Tutorial zeigen wir Ihnen dig von praktischen Beispielen und detaillierten Erklärungen der gebräuchlichsten dig Optionen, wie Sie das dig Dienstprogramm verwenden.

dig installieren

So überprüfen Sie, ob der Befehl dig auf Ihrem dig verfügbar ist:

dig -v

Die Ausgabe sollte ungefähr so ​​aussehen:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Wenn dig auf Ihrem System nicht vorhanden ist, gibt der obige Befehl "dig: Befehl nicht gefunden" aus. Sie können das dig Tool ganz einfach mit dem Paketmanager Ihrer Distribution installieren.

Installiere 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 unter Arch Linux

sudo pacman -S bind-tools

Grundlegendes zur Dig-Ausgabe

In seiner einfachsten Form ist der Befehl dig ziemlich ausführlich, wenn er zum Abfragen eines einzelnen Hosts (einer Domäne) ohne zusätzliche Argumente verwendet wird.

Im folgenden Beispiel führen wir eine Abfrage durch, um Informationen zur Domäne linux.org .

dig linux.org

Die Ausgabe sollte ungefähr so ​​aussehen:

Gehen wir Abschnitt für Abschnitt und erklären die Ausgabe des dig Befehls:

  1. Die erste Zeile der Ausgabe gibt die installierte dig-Version und die aufgerufene Abfrage aus. In der zweiten Zeile werden die globalen Optionen angezeigt (standardmäßig nur cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    Der erste Abschnitt enthält technische Details zu der Antwort, die von der angeforderten Behörde (DNS-Server) erhalten wurde. Die Kopfzeile zeigt den Operationscode (die von dig ausgeführte Aktion) und den Status der Aktion. In diesem Beispiel lautet der Status NOERROR bedeutet, dass die angeforderte Behörde die Abfrage ohne NOERROR hat.

    ;; 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 der Option +nocomments entfernt werden, wodurch auch die +nocomments einiger anderer Abschnitte deaktiviert werden.

    Der Pseudo-Abschnitt "OPT" wird standardmäßig nur in den neueren Versionen des Dienstprogramms dig angezeigt. Informationen zu den Erweiterungsmechanismen für DNS (EDNS) finden Sie hier.

    ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096

    Im Abschnitt „FRAGE“ zeigt dig unsere Anfrage (Frage). Standardmäßig fordert dig den A-Datensatz an.

    ;; QUESTION SECTION:;linux.org. IN A

    Sie können diesen Abschnitt mit der Option +noquestion deaktivieren.

    Der Abschnitt "ANTWORT" gibt uns eine Antwort auf unsere Frage. Wie bereits erwähnt, fordert dig standardmäßig den A-Datensatz an. Hier verweist die Domain linux.org auf die IP-Adresse 104.18.59.123 .

    ;; 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 +noanswer , aber Sie können diesen Abschnitt mit der Option +noanswer aus der Ausgabe +noanswer .

    Der Abschnitt "AUTHORITY" gibt an, welche Server für die Beantwortung von DNS-Anfragen zur abgefragten Domain zuständig 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 der Option +noauthority deaktivieren.

    Der Abschnitt "ZUSÄTZLICH" enthält Informationen zu den IP-Adressen der autorisierenden DNS-Server, die im Abschnitt "Autorität" 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

    Die Option +noadditional deaktiviert den zusätzlichen Abschnitt einer Antwort.

    Der letzte Abschnitt der dig-Ausgabe enthält Statistiken zur 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 der Option +nostats deaktivieren.

Nur die Antwort drucken

In den meisten Fällen möchten Sie nur eine schnelle Antwort auf Ihre Grabungsabfrage erhalten.

1. Erhalten Sie eine kurze Antwort

Verwenden Sie die Option +short um eine kurze Antwort auf Ihre Frage zu erhalten:

dig linux.org +short

104.18.59.123 104.18.58.123

Die Ausgabe enthält nur die IP-Adressen des A-Datensatzes.

2. Erhalten Sie eine detaillierte Antwort

Um eine detailliertere Antwort zu erhalten, +noall Sie alle Ergebnisse mit den Optionen +noall und +noall dann nur den Antwortbereich mit der Option +answer .

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

Abfragespezifischer Nameserver

Wenn kein Nameserver angegeben ist, verwendet dig standardmäßig die in der Datei /etc/resolv.conf aufgeführten Server.

Verwenden Sie zum Angeben eines Nameservers, für den die Abfrage ausgeführt werden soll, das Symbol @ (at) gefolgt von der IP-Adresse oder dem Hostnamen des Nameservers.

Um beispielsweise den Google-Nameserver (8.8.8.8) nach Informationen zur Domain linux.org , verwenden Sie linux.org :

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

Datensatztyp abfragen

Mit Dig können Sie eine gültige DNS-Abfrage durchführen, indem Sie den Datensatztyp an das Ende der Abfrage anhängen. Im folgenden Abschnitt zeigen wir Ihnen Beispiele für die Suche nach den gängigsten Datensätzen, z. B. A (die IP-Adresse), CNAME (kanonischer Name), TXT (Textdatensatz), MX (Mail Exchanger) und NS (Nameserver).

1. Abfragen eines Datensatzes

Verwenden Sie die Option a, um eine Liste aller Adressen für einen Domainnamen zu erhalten:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Wie Sie bereits wissen, fordert dig den A-Eintrag an, wenn kein DNS-Eintragstyp angegeben ist. Sie können den A-Datensatz auch abfragen, ohne die Option a anzugeben.

2. Abfragen von CNAME-Einträgen

Um den Alias-Domainnamen zu finden, verwenden Sie die Option cname :

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. Abfragen von TXT-Datensätzen

Verwenden Sie die Option txt , um alle TXT-Einträge für eine bestimmte Domain abzurufen:

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. Abfragen von MX-Datensätzen

Um eine Liste aller Mailserver für eine bestimmte Domain zu erhalten, verwenden Sie die Option mx :

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. Abfragen von NS-Einträgen

Verwenden Sie die Option ns um die autorisierenden Nameserver für unsere bestimmte Domain zu finden:

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. Alle Datensätze abfragen

Verwenden Sie die Option any , um eine Liste aller DNS-Einträge für eine bestimmte Domäne abzurufen:

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

DNS-Suche umkehren

Verwenden Sie die Option -x um den mit einer bestimmten IP-Adresse verknüpften Hostnamen abzufragen.

Zum Durchführen einer umgekehrten Suche für 208.118.235.148 würden Sie beispielsweise 208.118.235.148 verwenden:

dig -x 208.118.235.148 +noall +answer

Wie Sie der Ausgabe unten 208.118.235.148 ist die IP-Adresse 208.118.235.148 mit dem Hostnamen 208.118.235.148 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

Im folgenden Beispiel werden die in der Datei domains.txt aufgelisteten Domänen domains.txt .

domains.txt

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

Das Verhalten des Befehls dig kann gesteuert werden, indem Benutzeroptionen in der Datei ${HOME}/.digrc werden.

Wenn die .digrc Datei im .digrc des Benutzers vorhanden ist, werden die darin angegebenen Optionen vor den Befehlszeilenargumenten angewendet.

Wenn Sie beispielsweise nur den Antwortbereich anzeigen möchten, öffnen Sie Ihren Texteditor und erstellen Sie die folgende ~/.digrc Datei:

~ /.digrc

+nocmd +noall +answer

Fazit

dig ist ein Befehlszeilentool zum Abfragen von DNS-Informationen und zur Behebung von DNS-Problemen.

dig terminal