Zum Inhalt springen

dig

Aus Foxwiki

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

dig ist Teil, von dnsutils

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



Dokumentation

Projekt

  1. https://geek-university.com/linux-deutsch/dig-befehl/
  2. https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/ (Englisch)
  3. https://wiki.ubuntuusers.de/dig/



TMP

Aufruf

Anhang

Dokumentation

RFC
  1. RFC 1035
Man-Page
  1. DIG(1)
  2. delv(1)
  3. host(1)
  4. named(8)
  5. dnssec-keygen(8)