GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Dig-Befehl in Linux (DNS-Lookup)

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:

  1. 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 nach dig sein Befehl.

  2. 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 Status NOERROR , 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.

  3. 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.

  4. Im Abschnitt „QUESTION“ dig zeigt die Abfrage (Frage). Standardmäßig dig fordert den A-Eintrag an.

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

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

  5. 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 Domain linux.org zeigt auf 104.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.

  6. 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.

  7. 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.

  8. 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.

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 #

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:

~/.digrc
+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.


Linux
  1. So verwenden Sie den Dig-Befehl unter Linux

  2. Linux-mv-Befehl

  3. Linux-IP-Befehl

  4. Linux-cd-Befehl

  5. 10 Linux nslookup-Befehlsbeispiele für die DNS-Suche

Bei Befehl unter Linux

So verwenden Sie den Dig-Befehl unter Linux (10 Beispiele)

So verwenden Sie den Dig-Befehl unter Linux

Dig-Befehl in Linux erklärt

dig-Befehl in Linux:Eine vollständige Referenz für Anfänger

10 Linux-DIG-Befehlsbeispiele für die DNS-Suche