Commande Linux dig

Linux 命令大全Encyclopédie des commandes Linux


dig (Domain Information Groper) est un puissant outil d'interrogation DNS dans le système Linux, utilisé pour interroger les serveurs de noms de domaine DNS. Comparé au traditionnel nslookup, dig fournit des résultats d'interrogation plus détaillés et des options d'interrogation plus flexibles.

Principales fonctionnalités de la commande dig :

  • Affiche le processus complet d'interrogation DNS
  • Prend en charge les requêtes de tous les types d'enregistrements DNS
  • Permet de spécifier un serveur DNS précis à interroger
  • Le format de sortie est clair et facile à lire

Syntaxe de base de la commande dig

dig [@server] [domain] [query-type] [query-class] [query-options]

Description des paramètres

Paramètre Description
@server Spécifier le serveur DNS à interroger (par exemple,@8.8.8.8)
domain Le domaine à interroger (par exemple,example.com)
query-type Le type d'enregistrement à interroger (par exemple,A, MX, NSetc.)
query-class La classe de l'interrogation (généralementININ pour Internet)
query-options Options de requête supplémentaires

Types de requêtes courants

dig prend en charge l'interrogation de plusieurs types d'enregistrements DNS. Voici les types d'enregistrements courants :

Type d'enregistrement Description Exemple
A Enregistrement d'adresse IPv4 dig example.com A
AAAA Enregistrement d'adresse IPv6 dig example.com AAAA
MX Enregistrement d'échange de messagerie dig example.com MX
NS Enregistrement de serveur de noms dig example.com NS
CNAME Enregistrement de nom canonique dig www.example.com CNAME
TXT Enregistrement texte dig example.com TXT
SOA Enregistrement de début d'autorité dig example.com SOA
ANY Tous les enregistrements dig example.com ANY

Analyse de la sortie de la commande dig

Exécutez une requête dig simple :

dig example.com

La sortie typique contient les parties suivantes :

  1. Section HEADER: Affiche les informations de base de la requête

    • opcode: Opcode
    • status: Statut de la réponse
    • id: ID de requête
    • flags: Indicateurs (par ex., qr, rd, ra, etc.)
  2. section QUESTION: Affiche la question de la requête

    • Contient le nom de domaine interrogé et le type d'enregistrement
  3. section ANSWER: Résultat de la requête

    • Contient les informations réelles de l'enregistrement DNS
  4. section AUTHORITY: Informations sur les serveurs de noms faisant autorité

    • Affiche les serveurs DNS faisant autorité responsables du domaine
  5. section ADDITIONAL: Informations supplémentaires

    • Peut contenir des informations supplémentaires utiles
  6. section STATISTICS: Statistiques de la requête

    • Affiche le temps de requête, le serveur et d'autres informations

Exemples pratiques de requêtes

1. Interroger un serveur DNS spécifique

dig @8.8.8.8 example.com

Cette commande interroge l’enregistrement A de example.com depuis le serveur DNS public de Google (8.8.8.8).

2. Interroger les enregistrements MX

dig example.com MX

Interroger les informations du serveur de messagerie d’un domaine.

3. Interroger le processus complet de résolution de domaine

dig +trace example.com

+traceL’option +trace affiche le processus complet de résolution à partir du serveur de noms racine.

4. Mode de sortie abrégé

dig +short example.com

Affiche uniquement les résultats de la requête, pas les autres informations détaillées.

5. Recherche DNS inversée

dig -x 8.8.8.8

Interroger le nom de domaine correspondant via une adresse IP.

6. Interroger plusieurs domaines par lots

dig -f domains.txt +short

Ici, domains.txt contient la liste des domaines à interroger, un par ligne.


Options avancées

1. Contrôler le format de sortie

dig +noall +answer example.com

+noallMasquer toutes les sections,+answerAfficher uniquement la section ANSWER.

2. Définir le délai d'attente de la requête

dig +time=5 example.com

Définir le délai d'attente de la requête à 5 secondes.

3. Spécifier le port de requête

dig @dns.server.example.com -p 5353 example.com

Interroger le serveur DNS sur un port non standard (5353).

4. Afficher les informations TTL

dig +ttlid example.com

Afficher la valeur TTL (Time To Live) de l'enregistrement.

5. Afficher les statistiques de requête

dig +stats example.com

Afficher les statistiques détaillées de requête.


Questions fréquentes

1. Quelle est la différence entre dig et nslookup ?

dig fournit une sortie plus détaillée et plus d'options de requête que nslookup, et est un outil de requête DNS plus professionnel. nslookup a progressivement été remplacé par dig.

2. Comment installer la commande dig ?

Sur la plupart des distributions Linux, dig fait partie du paquet bind-utils ou dnsutils :

  • Debian/Ubuntu :

    sudo apt install dnsutils
  • CentOS/RHEL :

    sudo yum install bind-utils

3. Pourquoi ma requête dig ne renvoie-t-elle pas la section ANSWER ?

Raisons possibles :

  • Le type d'enregistrement interrogé n'existe pas
  • Le domaine n'existe pas
  • Le serveur DNS n'a aucun enregistrement pour ce domaine
  • Problèmes de connexion réseau

Vous pouvez essayer d'utiliser l'+traceoption pour afficher le processus de résolution complet.


Scénarios d'application pratiques

1. Dépannage des problèmes de résolution DNS

Lorsqu’un site web est inaccessible, vous pouvez utiliser dig pour vérifier si la résolution DNS est normale :

dig +trace example.com

2. Vérifier la configuration du serveur de messagerie

Vérifiez si la configuration du serveur de messagerie du domaine est correcte :

dig example.com MX

3. Surveiller les modifications des enregistrements DNS

En exécutant périodiquement des requêtes dig et en comparant les résultats, vous pouvez surveiller les modifications des enregistrements DNS :

Exemple

dig example.com A | grep -v ";" > current.txt
diff current.txt previous.txt

4. Tester le temps de réponse du serveur DNS

Comparez la vitesse de réponse de différents serveurs DNS :

Exemple

time dig @8.8.8.8 example.com
time dig @1.1.1.1 example.com

Résumé

La commande dig est un outil de diagnostic DNS essentiel pour les administrateurs système Linux et les ingénieurs réseau. Grâce à cet article, vous devriez être en mesure de :

  1. Comprendre la syntaxe de base et les options courantes de la commande dig
  2. Interroger différents types d’enregistrements DNS
  3. Analyser la sortie de la commande dig
  4. Utiliser dig pour résoudre des problèmes pratiques liés au DNS
  5. Maîtriser les usages avancés et les techniques de dig

Pour en savoir plus sur la commande dig, vous pouvez consulter sa page de manuel :

man dig

Ou utilisez l’option d’aide :

dig -h

Linux 命令大全Encyclopédie des commandes Linux

Autres extensions