dig
dig - Abfragen von DNS-Server
Beschreibung
- Domain Information Groper
Andere DNS-Lookup-Tools haben meist weniger Funktionalität als dig
- Die meisten DNS-Administratoren verwenden dig für die Fehlersuche bei DNS-Problemen, da es flexibel, einfach zu bedienen und übersichtlich in der Ausgabe ist
- Obwohl dig normalerweise mit Befehlszeilenargumenten verwendet wird, verfügt es auch über einen Batch-Modus, um Lookup-Anfragen aus einer Datei zu lesen.
- Eine kurze Zusammenfassung der Befehlszeilenargumente und Optionen wird ausgegeben, wenn die Option -h angegeben wird
- Die BIND 9-Implementierung von dig erlaubt es, mehrere Suchanfragen von der Kommandozeile aus zu stellen
- Wenn es nicht angewiesen wird, einen bestimmten Nameserver abzufragen, versucht dig jeden der in /etc/resolv.conf aufgeführten Server
- Wenn keine brauchbaren Serveradressen gefunden werden, sendet dig die Anfrage an den lokalen Host
Installation
Aufruf
dig [@Server] [Domain] [Typ] [-x IP-Adresse]
dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-v] [-x addr] [-y [hmac:]name:key] [ [-4] | [-6] ] [name] [type] [class] [queryopt...]
dig [-h]
dig [global-queryopt...] [query...]
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | DNS response received, including NXDOMAIN status |
| 1 | Usage error |
| 8 | Couldn't open batch file |
| 9 | No reply from server |
| 10 | Internal error |
Anwendung
Aufruf ohne Argumente
Nameserver(NS)-Abfrage an Root-Server
dig
; <<>> DiG 9.19.21-1+b1-Debian <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41706
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 84750 IN NS j.root-servers.net.
. 84750 IN NS a.root-servers.net.
. 84750 IN NS b.root-servers.net.
. 84750 IN NS d.root-servers.net.
. 84750 IN NS f.root-servers.net.
. 84750 IN NS c.root-servers.net.
. 84750 IN NS e.root-servers.net.
. 84750 IN NS h.root-servers.net.
. 84750 IN NS i.root-servers.net.
. 84750 IN NS m.root-servers.net.
. 84750 IN NS l.root-servers.net.
. 84750 IN NS k.root-servers.net.
. 84750 IN NS g.root-servers.net.
;; ADDITIONAL SECTION:
m.root-servers.net. 76425 IN A 202.12.27.33
l.root-servers.net. 76425 IN A 199.7.83.42
k.root-servers.net. 84750 IN A 193.0.14.129
j.root-servers.net. 84750 IN A 192.58.128.30
i.root-servers.net. 84750 IN A 192.36.148.17
h.root-servers.net. 84750 IN A 198.97.190.53
g.root-servers.net. 84750 IN A 192.112.36.4
f.root-servers.net. 84750 IN A 192.5.5.241
e.root-servers.net. 84750 IN A 192.203.230.10
d.root-servers.net. 84750 IN A 199.7.91.13
c.root-servers.net. 84750 IN A 192.33.4.12
b.root-servers.net. 84750 IN A 170.247.170.2
a.root-servers.net. 84750 IN A 198.41.0.4
m.root-servers.net. 76425 IN AAAA 2001:dc3::35
l.root-servers.net. 76425 IN AAAA 2001:500:9f::42
k.root-servers.net. 84750 IN AAAA 2001:7fd::1
j.root-servers.net. 84750 IN AAAA 2001:503:c27::2:30
i.root-servers.net. 84750 IN AAAA 2001:7fe::53
h.root-servers.net. 84750 IN AAAA 2001:500:1::53
g.root-servers.net. 84750 IN AAAA 2001:500:12::d0d
f.root-servers.net. 84750 IN AAAA 2001:500:2f::f
e.root-servers.net. 84750 IN AAAA 2001:500:a8::e
d.root-servers.net. 84750 IN AAAA 2001:500:2d::d
c.root-servers.net. 84750 IN AAAA 2001:500:2::c
b.root-servers.net. 84750 IN AAAA 2801:1b8:10::b
a.root-servers.net. 84750 IN AAAA 2001:503:ba3e::2:30
;; Query time: 4 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)
;; WHEN: Wed May 29 19:38:08 CEST 2024
Mehrere Abfragen
Die BIND 9-Implementierung von dig unterstützt die Angabe mehrerer Abfragen in der Befehlszeile (zusätzlich zur Unterstützung der Option -f für Batch-Dateien).
- Jede dieser Abfragen kann mit einem eigenen Satz von Flags, Optionen und Abfrageoptionen versehen werden.
In diesem Fall stellt jedes Abfrageargument eine einzelne Abfrage in der oben beschriebenen Befehlszeilensyntax dar.
- Jedes besteht aus einer der Standardoptionen und Flags, dem Namen, der gesucht werden soll, einem optionalen Abfragetyp und einer Klasse sowie allen Abfrageoptionen, die auf diese Abfrage angewandt werden sollen.
Ein globaler Satz von Abfrageoptionen, der auf alle Abfragen angewandt werden soll, kann ebenfalls angegeben werden.
- Diese globalen Abfrageoptionen müssen dem ersten Tupel aus Name, Klasse, Typ, Optionen, Flags und Abfrageoptionen in der Befehlszeile vorangestellt werden.
- Alle globalen Abfrageoptionen (außer +cmd und +short options) können durch einen abfragespezifischen Satz von Abfrageoptionen außer Kraft gesetzt werden.
Beispiel
Drei Abfragen durchführen
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
- eine ANY-Abfrage für www.isc.org, eine Reverse-Abfrage von 127.0.0.1 und eine Abfrage der NS-Einträge von isc.org
- Es wird die globale Abfrageoption +qr verwendet, sodass dig die ursprüngliche Abfrage für jede Abfrage anzeigt
- Die letzte Abfrage hat die lokale Abfrageoption +noqr, was bedeutet, dass dig die ursprüngliche Abfrage nicht ausgibt, wenn es die NS-Einträge für isc.org nachschlägt
Problembehebung
Caches
dig verfügt über keinen eigenen Cache
- Caching-Daemon
- es sei denn, Sie führen lokal einen Caching-Daemon wie nscdoder dnsmasqusw. aus.
In diesem Fall müssen Sie lediglich diese Daemons neu starten, um den lokalen Cache zu leeren.
- +trace
Mit +trace können Sie genau sehen, woher die Ergebnisse stammen.
dig +trace foxtom.de
; <<>> DiG 9.20.20-1-Debian <<>> +trace foxtom.de
;; global options: +cmd
. 468 IN NS j.root-servers.net.
. 468 IN NS k.root-servers.net.
. 468 IN NS l.root-servers.net.
. 468 IN NS m.root-servers.net.
. 468 IN NS a.root-servers.net.
. 468 IN NS b.root-servers.net.
. 468 IN NS c.root-servers.net.
. 468 IN NS d.root-servers.net.
. 468 IN NS e.root-servers.net.
. 468 IN NS f.root-servers.net.
. 468 IN NS g.root-servers.net.
. 468 IN NS h.root-servers.net.
. 468 IN NS i.root-servers.net.
. 468 IN RRSIG NS 8 0 518400 20260329050000 20260316040000 21831 . I57VAisbkt9bmDvI/cUyRCXFJKcYgiECke+qWUY9H4A1Xynq+3XlTAPi hLMjH8ZTdE4uOY7XUpsid1ks3zEksvbuApJHYmtlQGLb2uBmrzDo1Swm irenrTXErtpnepQjCX2pcFh7WtBD9otziXruCQKmDh4eIy2NdFYGz5Ks XsBE1fUfNHPesYauOfCvYXo25053ppmo19EwcBxCV2GhhjRAiXXhtbdu gR+oIdc5CLNwxvQJgMdH99X3Pvcp/YZkvJUAYp0UWWLrafgd6k+jgE8n Iv9845k1+YEmKWugfjYuVL5RF4uIE4L+/70PbxvnPL663QTiJfYdGJ4z Fd7Txg==
;; Received 1025 bytes from 192.168.1.1#53(192.168.1.1) in 4 ms
de. 172800 IN NS a.nic.de.
de. 172800 IN NS z.nic.de.
de. 172800 IN NS s.de.net.
de. 172800 IN NS n.de.net.
de. 172800 IN NS l.de.net.
de. 172800 IN NS f.nic.de.
de. 86400 IN DS 26755 8 2 F341357809A5954311CCB82ADE114C6C1D724A75C0395137AA397803 5425E78D
de. 86400 IN RRSIG DS 8 1 86400 20260329050000 20260316040000 21831 . lBJASnFwDeWlRk2ruqu1SfQj71Nj90J1S8K1Ac5LjtE7Jtl3xROe3rYf zj6UIo8Xrv9fYNUzD0gc7p7CMuLqPQPHp1zmBdNyualuVKkHyQVblWsv EJ+iEzsr4vNhk5224MZUTaOLWzGYbbT1aColf8ZIwhQJP0sX43NyQ1TK AVDjBn0EsEpM62vHXfi9+HiqMsD8aJPDuAk+gyT+Mu0nYrsBLzjcg6tD jTrtXunmBS0d96GmbZKPZKRcM4YEGAJxV+SjOrsyF5DwY1oDVkFIdvlJ QU66UcOjZHenTMVnzzsbKxyQjCFrVP3ONa2uC7eIWmhBK/sICfOUFHOI 8OSUDQ==
;; Received 771 bytes from 192.36.148.17#53(i.root-servers.net) in 12 ms
foxtom.de. 86400 IN NS ns10.foxtom.de.
foxtom.de. 86400 IN NS ns20.foxtom.de.
a0d5d1p51kijsevll74k523htmq406bk.de. 7200 IN NSEC3 1 1 0 - A0D5F6VETKD4HE1UG3NJGF20U4QMCIAQ NS SOA RRSIG DNSKEY NSEC3PARAM
oinfivnk766ao1p0jtluqftl0082td6f.de. 7200 IN NSEC3 1 1 0 - OINGAP3QG6CVGM20VF0BMA52K2VVL2IF A RRSIG
a0d5d1p51kijsevll74k523htmq406bk.de. 7200 IN RRSIG NSEC3 8 2 7200 20260330071706 20260316054706 57619 de. lS5pS4Gowk+ybsXQI/HSnbHhJMxDk6YFA3beDLtWoVsChk5TEJxXzHD4 lEivQBq1rKo87dAacloVtq83V4rVhfatNjuf7QxAAVgSp7gmQnjn68UE Ksr7Sxnn8sV7UPXkWoB1JVHaXOBQpL4XM6k2dd09WImfqYIY5Wdeh42v D4U=
oinfivnk766ao1p0jtluqftl0082td6f.de. 7200 IN RRSIG NSEC3 8 2 7200 20260330071706 20260316054706 57619 de. T7ECLW8SLsw/SAzdz1S/Hh+BrETsNktVzVxR3eJhtfOJRUK1+MMsxLI9 jNlcjP7JDZGWH1s7xGTaseDGLWU1LjYvUV8YOV+8rVUz8TEuNeKqQ+Jd AlbLKrUtXwd3SoJzCof2/FIhZJFZ0RGAqtxE1TyQ9V69bhmgnUFmyGY7 TZo=
;; Received 647 bytes from 81.91.164.5#53(f.nic.de) in 20 ms
foxtom.de. 86400 IN A 116.202.118.50
foxtom.de. 3600 IN NS ns10.foxtom.de.
foxtom.de. 3600 IN NS ns20.foxtom.de.
;; Received 208 bytes from 159.69.181.17#53(ns10.foxtom.de) in 28 ms
- Anmerkungen
Wenn ich +trace verwende, umgeht es den Cache und liefert mir aktuelle Ergebnisse, sodass mir das nicht dabei hilft, herauszufinden, wo sich der Cache befindet. Es bestätigt jedoch mein Wissen über einen Cache, da ich die Anfrage sofort ohne +trace erneut versuchen kann und trotzdem die alten Ergebnisse erhalte. Ich habe meine laufenden Prozesse überprüft und nachgesehen, ob jeder mir bekannte Caching-Daemon installiert ist, und ich finde nichts.
Wenn du einen lokalen Cache hast, sollte das dig-Ergebnis die lokale Loopback-IP 127.0.0.1 oder etwas Ähnliches anzeigen. Wie sieht die Ausgabe eines einfachen dig-Befehls aus, die du siehst?
Edit: Ich habe die Ergebnisse in die ursprüngliche Frage eingefügt, da ich in Kommentaren keine Code-Blöcke erstellen kann. Das Caching scheint nicht auf deinem lokalen System zu erfolgen, du hast also keinen lokalen DNS-Cache, sondern auf deinem DNS-Server.
Es scheint, dass es tatsächlich am Server lag. Ich habe meine DNS-Server in /etc/resolv.conf auf solche mit kürzeren Cache-Laufzeiten umgestellt und erhalte nun aktuellere Ergebnisse. Vielen Dank für Ihre Hilfe. Upvote und akzeptierte Antwort für Sie.
Konfiguration
Es ist möglich, über{HOME}/.digrc benutzerspezifische Voreinstellungen für dig zu setzen
- Diese Datei wird gelesen und alle darin enthaltenen Optionen werden vor den Befehlszeilenargumenten angewandt.
- Die Option -r deaktiviert diese Funktion für Skripte, die ein vorhersehbares Verhalten benötigen.
Dateien
| Datei | Beschreibung |
|---|---|
| /etc/resolv.conf | |
| ~/.digrc |
Anhang
Siehe auch
- Domain Name System
- Domain Name System/Domain/Registrierung
- Domain Name System/Erweiterungen
- Domain Name System/Multicast
- Domain Name System/Nameserversoftware
- Domain Name System/Record
- Domain Name System/Request
- Domain Name System/Resolver
- Domain Name System/Server/Autoritative
- Domain Name System/Server/Rekursiv
- Domain Name System/Sicherheit
Dokumentation
Links
Projekt
Weblinks
- https://geek-university.com/linux-deutsch/dig-befehl/
- https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/ (Englisch)
- https://wiki.ubuntuusers.de/dig/
TMP
Aufruf
Anhang
Dokumentation
RFC
- RFC 1035
- Man-Page
- DIG(1)
- delv(1)
- host(1)
- named(8)
- dnssec-keygen(8)