Recherche de site Web

10 commandes Dig (Domain Information Groper) pour interroger DNS


Dans notre article précédent, nous avons expliqué les exemples et l'utilisation de la commande nslookup, qui est un outil de ligne de commande réseau utilisé pour interroger et obtenir des informations sur le DNS (Domain Name System).

Ici, dans cet article, nous proposons un autre outil de ligne de commande appelé dig, qui est très similaire à l'outil nslookup de Linux. Nous verrons de près l'utilisation de la commande dig avec leurs exemples et leur utilisation.

Dig signifie (Domain Information Groper) et est un outil de ligne de commande d'administration réseau permettant d'interroger le Système de noms de domaine (DNS ) serveurs de noms.

Il est utile pour vérifier et dépanner les problèmes DNS, ainsi que pour effectuer des recherches DNS et afficher les réponses renvoyées par le serveur de noms interrogé.

Dig fait partie de la suite logicielle de serveur de noms de domaine BIND. La commande dig remplace les outils plus anciens tels que nslookup et host. L'outil dig est disponible dans les principales distributions Linux.

1. Interroger l'enregistrement « A » du domaine

dig yahoo.com

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20076
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	A

;; ANSWER SECTION:
yahoo.com.		387	IN	A	98.137.11.163
yahoo.com.		387	IN	A	74.6.143.26
yahoo.com.		387	IN	A	74.6.143.25
yahoo.com.		387	IN	A	74.6.231.20
yahoo.com.		387	IN	A	74.6.231.21
yahoo.com.		387	IN	A	98.137.11.164

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 12:58:13 IST 2021
;; MSG SIZE  rcvd: 134

La commande ci-dessus amène dig à rechercher l'enregistrement "A" pour le nom de domaine yahoo.com. La commande Dig lit le fichier /etc/resolv.conf et interroge les serveurs DNS qui y sont répertoriés. La réponse du serveur DNS est ce que dig affiche.

Comprenons le résultat des commandes :

  • Les lignes commençant par ; sont des commentaires ne faisant pas partie de l'information.
  • La première ligne nous indique la version de la commande dig (9.16.1).
  • Ensuite, dig affiche l'en-tête de la réponse reçue du serveur DNS.
  • Vient ensuite la section des questions, qui nous indique simplement la requête, qui dans ce cas est une requête pour l'enregistrement "A" de yahoo.com. Le IN signifie qu'il s'agit d'une recherche Internet (dans la classe Internet).
  • La section de réponse nous indique que yahoo.com possède l'adresse IP 98.137.11.163.
  • Enfin, il existe quelques statistiques sur la requête. Vous pouvez désactiver ces statistiques en utilisant l'option +nostats.

2. Interrogez l'enregistrement du domaine « A » avec +short

Par défaut, dig est assez verbeux. Une façon de réduire la sortie consiste à utiliser l'option +short. ce qui réduira considérablement la production comme indiqué ci-dessous.

dig yahoo.com +short

98.137.11.164
74.6.231.21
74.6.231.20
74.6.143.25
74.6.143.26
98.137.11.163

Remarque : Par défaut, dig recherche l'enregistrement "A" du domaine spécifié, mais vous pouvez également spécifier d'autres enregistrements. L'enregistrement MX ou Mail eXchange indique aux serveurs de messagerie comment acheminer l'e-mail pour le domaine. De même TTL, SOA, etc.

3. Interrogation de l'enregistrement MX pour le domaine

Interrogation de différents types d'enregistrements de ressources DNS uniquement.

dig yahoo.com MX

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60630
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	MX

;; ANSWER SECTION:
yahoo.com.		51	IN	MX	1 mta6.am0.yahoodns.net.
yahoo.com.		51	IN	MX	1 mta5.am0.yahoodns.net.
yahoo.com.		51	IN	MX	1 mta7.am0.yahoodns.net.

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:03:32 IST 2021
;; MSG SIZE  rcvd: 117

4. Interrogation de l'enregistrement SOA pour le domaine

dig yahoo.com SOA

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25140
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	SOA

;; ANSWER SECTION:
yahoo.com.		1800	IN	SOA	ns1.yahoo.com. hostmaster.yahoo-inc.com. 
2021121001 3600 300 1814400 600

;; Query time: 128 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:08 IST 2021
;; MSG SIZE  rcvd: 99

5. Interrogation de l'enregistrement TTL pour le domaine

dig yahoo.com TTL

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com TTL
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64017
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	A

;; ANSWER SECTION:
yahoo.com.		1606	IN	A	74.6.143.25
yahoo.com.		1606	IN	A	74.6.231.21
yahoo.com.		1606	IN	A	74.6.143.26
yahoo.com.		1606	IN	A	98.137.11.164
yahoo.com.		1606	IN	A	98.137.11.163
yahoo.com.		1606	IN	A	74.6.231.20

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:58 IST 2021
;; MSG SIZE  rcvd: 134

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27889
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;TTL.				IN	A

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:58 IST 2021
;; MSG SIZE  rcvd: 32

6. Section de réponse aux requêtes uniquement

dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
yahoo.com.		1556	IN	A	74.6.231.20
yahoo.com.		1556	IN	A	98.137.11.163
yahoo.com.		1556	IN	A	98.137.11.164
yahoo.com.		1556	IN	A	74.6.143.26
yahoo.com.		1556	IN	A	74.6.231.21
yahoo.com.		1556	IN	A	74.6.143.25

7. Interrogation de TOUS les types d'enregistrements DNS

dig yahoo.com ANY +noall +answer

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com ANY +noall +answer
;; global options: +cmd
yahoo.com.              3509    IN      A       72.30.38.140
yahoo.com.              3509    IN      A       98.138.253.109
yahoo.com.              3509    IN      A       98.139.183.24
yahoo.com.              1709    IN      MX      1 mta5.am0.yahoodns.net.
yahoo.com.              1709    IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              1709    IN      MX      1 mta7.am0.yahoodns.net.
yahoo.com.              43109   IN      NS      ns2.yahoo.com.
yahoo.com.              43109   IN      NS      ns8.yahoo.com.
yahoo.com.              43109   IN      NS      ns3.yahoo.com.
yahoo.com.              43109   IN      NS      ns1.yahoo.com.
yahoo.com.              43109   IN      NS      ns4.yahoo.com.
yahoo.com.              43109   IN      NS      ns5.yahoo.com.
yahoo.com.              43109   IN      NS      ns6.yahoo.com.

8. Recherche inversée DNS

Interrogation de la recherche inversée DNS. Afficher uniquement la section de réponse en utilisant +short.

dig -x 72.30.38.140 +short

ir1.fp.vip.sp2.yahoo.com.

9. Interrogation de plusieurs enregistrements DNS

Interrogez la requête DNS spécifique de plusieurs sites Web, à savoir. Enregistrements MX, NS, etc.

dig yahoo.com mx +noall +answer redhat.com ns +noall +answer

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com mx +noall +answer redhat.com ns +noall +answer
;; global options: +cmd
yahoo.com.              1740    IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              1740    IN      MX      1 mta7.am0.yahoodns.net.
yahoo.com.              1740    IN      MX      1 mta5.am0.yahoodns.net.
redhat.com.             132     IN      NS      ns1.redhat.com.
redhat.com.             132     IN      NS      ns4.redhat.com.
redhat.com.             132     IN      NS      ns3.redhat.com.
redhat.com.             132     IN      NS      ns2.redhat.com.

10. Créez un fichier .digrc

Créez le fichier .digrc sous $HOME/.digrc pour stocker les options de fouille par défaut.

dig yahoo.com
yahoo.com.              3427    IN      A       72.30.38.140
yahoo.com.              3427    IN      A       98.138.253.109
yahoo.com.              3427    IN      A       98.139.183.24

Nous avons stocké les options +noall +answer de manière permanente dans le fichier .digrc sous le répertoire personnel de l'utilisateur. Désormais, chaque fois que la commande dig est exécutée, elle affichera uniquement la section de réponse de la sortie dig. Pas besoin de saisir des options à chaque fois telles que +noall +answer.

Dans cet article, nous avons essayé de découvrir la commande dig qui peut vous aider à rechercher des informations relatives au service de noms de domaine (DNS). Partagez vos réflexions via la zone de commentaires.