GNU/Linux >> Tutoriels Linux >  >> Linux

10 exemples de commandes Linux DIG pour la recherche DNS

Dig signifie "groper d'informations de domaine".

À l'aide de la commande dig, vous pouvez interroger les serveurs de noms DNS pour vos tâches liées à la recherche DNS. Cet article explique 10 exemples d'utilisation de la commande dig.

1. Utilisation simple de la commande dig (comprendre la sortie dig)

Lorsque vous transmettez un nom de domaine à la commande dig, il affiche par défaut l'enregistrement A (l'adresse IP du site interrogé) comme indiqué ci-dessous.

Dans cet exemple, il affiche l'enregistrement A enregistrement de redhat.com dans la « ANSWER SECTION » de la sortie de la commande dig.

$ dig redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62863
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;redhat.com.                    IN      A

;; ANSWER SECTION:
redhat.com.             37      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             73      IN      NS      ns4.redhat.com.
redhat.com.             73      IN      NS      ns3.redhat.com.
redhat.com.             73      IN      NS      ns2.redhat.com.
redhat.com.             73      IN      NS      ns1.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         73      IN      A       209.132.186.218
ns2.redhat.com.         73      IN      A       209.132.183.2
ns3.redhat.com.         73      IN      A       209.132.176.100

;; Query time: 13 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:09:49 2012
;; MSG SIZE  rcvd: 164

La sortie de la commande dig comporte les sections suivantes :

  • En-tête :affiche le numéro de version de la commande dig, les options globales utilisées par la commande dig et quelques informations d'en-tête supplémentaires.
  • QUESTION SECTION :Ceci affiche la question posée au DNS. c'est-à-dire ceci est votre entrée. Puisque nous avons dit "dig redhat.com", et que le type par défaut utilisé par la commande dig est un enregistrement, cela indique dans cette section que nous avons demandé l'enregistrement A du site Web redhat.com
  • SECTION DE RÉPONSE :Ceci affiche la réponse qu'il reçoit du DNS. c'est-à-dire ceci est votre sortie. Cela affiche l'enregistrement A de redhat.com
  • AUTHORITY SECTION :Ceci affiche le serveur de noms DNS qui a l'autorité pour répondre à cette requête. Fondamentalement, cela affiche les serveurs de noms disponibles de redhat.com
  • SECTION ADDITIONNELLE :Cela affiche l'adresse IP des serveurs de noms répertoriés dans la SECTION AUTORITÉ.
  • La section Statistiques en bas affiche quelques statistiques de commande de creusement, y compris le temps qu'il a fallu pour exécuter cette requête

2. Afficher uniquement la SECTION RÉPONSE de la sortie de la commande Dig

Pour la plupart, tout ce que vous devez regarder est la "SECTION DE RÉPONSE" de la commande dig. Ainsi, nous pouvons désactiver toutes les autres sections comme indiqué ci-dessous.

  • +nocomments – Désactiver les lignes de commentaires
  • +noauthority – Désactiver la section d'autorité
  • +noadditional – Désactiver la section supplémentaire
  • +nostats – Désactiver la section des statistiques
  • +noanswer – Désactiver la section de réponse (bien sûr, vous ne voudriez pas désactiver la section de réponse)

La commande dig suivante affiche uniquement la SECTION DE RÉPONSE.

$ dig redhat.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
redhat.com.             9       IN      A       209.132.183.81

Au lieu de désactiver toutes les sections que nous ne voulons pas une par une, nous pouvons désactiver toutes les sections en utilisant +noall (cela désactive également la section de réponse) et ajouter le +réponse qui n'affichera que la section de réponse.

La commande ci-dessus peut également être écrite sous une forme courte comme indiqué ci-dessous, qui affiche uniquement la SECTION DE RÉPONSE.

$ dig redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com +noall +answer
;; global options: +cmd
redhat.com.             60      IN      A       209.132.183.81

3. Interroger les enregistrements MX à l'aide de dig -t MX

Pour interroger les enregistrements MX, transmettez MX comme argument à la commande dig comme indiqué ci-dessous.

$ dig redhat.com  MX +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com MX +noall +answer
;; global options: +cmd
redhat.com.             513     IN      MX      5 mx1.redhat.com.
redhat.com.             513     IN      MX      10 mx2.redhat.com.

Vous pouvez également utiliser l'option -t pour transmettre le type de requête (par exemple :MX) comme indiqué ci-dessous.

$ dig -t MX redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t MX redhat.com +noall +answer
;; global options: +cmd
redhat.com.             489     IN      MX      10 mx2.redhat.com.
redhat.com.             489     IN      MX      5 mx1.redhat.com.

4. Interroger les enregistrements NS à l'aide de dig -t NS

Pour interroger l'enregistrement NS, utilisez le type NS comme indiqué ci-dessous.

$ dig redhat.com NS +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com NS +noall +answer
;; global options: +cmd
redhat.com.             558     IN      NS      ns2.redhat.com.
redhat.com.             558     IN      NS      ns1.redhat.com.
redhat.com.             558     IN      NS      ns3.redhat.com.
redhat.com.             558     IN      NS      ns4.redhat.com.

Vous pouvez également utiliser l'option -t pour transmettre le type de requête (par exemple :NS) comme indiqué ci-dessous.

$ dig -t NS redhat.com +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t NS redhat.com +noall +answer
;; global options: +cmd
redhat.com.             543     IN      NS      ns4.redhat.com.
redhat.com.             543     IN      NS      ns1.redhat.com.
redhat.com.             543     IN      NS      ns3.redhat.com.
redhat.com.             543     IN      NS      ns2.redhat.com.

5. Afficher TOUS les types d'enregistrements DNS à l'aide de dig -t ANY

Pour afficher tous les types d'enregistrement (A, MX, NS, etc.), utilisez ANY comme type d'enregistrement, comme indiqué ci-dessous.

$ dig redhat.com ANY +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com ANY +noall +answer
;; global options: +cmd
redhat.com.             430     IN      MX      5 mx1.redhat.com.
redhat.com.             430     IN      MX      10 mx2.redhat.com.
redhat.com.             521     IN      NS      ns3.redhat.com.
redhat.com.             521     IN      NS      ns1.redhat.com.
redhat.com.             521     IN      NS      ns4.redhat.com.
redhat.com.             521     IN      NS      ns2.redhat.com.

(ou) Utilisez -t TOUT

$ dig -t ANY redhat.com  +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -t ANY redhat.com +noall +answer
;; global options: +cmd
redhat.com.             367     IN      MX      10 mx2.redhat.com.
redhat.com.             367     IN      MX      5 mx1.redhat.com.
redhat.com.             458     IN      NS      ns4.redhat.com.
redhat.com.             458     IN      NS      ns1.redhat.com.
redhat.com.             458     IN      NS      ns2.redhat.com.
redhat.com.             458     IN      NS      ns3.redhat.com.

6. Afficher la sortie courte à l'aide de dig +short

Pour afficher uniquement l'adresse IP d'un site Web (c'est-à-dire l'enregistrement A), utilisez l'option de forme courte comme indiqué ci-dessous.

$ dig redhat.com +short
209.132.183.81

Vous pouvez également spécifier un type d'enregistrement que vous souhaitez afficher avec l'option +short.

$ dig redhat.com ns +short
ns2.redhat.com.
ns3.redhat.com.
ns1.redhat.com.
ns4.redhat.com.

7. Recherche DNS inversée à l'aide de dig -x

Pour effectuer une recherche DNS inversée en utilisant l'adresse IP en utilisant dig -x comme indiqué ci-dessous

Par exemple, si vous n'avez qu'une adresse IP externe et que vous souhaitez connaître le site Web qui lui appartient, procédez comme suit.

$ dig -x 209.132.183.81 +short
www.redhat.com.

Pour afficher tous les détails de la recherche DNS inversée, supprimez l'option +short.

$ dig -x 209.132.183.81

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> -x 209.132.183.81
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62435
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3

;; QUESTION SECTION:
;81.183.132.209.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:
81.183.132.209.in-addr.arpa. 600 IN     PTR     www.redhat.com.

;; AUTHORITY SECTION:
183.132.209.in-addr.arpa. 248   IN      NS      ns2.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns1.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns3.redhat.com.
183.132.209.in-addr.arpa. 248   IN      NS      ns4.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         363     IN      A       209.132.186.218
ns2.redhat.com.         363     IN      A       209.132.183.2
ns3.redhat.com.         363     IN      A       209.132.176.100

;; Query time: 35 msec
;; SERVER: 209.144.50.138#53(209.144.50.138)
;; WHEN: Thu Jan 12 10:15:00 2012
;; MSG SIZE  rcvd: 193

8. Utiliser un serveur DNS spécifique en utilisant dig @dnsserver

Par défaut, dig utilise les serveurs DNS définis dans votre fichier /etc/resolv.conf.

Si vous souhaitez utiliser un autre serveur DNS pour effectuer la requête, spécifiez-le dans la ligne de commande sous la forme @dnsserver.

L'exemple suivant utilise ns1.redhat.com comme serveur DNS pour obtenir la réponse (au lieu d'utiliser les serveurs DNS du fichier /etc/resolv.conf).

$ dig @ns1.redhat.com redhat.com

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> @ns1.redhat.com redhat.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20963
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;redhat.com.                    IN      A

;; ANSWER SECTION:
redhat.com.             60      IN      A       209.132.183.81

;; AUTHORITY SECTION:
redhat.com.             600     IN      NS      ns1.redhat.com.
redhat.com.             600     IN      NS      ns4.redhat.com.
redhat.com.             600     IN      NS      ns3.redhat.com.
redhat.com.             600     IN      NS      ns2.redhat.com.

;; ADDITIONAL SECTION:
ns1.redhat.com.         600     IN      A       209.132.186.218
ns2.redhat.com.         600     IN      A       209.132.183.2
ns3.redhat.com.         600     IN      A       209.132.176.100
ns4.redhat.com.         600     IN      A       209.132.188.218

;; Query time: 160 msec
;; SERVER: 209.132.186.218#53(209.132.186.218)
;; WHEN: Thu Jan 12 10:22:11 2012
;; MSG SIZE  rcvd: 180

9. Requête DNS en masse à l'aide de dig -f (et de la ligne de commande)

Interrogez plusieurs sites Web à l'aide d'un fichier de données :

Vous pouvez effectuer une requête DNS groupée basée sur les données d'un fichier.

Tout d'abord, créez un exemple de fichier names.txt contenant le site Web que vous souhaitez interroger.

$ vi names.txt
redhat.com
centos.org

Ensuite, exécutez dig -f comme indiqué ci-dessous, qui effectuera une requête DNS pour les sites Web répertoriés dans le fichier names.txt et affichera la sortie.

$ dig -f names.txt +noall +answer
redhat.com.             60      IN      A       209.132.183.81
centos.org.             60      IN      A       72.232.194.162

Vous pouvez également combiner le type d'enregistrement avec l'option -f. L'exemple suivant affiche les enregistrements MX de plusieurs sites Web qui se trouvent dans le fichier names.txt.

$ dig -f names.txt MX +noall +answer
redhat.com.             600     IN      MX      10 mx2.redhat.com.
redhat.com.             600     IN      MX      5 mx1.redhat.com.
centos.org.             3600    IN      MX      10 mail.centos.org.

Interrogez plusieurs sites Web à partir de la ligne de commande dig :

Vous pouvez également interroger plusieurs sites Web à partir de la ligne de commande dig, comme indiqué ci-dessous. L'exemple suivant interroge l'enregistrement MX pour redhat.com et l'enregistrement NS pour centos.org à partir de la ligne de commande

$ dig redhat.com mx +noall +answer centos.org ns +noall +answer

; <<>> DiG 9.7.3-RedHat-9.7.3-2.el6 <<>> redhat.com mx +noall +answer centos.org ns +noall +answer
;; global options: +cmd
redhat.com.             332     IN      MX      10 mx2.redhat.com.
redhat.com.             332     IN      MX      5 mx1.redhat.com.
centos.org.             3778    IN      NS      ns3.centos.org.
centos.org.             3778    IN      NS      ns4.centos.org.
centos.org.             3778    IN      NS      ns1.centos.org.

10. Utilisez le fichier $HOME/.digrc pour stocker les options de fouille par défaut

Si vous essayez toujours d'afficher uniquement la section ANSWER de la sortie dig, vous n'avez pas besoin de continuer à taper "+noall +answer" sur chaque commande dig. Au lieu de cela, ajoutez vos options de creusement au fichier .digrc comme indiqué ci-dessous.

$ cat $HOME/.digrc
+noall +answer

Désormais, chaque fois que vous exécuterez la commande dig, elle utilisera toujours les options +noall et +answer par défaut. Maintenant, la ligne de commande dig est devenue très simple et facile à lire sans que vous ayez à taper ces options à chaque fois.

$ dig redhat.com
redhat.com.             60      IN      A       209.132.183.81

$ dig redhat.com MX
redhat.com.             52      IN      MX      5 mx1.redhat.com.
redhat.com.             52      IN      MX      10 mx2.redhat.com.

Linux
  1. Commande Linux killall pour les débutants (8 exemples)

  2. Comment utiliser la commande Dig sous Linux avec des exemples

  3. Exemples de fouilles Linux utiles pour l'administrateur réseau

  4. 10 exemples de commande Linux nslookup pour la recherche DNS

  5. dig Exemples de commandes sous Linux

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)

Commande de localisation Linux pour les débutants (8 exemples)

16 exemples pratiques de commande Linux LS pour les débutants

Comment utiliser la commande Dig sous Linux (10 exemples)