LINUXMAKER, OpenSource, Tutorials

Unterschiedliche Möglichkeiten der dig-Abfrage

Was erfährt man mit dig?

Mit dig kann eine beliebige gültige DNS-Abfrage durchgeführt werden. Die häufigsten DNS-Abfragen sind

  • A      - die IP-Adresse
  • TXT  - Textanmerkungen
  • MX   - den Mail Exchange Server
  • NS   -  den Nameserver
  • ANY - Anzeigen aller DNS-Records

# Erhalte die Adresse(n) für yahoo.com
dig yahoo.com A +noall +answer

# Erhalte eine Liste der Mailserver von Yahoo
dig yahoo.com MX +noall +answer

# Erhalte eine Liste der für yahoo.com autorisierenden DNS-Server
dig yahoo.com NS +noall +answer

# Erhalte alles von dem oben Genannten
dig yahoo.com ANY +noall +answer

Inzwischen kann mit der AAAA Option auch nach der IPv6-Adresse eines Hosts gefragt werden.

 dig www.isc.org AAAA +short

Wenn die Domäne, die abgefragt werden soll, DNS-Übertragungen zulässt, kann man diese ebenfalls erhalten. Die Realität im Altag des Internets ist jedoch, dass heutzutage nur sehr wenige Domains uneingeschränkte Übertragungen erlauben. Dieses Verfahren wird als Asynchronous Xfer Full Range oder Asynchronous Full Transfer Zone bezeichnet. So lässt sich testen, ob der DNS-Server auf die richtigen abfragenden IP-Adressen eingestellt ist.

 dig yourdomain.com AXFR @DNS-Server

Sehr kurze dig-Antworten

Wenn es nur um die IP-Adresse und sehr kurze Antworten geht, dann hilft dabei die Option +short.

$ dig gmail.com +short
172.217.21.101

Das ist sehr nützlich, wenn man die Ergebnisse von dig innerhalb eines Shell-Scriptes nutzen möchte.

Kurze, aber doch bereits detailiertere dig-Antworten

Sollen nicht alle zusätzlichen Informationen in der Antwort erscheinen und ist die kurze Antwort zu kurz, dann ist die Vorgehensweise eine Andere. Zuerst werden mit der Option +noall alle Ergebnisse deaktiviert und gleichzeitig werden mit den folgenden Optionen die gewünschten Ergebnisse aktiviert.

$ dig gmail.com mx +short
40 alt4.gmail-smtp-in.l.google.com.
30 alt3.gmail-smtp-in.l.google.com.
5 gmail-smtp-in.l.google.com.
10 alt1.gmail-smtp-in.l.google.com.
20 alt2.gmail-smtp-in.l.google.com.

$ dig +nocmd gmail.com mx +noall +answer
gmail.com.              2342    IN      MX      30 alt3.gmail-smtp-in.l.google.com.
gmail.com.              2342    IN      MX      5 gmail-smtp-in.l.google.com.
gmail.com.              2342    IN      MX      20 alt2.gmail-smtp-in.l.google.com.
gmail.com.              2342    IN      MX      40 alt4.gmail-smtp-in.l.google.com.
gmail.com.              2342    IN      MX      10 alt1.gmail-smtp-in.l.google.com.

Das Beispiel zeigt eine kurze Antwort für die Mailserver von gmail.com und in dem zweiten dig-Befehl folgen bereits alle Konfigutrationsinformationen inklusive der TTL-Daten (Time-to-Live). Diese Daten werden dem BIND kompatiblen Format angezeigt.
Die gleichen Informationen erhält man, wenn man die Option -t MX nutzt:

dig -t MX +nocmd gmail.com +noall +answer

Lange git-Antworten

Entsprechend der Manpage liefert die Option +multiline eine Antwort mit "den SOA-Datensätzen in einem ausführlichen mehrzeiligen Format und mit lesbaren Kommentaren". Im Allgemeinen werden die mit der Option +multiline abgerufenen Antworten eher wie BIND Config-Dateien aussehen, als ohne diese Option.

dig +nocmd ogi.edu ANY +multiline +noall  +answer
ogi.edu.                3589 IN A 137.53.244.59
ogi.edu.                86389 IN SOA DNS0.ohsu.edu. netcomm.ohsu.edu. (
                                177        ; serial
                                3600       ; refresh (1 hour)
                                3600       ; retry (1 hour)
                                604800     ; expire (1 week)
                                600        ; minimum (10 minutes)
                                )
ogi.edu.                86389 IN NS DNS4.ohsu.edu.
ogi.edu.                86389 IN NS DNS3.ohsu.edu.
ogi.edu.                86389 IN NS DNS1.ohsu.edu.

Durchführung eines Reverse-Lookup

Ist die IP-Adresse bekannt, dann kann durchaus interessant sein, die dazugehörige IP-Adresse zu ermitteln. Das lässt sich mit der -x Option umsetzen.

$ dig -x 188.40.80.233 +short
pushdings.com.

Nutzen eines anderen Nameservers

Einfach durch das Anhängens des Nameservers an die @ Option kann der betreffende Nameserver gezielt abgefragt werden.

dig @ns1.first-ns.de www.google.com

Nutzen der search-Liste in /etc/resolv.conf

Das Kommando host nutzt zur Auflösung automatisch die search-Liste in der betreffenden /etc/resolv.conf-Datei.

$ host www
www.linuxmaker.com has address 188.40.80.30

Per Default-Einstellungen ist dies allerdings nicht der Fall; was zu unerwarteten Ergebnissen führen kann. Wenn lokale Hostnamen anstelle von vollständig qualifizierten Domänennamen verwendet sollen, dann wird die +search Option benutzt.

dig www +search

Durchführung von Bulk-Lookups

Sollen eine große Anzahl von Hosts durch einen Lookup ermittelt werden, dann können die Hostnamen in eine Datei - ein Name pro Zeile - eingfügt. Mit der -f Option kann die Abfrage nacheinander durchgeführt werden.

# Vollständige Lookups für eine Reihe von Hostnamen durchführen
dig -f /path_to/hosts.txt

# Das Gleiche, mit mehr fokussierter Ausgabe
dig -f /path_to/hosts.txt +noall +answer