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.

 dig yourdomain.com AXFR

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