4 exemples de commandes Vital Dig à connaître en tant qu'administrateur système ou développeur
Dans le métier d'administrateur système, tout semble fonctionner harmonieusement... jusqu'à ce que ce ne soit plus le cas. Dans ces moments critiques, les commandes de type "dig" se révèlent indispensables. Restez attentif pour en savoir plus.
Les administrateurs système accomplissent un travail remarquable, et cela à chaque instant. La simple exigence d'être disponible 24h/24 et 7j/7 est une contrainte que j'apprécie et respecte énormément.
Cependant, nous ne sommes pas ici pour analyser leur fiche de poste. Concentrons-nous plutôt sur leur outil de prédilection pour diagnostiquer les problèmes de DNS.
Qu'est-ce que les commandes Dig ?
Abréviation de "Domain Information Groper", les commandes Dig constituent l'une des méthodes les plus rapides pour interroger les serveurs DNS afin de déterminer ce qui fonctionne correctement et ce qui ne fonctionne pas.
Vous pouvez vérifier l'adresse IP du serveur, les serveurs de noms, l'échange de courrier, demander le TTL (Time To Live), etc., le tout grâce à des commandes faciles à retenir.
Avant de vous familiariser avec quelques commandes "dig" basiques, vérifiez que les utilitaires nécessaires sont bien installés :
$ dig -v
Ceci devrait vous retourner la version de "dig" installée, par exemple :
DiG 9.18.1-1ubuntu1-Ubuntu
Si vous n'obtenez pas de résultat similaire, vous devrez au préalable installer les outils Dig.
Pour les utilisateurs d'Ubuntu et Debian, saisissez :
$ sudo apt-get install dnsutils
Et utilisez :
$ sudo yum install bind-utils
…si vous utilisez CentOS ou RHEL.
Ensuite, exécutez `dig -v` pour confirmer que l'installation s'est déroulée sans encombre.
Enfin, poursuivez votre lecture pour découvrir quelques commandes Dig qui vous seront utiles en tant qu'administrateur système.
Vérification de l'adresse IP
Il s'agit de l'une des requêtes les plus simples, qui permet de vérifier l'adresse IP du serveur associé à un nom de domaine.
Nous allons commencer avec la commande `dig toptips.fr.com`.
$ dig toptips.fr.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> toptips.fr.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;toptips.fr.com. IN A ;; ANSWER SECTION: toptips.fr.com. 67 IN A 172.66.43.163 toptips.fr.com. 67 IN A 172.66.40.93 ;; Query time: 4 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:29:58 UTC 2022
La première information importante est le statut : `NOERROR` dans la section "Got answer" en haut. Cela indique que la requête s'est déroulée sans problème.
Cependant, l'information que nous recherchons est l'adresse IP du serveur. Elle se trouve dans la section "Answer" : 172.66.40.93 (le serveur principal) et 172.66.43.163 (le serveur de sécurité).
De plus, votre requête d'origine est visible dans la section "Question".
La dernière section donne quelques statistiques relatives à la requête.
Toutefois, cette quantité d'informations peut s'avérer excessive.
Vous pouvez obtenir une réponse plus concise en saisissant :
$ dig toptips.fr.com +noall +answer toptips.fr.com. 53 IN A 172.66.43.163 toptips.fr.com. 53 IN A 172.66.40.93
Ici, nous masquons toutes les informations inutiles avec `+noall`, pour afficher uniquement la réponse attendue grâce à `+answer`.
On peut obtenir une réponse encore plus succincte en utilisant :
$ dig toptips.fr.com +short 172.66.43.163 172.66.40.93
Il s'agissait de la requête de base renvoyant l'enregistrement DNS A ; examinons quelques autres exemples.
Recherche d'enregistrements DNS spécifiques
Les serveurs de noms, soit le serveur DNS faisant autorité pour un domaine, peuvent être trouvés grâce à la variable `ns`.
$ dig toptips.fr.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.
De même, la variable `mx` retourne les serveurs de messagerie ainsi que leurs niveaux de priorité.
$ dig toptips.fr.com mx +noall +answer toptips.fr.com. 300 IN MX 1 aspmx.l.google.com. toptips.fr.com. 300 IN MX 10 alt3.aspmx.l.google.com. toptips.fr.com. 300 IN MX 10 alt4.aspmx.l.google.com. toptips.fr.com. 300 IN MX 5 alt1.aspmx.l.google.com. toptips.fr.com. 300 IN MX 5 alt2.aspmx.l.google.com.
De la même manière, les variables `txt`, `aaaa`, `cname`, etc. peuvent être utilisées comme arguments de la commande dig pour obtenir différents enregistrements DNS.
Traçage DNS
Comme l'indique son intitulé, le "Trace DNS" permet de visualiser le chemin parcouru depuis les serveurs de noms racine, en passant par les serveurs de noms faisant autorité, jusqu'à l'adresse IP du domaine.
$ dig toptips.fr.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> toptips.fr.com +trace ;; global options: +cmd . 322660 IN NS a.root-servers.net. . 322660 IN NS b.root-servers.net. . 322660 IN NS c.root-servers.net. . 322660 IN NS d.root-servers.net. . 322660 IN NS e.root-servers.net. . 322660 IN NS f.root-servers.net. . 322660 IN NS g.root-servers.net. . 322660 IN NS h.root-servers.net. . 322660 IN NS i.root-servers.net. . 322660 IN NS j.root-servers.net. . 322660 IN NS k.root-servers.net. . 322660 IN NS l.root-servers.net. . 322660 IN NS m.root-servers.net. ;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw== ;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms toptips.fr.com. 172800 IN NS olga.ns.cloudflare.com. toptips.fr.com. 172800 IN NS todd.ns.cloudflare.com. toptips.fr.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 toptips.fr.com. 86400 IN RRSIG DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA== ;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms toptips.fr.com. 300 IN A 172.66.43.163 toptips.fr.com. 300 IN A 172.66.40.93 toptips.fr.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 toptips.fr.com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg== ;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms
Vous pouvez également obtenir une réponse plus concise en utilisant les variables `+short` ou `+noall +answer`.
Recherche DNS inversée
La recherche DNS inversée révèle l'enregistrement PTR associé à l'adresse IP. C'est l'opération inverse de l'enregistrement DNS A, qui fait correspondre les adresses IP à un nom de domaine.
Cependant, si un nom de domaine n'a pas d'enregistrement DNS PTR, la section de réponse sera vide.
La commande à utiliser ici est `dig -x adresse IP`.
[email protected]:~$ dig yahoo.com +short 74.6.143.26 74.6.231.20 98.137.11.164 98.137.11.163 74.6.143.25 74.6.231.21 [email protected]:~$ dig -x 74.6.143.26 ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;26.143.6.74.in-addr.arpa. IN PTR ;; ANSWER SECTION: 26.143.6.74.in-addr.arpa. 600 IN PTR media-router-fp74.prod.media.vip.bf1.yahoo.com. ;; AUTHORITY SECTION: 143.6.74.in-addr.arpa. 172800 IN NS ns3.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns4.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns5.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns2.yahoo.com. 143.6.74.in-addr.arpa. 172800 IN NS ns1.yahoo.com. ;; Query time: 192 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Nov 09 04:17:08 UTC 2022 ;; MSG SIZE rcvd: 203
Comme vous pouvez le constater, le nom de domaine présent dans la section "Answer", `media-router-fp74.prod.media.vip.bf1.yahoo.com/`, est lié à son adresse IP principale 74.6.143.26.
En visitant cette URL, vous serez redirigé vers la page d'accueil de Yahoo.
Cependant, cela peut ne pas être vrai pour tous les hébergeurs web ; dans certains cas, ces URLs longues et complexes ne mènent à rien.
Interrogation de serveurs DNS spécifiques
Parfois, vous souhaitez envoyer une requête DNS à un serveur particulier. Cela est possible en ajoutant l'adresse IP du serveur précédée d'un "@", permettant ainsi de choisir un serveur DNS spécifique pour une requête donnée.
$ dig @1.1.1.1 toptips.fr.com +noall +answer +stats toptips.fr.com. 300 IN A 172.66.40.93 toptips.fr.com. 300 IN A 172.66.43.163 ;; Query time: 156 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP) ;; WHEN: Wed Nov 09 04:18:56 UTC 2022 ;; MSG SIZE rcvd: 74
Vous pouvez le vérifier dans la section des statistiques, qui indique "Server : 1.1.1.1", qui correspond au serveur de Cloudflare.
De même, il est possible d'interroger les serveurs DNS de Google (8.8.8.8) :
$ dig @8.8.8.8 toptips.fr.com mx +noall +answer +stats toptips.fr.com. 300 IN MX 1 aspmx.l.google.com. toptips.fr.com. 300 IN MX 10 alt3.aspmx.l.google.com. toptips.fr.com. 300 IN MX 10 alt4.aspmx.l.google.com. toptips.fr.com. 300 IN MX 5 alt1.aspmx.l.google.com. toptips.fr.com. 300 IN MX 5 alt2.aspmx.l.google.com. ;; Query time: 44 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP) ;; WHEN: Wed Nov 09 04:23:16 UTC 2022 ;; MSG SIZE rcvd: 157
Allons plus loin ⛏️
Comme leur nom l'indique, ces commandes servent à extraire des informations DNS et à identifier les problèmes qui peuvent en découler. Les commandes "dig" sont généralement rapides à exécuter et faciles à mémoriser.
De plus, vous pouvez installer les utilitaires "dig" sur Mac et Windows, ce qui les rend universelles.
PS : Puisque vous êtes ici, il serait regrettable de ne pas vous présenter la bibliothèque toptips.fr Sysadmin, une ressource centralisée pour résoudre tous vos problèmes d'administrateur système.