Dig
Un article de WindowsLinux.net - Astuces pour Windows et Linux !.
Dig est une commande qui nous permet de savoir "quel chemin" prend une requête DNS, en nous donnant le nom des serveurs dns qui sont utilisés pour résoudre l'adresse.
Sommaire |
Cas d'utilisations
Pour un TLD
dig fr. NS
Va renvoyer les serveurs NS principaux pour l'extension .fr.
A savoir ceci :
; <<>> DiG 9.3.2 <<>> fr. NS ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1144 ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 12 ;; QUESTION SECTION: ;fr. IN NS ;; ANSWER SECTION: fr. 172800 IN NS e.nic.fr. fr. 172800 IN NS f.ext.nic.fr. fr. 172800 IN NS g.ext.nic.fr. fr. 172800 IN NS a.nic.fr. fr. 172800 IN NS b.ext.nic.fr. fr. 172800 IN NS c.nic.fr. fr. 172800 IN NS d.ext.nic.fr. fr. 172800 IN NS e.ext.nic.fr. ;; ADDITIONAL SECTION: a.nic.fr. 9163 IN A 192.93.0.129 a.nic.fr. 100647 IN AAAA 2001:660:3005:3::1:1 b.ext.nic.fr. 5172 IN A 192.228.90.21 c.nic.fr. 12761 IN A 192.134.0.129 c.nic.fr. 100647 IN AAAA 2001:660:3006:4::1:1 d.ext.nic.fr. 12761 IN A 204.152.184.85 d.ext.nic.fr. 12761 IN AAAA 2001:4f8:0:2::8 e.ext.nic.fr. 12761 IN A 193.176.144.6 e.nic.fr. 160377 IN A 194.57.253.1 f.ext.nic.fr. 9162 IN A 194.146.106.46 g.ext.nic.fr. 120909 IN A 204.61.216.39 g.ext.nic.fr. 64620 IN AAAA 2001:500:14:6039:ad::1 ;; Query time: 734 msec ;; SERVER: 194.51.3.56#53(194.51.3.56) ;; WHEN: Fri Aug 14 17:27:36 2009 ;; MSG SIZE rcvd: 396
Pour un domaine donné
dig windowslinux.net. NS
affiche les serveurs de noms pour windowslinux.net
Pour le mail (MX)
dig windowslinux.net. MX
affiche les serveurs mails qui reçoivent les mails pour le domaine "windowslinux.net" (MX = Mail eXchange).
Le serveur mail ayant le chiffre le plus petit sera contacté en premier. Si ce serveur mail est débordé ou indisponible, le serveur mail ayant le chiffre plus petit suivant sera contacté (tolérance des pannes).
Un nom d'hôte précis (FQDN)
dig www.windowslinux.net.
affiche l'adresse IP de l'ordinateur www.windowslinux.net (nommé aussi host / nom hôte, nommé aussi FQDN).
Si le résultat affiche CNAME dans le champ réponse, il s'agit en langage courant d'un "alias".
Via un serveur DNS donné
dig www.windowslinux.net. @ns1.fai.tld
Recherche l'adresse IP de www.windowslinux.net en faisant une requête au serveur DNS ns1.fai.tld.
Reverse DNS lookup (depuis une IP)
dig -x 216.21.128.22
Effectue une recherche pour le nom d'hôte depuis une adresse IP donnée (Reverse DNS lookup).
+trace : informations de performances
dig www.windowslinux.net. +trace
Vous affiche quelques informations au niveau performances.
Exemples
Prenons par exemple le nom de domaine yahoo.fr (le paramètre A pour désigner le serveur, ou encore MX pour le serveur mail - je vous conseille de lire la documentation associée : "man dig").
Commande :
dig yahoo.fr A
Réponse :
; <<>> DiG 9.3.4 <<>> yahoo.fr A ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28028 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 5, ADDITIONAL: 5 ;; QUESTION SECTION: ;yahoo.fr. IN A ;; ANSWER SECTION: yahoo.fr. 489 IN A 217.12.6.29 yahoo.fr. 489 IN A 217.146.186.221 ;; AUTHORITY SECTION: yahoo.fr. 52285 IN NS ns1.yahoo.com. yahoo.fr. 52285 IN NS ns2.yahoo.com. yahoo.fr. 52285 IN NS ns3.yahoo.com. yahoo.fr. 52285 IN NS ns5.yahoo.com. yahoo.fr. 52285 IN NS ns7.yahoo.com. ;; ADDITIONAL SECTION: ns1.yahoo.com. 39195 IN A 66.218.71.63 ns2.yahoo.com. 39195 IN A 68.142.255.16 ns3.yahoo.com. 39199 IN A 217.12.4.104 ns5.yahoo.com. 39199 IN A 216.109.116.17 ns7.yahoo.com. 40147 IN A 68.142.226.82 ;; Query time: 1 msec ;; SERVER: 193.24.213.101#53(193.24.213.101) ;; WHEN: Sat Apr 28 01:59:09 2007 ;; MSG SIZE rcvd: 237
Ajouter l'option "+trace" à la commande précédente est très utile et nous permet de voir le cheminement depuis les serveurs root :
dig yahoo.fr A +trace
Réponse :
; <<>> DiG 9.3.4 <<>> yahoo.fr A +trace ;; global options: printcmd . 447419 IN NS G.ROOT-SERVERS.NET. . 447419 IN NS H.ROOT-SERVERS.NET. . 447419 IN NS I.ROOT-SERVERS.NET. . 447419 IN NS J.ROOT-SERVERS.NET. . 447419 IN NS K.ROOT-SERVERS.NET. . 447419 IN NS L.ROOT-SERVERS.NET. . 447419 IN NS M.ROOT-SERVERS.NET. . 447419 IN NS A.ROOT-SERVERS.NET. . 447419 IN NS B.ROOT-SERVERS.NET. . 447419 IN NS C.ROOT-SERVERS.NET. . 447419 IN NS D.ROOT-SERVERS.NET. . 447419 IN NS E.ROOT-SERVERS.NET. . 447419 IN NS F.ROOT-SERVERS.NET. ;; Received 436 bytes from 193.24.213.101#53(193.24.213.101) in 2 ms fr. 172800 IN NS D.EXT.NIC.fr. fr. 172800 IN NS C.NIC.fr. fr. 172800 IN NS E.EXT.NIC.fr. fr. 172800 IN NS B.EXT.NIC.fr. fr. 172800 IN NS A.EXT.NIC.fr. fr. 172800 IN NS C.EXT.NIC.fr. fr. 172800 IN NS B.NIC.fr. fr. 172800 IN NS E.NIC.fr. fr. 172800 IN NS A.NIC.fr. ;; Received 434 bytes from 192.112.36.4#53(G.ROOT-SERVERS.NET) in 116 ms yahoo.fr. 172800 IN NS ns2.yahoo.com. yahoo.fr. 172800 IN NS ns1.yahoo.com. yahoo.fr. 172800 IN NS ns5.yahoo.com. yahoo.fr. 172800 IN NS ns3.yahoo.com. yahoo.fr. 172800 IN NS ns7.yahoo.com. ;; Received 125 bytes from 204.152.184.85#53(D.EXT.NIC.fr) in 160 ms yahoo.fr. 900 IN A 217.12.6.29 yahoo.fr. 900 IN A 217.146.186.221 yahoo.fr. 172800 IN NS ns1.yahoo.com. yahoo.fr. 172800 IN NS ns2.yahoo.com. yahoo.fr. 172800 IN NS ns3.yahoo.com. yahoo.fr. 172800 IN NS ns5.yahoo.com. yahoo.fr. 172800 IN NS ns7.yahoo.com. ;; Received 237 bytes from 68.142.255.16#53(ns2.yahoo.com) in 82 ms
Un autre exemple, sur fr.yahoo.com :
dig fr.yahoo.com A +trace
; <<>> DiG 9.3.4 <<>> fr.yahoo.com A +trace ;; global options: printcmd . 446720 IN NS L.ROOT-SERVERS.NET. . 446720 IN NS M.ROOT-SERVERS.NET. . 446720 IN NS A.ROOT-SERVERS.NET. . 446720 IN NS B.ROOT-SERVERS.NET. . 446720 IN NS C.ROOT-SERVERS.NET. . 446720 IN NS D.ROOT-SERVERS.NET. . 446720 IN NS E.ROOT-SERVERS.NET. . 446720 IN NS F.ROOT-SERVERS.NET. . 446720 IN NS G.ROOT-SERVERS.NET. . 446720 IN NS H.ROOT-SERVERS.NET. . 446720 IN NS I.ROOT-SERVERS.NET. . 446720 IN NS J.ROOT-SERVERS.NET. . 446720 IN NS K.ROOT-SERVERS.NET. ;; Received 436 bytes from 193.24.213.101#53(193.24.213.101) in 2 ms com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. ;; Received 490 bytes from 198.32.64.12#53(L.ROOT-SERVERS.NET) in 154 ms yahoo.com. 172800 IN NS ns1.yahoo.com. yahoo.com. 172800 IN NS ns2.yahoo.com. yahoo.com. 172800 IN NS ns3.yahoo.com. yahoo.com. 172800 IN NS ns4.yahoo.com. yahoo.com. 172800 IN NS ns5.yahoo.com. ;; Received 200 bytes from 192.5.6.30#53(a.gtld-servers.net) in 111 ms fr.yahoo.com. 1800 IN CNAME www.euro.yahoo-eu1.akadns.net. . 3600000 IN NS A.ROOT-SERVERS.net. . 3600000 IN NS B.ROOT-SERVERS.net. . 3600000 IN NS C.ROOT-SERVERS.net. . 3600000 IN NS D.ROOT-SERVERS.net. . 3600000 IN NS E.ROOT-SERVERS.net. . 3600000 IN NS F.ROOT-SERVERS.net. . 3600000 IN NS G.ROOT-SERVERS.net. . 3600000 IN NS H.ROOT-SERVERS.net. . 3600000 IN NS I.ROOT-SERVERS.net. . 3600000 IN NS J.ROOT-SERVERS.net. . 3600000 IN NS K.ROOT-SERVERS.net. . 3600000 IN NS L.ROOT-SERVERS.net. . 3600000 IN NS M.ROOT-SERVERS.net. ;; Received 281 bytes from 66.218.71.63#53(ns1.yahoo.com) in 154 ms
La partie intéressante dans toutes ces lignes est donc :
- Les lignes qui affichent le nom des serveurs qui ont l'enregistrement
- La ligne :
Received XXX bytes from x.x.x.x#53(X.SERVEURDNS.TLD) in XXX ms
Qui nous montre quel serveur à répondu à notre requête (sur le #53 : port 53).
D'autres options sont utiles comme l'option "@ServeurDNS", ou encore "-b" (voyez le "man dig").
Pour Windows
Voir cette page : http://members.shaw.ca/nicholas.fong/dig/

