DIG par l’exemple

Interrogeons les serveurs DNS

dig est un outil en ligne de commande d’interrogation de serveurs DNS. Il permet d’avoir des renseignements sur tout les types d’enregistrements (NS, A, CNAME, etc) et plus encore. Il n’est pas aisé de trouver des infos sur son fonctionnement et la page de manuel ne comporte aucun exemple. Voici quelques utilisations classiques, mais bien utiles.

Utilisation

L’utilisation de la commande dig est la suivante :

dig @serveur nom type

@serveur : le serveur DNS utilisé pour la requête. nom : le nom du serveur DNS à interroger. type : le type d’enregistrement à vérifier. Mais la forme la plus simple est l’appel de la commande suivi du nom d’hôte à vérifier :

$ dig feub.net

Qui retourne quelque chose comme :

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-12.P2.fc20 <<>> feub.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34723
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;feub.net.                      IN      A

;; ANSWER SECTION:
feub.net.               3600    IN      A       91.121.82.180

;; AUTHORITY SECTION:
feub.net.               172800  IN      NS      dns107.ovh.net.
feub.net.               172800  IN      NS      ns107.ovh.net.

;; ADDITIONAL SECTION:
dns107.ovh.net.         172800  IN      A       213.251.188.151
dns107.ovh.net.         172800  IN      AAAA    2001:41d0:1:4a97::1
ns107.ovh.net.          172800  IN      A       213.251.128.151
ns107.ovh.net.          172800  IN      AAAA    2001:41d0:1:1997::1

;; Query time: 50 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 27 10:14:39 CEST 2014
;; MSG SIZE  rcvd: 186

Beaucoup d’informations sont retournées. Le première partie renseigne sur la version même de dig utilisée, suivi des options globales, dans cet exemple : printcmd qui peut ne pas être affiché en utilisant l’option +nocmd juste après le dig. La partie qui suit – Got answer – apporte des informations sur le serveur. Cette partie ne sera pas affichée en ajoutant l’option +nocomments, mais attention car elle supprime également les entêtes de sections.

Arrive la section QUESTION SECTION qui comme son nom l’indique affiche la question que vous avez posé au serveur DNS. Dans la forme simplifiée utilisée ici, la recherche est par défaut faite sur les enregistrements A. En général, vous savez ce que vous avez demandé, donc pour neutraliser cette partie dans le résultat, utiliser l’option +noquestion.

Pour terminer, la réponse est affichée dans la section ANSWER SECTION. L’IP de feub.net est 91.121.82.180. Même cette partie du résultat peut être neutralisée avec l’option +noanswer (mais je ne vois pas dans quel cas on demande quelque chose sans être intéressé par la réponse…).
La section AUTHORITY SECTION renseigne sur les serveurs DNS autoritaires du domaine. Pour ne pas afficher cette section, c’est l’option +noauthority.

La fin affiche la section ADDITIONAL SECTION qui donne les IP des serveurs DNS autoritaires utilisés pour la requête. On devine comment ne pas l’afficher : +noadditional. Et le résultat se termine par des statistiques sur la requête, que l’on désactive par l’option +nostats.

Quelques exemples

# Obtenir l'adresse du serveur hébergeant feub.net
$ dig feub.net A +noall +answer

# Obtenir la liste des serveurs de messagerie de Google
$ dig google.com MX +noall +answer

# Obtenir la liste des serveur DNS autoritaires pour Google
$ dig google.com NS +noall +answer

# Obtenir toutes les informations demandées ci-dessus
$ dig google.com ANY +noall +answer

Pour avoir un résultat court :

$ dig google.com +short

Beaucoup de possibilité avec toutes ces petites options.

2 thoughts on “DIG par l’exemple”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *