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.
Encore un truc qui va me servir ;)
Si ça peut aider ;}