La commande dig dans Linux est utilisée pour collecter des informations DNS. Il signifie Domain Information Groper et collecte des données sur les serveurs de noms de domaine. La commande Dig est utile pour résoudre les problèmes DNS, mais est également utilisé pour effectuer toutes sortes de résolutions DNS.
Ce guide vous aidera à comprendre et à utiliser la commande Dig sur Linux avec des exemples.
Table des matières
Comment installer Dig
Dig n’est pas une commande de base Linux.
Il convient donc d’installer le paquet en utilisant le gestionnaire de packages de votre distribution Linux.
Installer dig sur Debian/Ubuntu avec APT :
sudo apt-get install dnsutils
Installer dig sur Fedora avec dnf :
sudo yum install bind-utils
Quelle est la syntaxe de dig
Voici la syntaxe de la commande dig :
dig <serveur> <nom> <type>
- <serveur> – le nom d’hôte ou l’adresse IP à laquelle la requête est dirigée
- <nom> – Le DNS (serveur de noms de domaine) du serveur à interroger
- <type> – Le type d’enregistrement DNS à récupérer. Par défaut (ou s’il est laissé vide), dig utilise le type d’enregistrement A
Comment utiliser la commande Dig avec des exemples
Faire une recherche DNS
dig www.malekal.com
La commande dig affiche ensuite 5 sections :
- Un récapitulatif des drapeaux et en-tête : Les flag et quelques options DNS
- OPT PSEUDOSECTION :
- EDNS – Extension system for DNS si utilisé
- Le cookie DNS si présent
- Flags – vide car aucun drapeau n’a été spécifié
- UDP – La taille du paquet UDP
- Answer Section : la réponse DNS. Pour la supprimer, il faut utiliser +[no]answer
- Authority section : les serveurs DNS faisant autorités. Celles-ci ne s’affichent que si vous effectué la recherche DNS avec les serveurs d’autorité. Pour l’afficher ou la retirer, on utilise +[no]authority.
- Enfin la section STATISTICS avec des informations supplémentaires sur la requête DNS
La section ANWSER est la plus importante :
- La première colonne répertorie la recherche du nom de domaine qui a été interrogé
- La deuxième colonne est Time-To-Live, un délai défini après quoi l’enregistrement est actualisé
- La troisième colonne montre la classe de requête – dans ce cas, IN signifie Internet
- La quatrième colonne affiche le type de requête – dans ce cas, «A» représente un enregistrement A (adresse)
- La colonne finale affiche l’adresse IP associée au nom de domaine
La section en-tête affiche les informations qu’elle a reçues du serveur. Les drapeaux se réfèrent au format de réponse.
On y trouve aussi la version de dig.
On peut la retirer avec l’option +[no]comments.
Comprendre la section d’en-tête de la commande DIG
La section PSEUDOSECTION affiche des données avancées :
- EDNS – Extension system for DNS, s’il est utilisé
- Drapeaux – vide car aucun drapeau n’a été spécifié
- UDP – Taille du paquet UDP
La section QUESTIONS affiche les données de requête envoyées :
- La première colonne est le nom de domaine interrogé
- La deuxième colonne est le type (in = Internet) de la requête
- La troisième colonne spécifie l’enregistrement (a = adresse), sauf indication contraire
- Compréhension de la section de question de la commande DIG
La section STATISTICS montre des métadonnées sur la requête :
- Temps de requête – le temps qu’il a fallu pour une réponse
- Serveur – L’adresse IP et le port du serveur DNS répondant. Vous pouvez remarquer une adresse de bouclage dans cette ligne – cela fait référence à un paramètre local qui traduit les adresses DNS
- Quand – horodatage lorsque la commande a été exécutée
- Taille MSG RCVD – La taille de la réponse du serveur DNS
Cette section se désactiver avec l’option +[no]additional.
Comment spécifier un serveur DNS
Par défaut, Dig utilise la configuration locale (/etc/resolv.conf) pour décider quel serveur de noms utiliser.
Utilisez la commande suivante pour spécifier le serveur de domaine de Google :
dig @8.8.8.8 google.fr
Le terminal imprime la sortie suivante :
Comment obtenir les serveurs MX d’un domaine
L’option -t vous permet d’obtenir certaines données DNS spécifiques.
Par exemple pour faire une recherche des serveurs MX d’un domaine, utilisez -t mx :
dig -t mx google.fr
De même par exemple pour afficher les entrées SPF :
dig -t txt google.fr
Utiliser l’option short answer
Pour afficher uniquement l’adresse IP associée au nom de domaine, entrez ce qui suit :
dig google.fr +short
Afficher des détails dans la section answer
Exécutez +noall +answer avec la commande Dig pour accéder aux informations détaillées dans la section answer :
dig google.fr +noall +answer
Utiliser l’option Trace
L’option +trace répertorie chaque serveur différent que la requête passe jusqu’à sa destination finale.
Utilisez cette option de commande pour identifier l’adresse IP où le trafic tombe.
dig google.fr +trace
Faire une recherche DNS inversée (reverse DNS)
Pour connaitre le DNS d’une adresse IP (DNS inversé) :
dig -x 172.217.14.238
Tester la validité DNSSEC
Dig permet aussi de tester la validité DNSSEC.
Pour rappel, cela permet d’authentifier les réponses des serveurs DNS.
J’en parle dans cet article : DNSSEC, DNS Over TLS ou HTTPS (DoT et DoH) et DNSCrypt : les différences
La syntaxe :
dig www.malekal.com +dnssec
Si le serveur DNS est configuré pour utiliser DNSSEC alors le flag ad apparaît.
Dans les réponses, une section RRSIG s’affiche aussi.
Comment utiliser le mode batch pour lire les noms d’hôte à partir d’un fichier
Dig peut aussi lire un fichier texte afin d’effectuer une recherche de DNS en mode batch
- Par exemple, créez le fichier dns.txt :
vim dns.txt
- Puis utilisez dig avec l’option -f pour spécifier ce dernier :
dig -f dns.txt +short
Comment modifier les options permanentes de dig
Les informations affichées par DIG peuvent être modifiées dans le fichier ~/.digrc.
- Ouvrez le fichier pour l’édition avec la commande suivante:
sudo vim ~/.digrc
- Puis ajoutez les options dig souhaitées :
+noall +noauthority +answer
- Effectuez une résolution DNS
dig www.google.fr
- Puis vérifiez l’en-tête ou si la commande dig retourne bien les options configurées
Liens
- DNS et serveurs de noms : comment ça marche
- La hiérarchie DNS : serveurs DNS racines, d’autorité et DNS récursifs et itératives
- Choisir le meilleur DNS rapide : le comparatif
- Quel est le meilleur DNS pour les jeux et gaming ?
- Les meilleurs DNS : la liste COMPLÈTE
- DNS Benchmark : trouver le meilleur DNS et le plus rapide
- 7 logiciels pour changer les DNS sur Windows
- Liste des serveurs DNS des principaux FAI
- Comment changer les DNS de Windows 10
- Comment changer les DNS de Windows 11
- DNS Jumper : gérer les DNS de Windows facilement
- Comment changer les serveurs DNS d’Ubuntu
- Comment changer la configuration des serveurs DNS sur Linux
- Comment activer DNS over HTTPS (DoH) dans Windows 10
- Comment activer DNS sur HTTPS (DoH) dans Windows 11
- Comment connaître ses DNS (Windows, Linux et Android)
- Comment connaître le DNS d’une adresse IP (DNS inversé)
- Comment tester les DNS (fuites DNS, Sécurité DNS)
- DNS Google : accélérer votre connexion internet
- Chiffrement DNS : DNS over HTTPS et over TLS
- Comment activer les DNS Over HTTPS (DoH) sur Firefox, Chrome, Edge, Brave ou Opera
- Comment changer les DNS de Windows vers 1.1.1.1 CloudFlare
- RethinkDNS : Bloqueur de publicité, Firewall, DoH, DNSCrypt pour Android
- NextDNS : Bloquer les publicités et les traqueurs
- YogaDNS : Client DNS avancé
- DNS public européen : Utiliser dns0.eu (Zero, Kids)
- DNS FDN : changer de serveurs DNS
- Comment installer DNSCrypt sur Linux pour sécuriser les DNS
- Comment anonymiser ses DNS (Anonymous DNS)
- Le serveur DNS ne répond pas
- Configurer les paramètres de partages avancés de Windows 10
- Résoudre les erreurs (ERR_) sur Google Chrome ou Edge