dig (programme informatique)
dig (de l'anglais domain information groper) est un client de type Unix en ligne de commande, permettant d'interroger des serveurs DNS. Sous Linux, il est disponible dans le package dnsutils. Sous Fedora, le package est bind-utils[1].
Utilisation
Voici comment demander les enregistrements de type A (adresse IP, le type par défaut), pour le nom fr.wikipedia.org[2] :
% dig fr.wikipedia.org. ... ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51006 ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 3, ADDITIONAL: 3 ... ;; ANSWER SECTION: fr.wikipedia.org. 1652 IN CNAME rr.wikimedia.org. rr.wikimedia.org. 1068 IN A 207.142.131.202 ...
Si on souhaite un autre type d'enregistrement, on peut le spécifier sur la ligne de commandes.
Par exemple, pour un enregistrement MX :
% dig MX wikipedia.org.
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13841
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
...
;; ANSWER SECTION:
wikipedia.org. 3600 IN MX 50 pascal.knams.wikimedia.org.
wikipedia.org. 3600 IN MX 10 mail.wikimedia.org.
Enfin, on peut aussi désigner un serveur particulier, par exemple ici pour connaitre les serveurs de noms de ".fr" tels qu'ils sont connus des serveurs racine :
% dig @f.root-servers.net NS fr.
...
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51518
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 9, ADDITIONAL: 12
...
;; AUTHORITY SECTION:
fr. 172800 IN NS B.EXT.NIC.fr.
fr. 172800 IN NS B.NIC.fr.
fr. 172800 IN NS C.EXT.NIC.fr.
fr. 172800 IN NS C.NIC.fr.
...
Dans la réponse, on trouve des indicateurs (flags), le plus important est sans doute aa (authoritative answer) qui, lorsqu'il est présent, indique que la réponse vient directement d'un serveur faisant autorité.
Dans la réponse, l'état (status) indique si la requête a été couronnée de succès ou pas. NOERROR dit que oui, NXDOMAIN (No such domain) que le nom n'existe pas, SERVFAIL (Server failure) que le serveur de noms est mal configuré, etc. Notons qu'on peut avoir NOERROR et pas de réponse, par exemple si le nom existe mais ne contient pas d'enregistrements du type demandé.
dig n'est pas limité à l'IPv4, et peut également fonctionner avec de l'IPv6, comme l'illustre l'exemple suivant :
dig -6 @k.root-servers.net . ns +bufsize=1024
; <<>> DiG 9.7.0-P1 <<>> -6 @k.root-servers.net . ns +bufsize=1024
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38130
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 22
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS d.root-servers.net.
. 518400 IN NS e.root-servers.net.
. 518400 IN NS f.root-servers.net.
. 518400 IN NS g.root-servers.net.
. 518400 IN NS h.root-servers.net.
. 518400 IN NS i.root-servers.net.
. 518400 IN NS j.root-servers.net.
. 518400 IN NS k.root-servers.net.
. 518400 IN NS l.root-servers.net.
. 518400 IN NS m.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 518400 IN A 198.41.0.4
b.root-servers.net. 518400 IN A 192.228.79.201
c.root-servers.net. 518400 IN A 192.33.4.12
d.root-servers.net. 518400 IN A 128.8.10.90
e.root-servers.net. 518400 IN A 192.203.230.10
f.root-servers.net. 518400 IN A 192.5.5.241
g.root-servers.net. 518400 IN A 192.112.36.4
h.root-servers.net. 518400 IN A 128.63.2.53
i.root-servers.net. 518400 IN A 192.36.148.17
j.root-servers.net. 518400 IN A 192.58.128.30
k.root-servers.net. 518400 IN A 193.0.14.129
l.root-servers.net. 518400 IN A 199.7.83.42
m.root-servers.net. 518400 IN A 202.12.27.33
a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30
f.root-servers.net. 518400 IN AAAA 2001:500:2f::f
h.root-servers.net. 518400 IN AAAA 2001:500:1::803f:235
i.root-servers.net. 518400 IN AAAA 2001:7fe::53
j.root-servers.net. 518400 IN AAAA 2001:503:c27::2:30
k.root-servers.net. 518400 IN AAAA 2001:7fd::1
l.root-servers.net. 518400 IN AAAA 2001:500:3::42
m.root-servers.net. 518400 IN AAAA 2001:dc3::35
;; Query time: 175 msec
;; SERVER: 2001:7fd::1#53(2001:7fd::1)
;; WHEN: Wed Jul 7 17:22:17 2010
;; MSG SIZE rcvd: 671
Références
- « apps.fedoraproject.org/package… »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?).
- (en) « DIG - DNS lookup », sur kloth.net (consulté le ).