Dig (Domain Information Groper) est un utilitaire de ligne de commande Linux qui effectue une recherche DNS en interrogeant les serveurs de noms et en vous affichant le résultat. Dans ce tutoriel, vous trouverez toutes les utilisations de base de la commande que vous devez connaître dans le système d'exploitation Linux.
Par défaut, dig envoie la requête DNS aux serveurs de noms répertoriés dans le résolveur (/etc/resolv.conf) à moins qu'il ne lui soit demandé d'interroger un serveur de noms spécifique.
Installer Dig sous Linux
Dig fait partie du package utilitaire DNS qui est souvent installé avec les serveurs de noms BIND. Vous pouvez également installer le package utilitaire qui contient dig séparément en accédant à votre VPS via SSH et en utilisant les commandes suivantes dans la ligne de commande :
Debian et Ubuntu :
apt-get install dnsutils
CentOS 7 :
yum install bind-utils
Une fois installé, vérifiez la version pour vous assurer que l'installation s'est terminée avec succès :
dig -v
Syntaxe Dig
Dans sa forme la plus simple, la syntaxe de l'utilitaire dig ressemblera à ceci :
dig [server] [name] [type]
[serveur] – l'adresse IP ou le nom d'hôte du serveur de noms à interroger.
Si l'argument du serveur est le nom d'hôte, alors dig résoudra le nom d'hôte avant de procéder à l'interrogation du serveur de noms.
Il est facultatif et si vous ne fournissez pas d'argument de serveur, alors dig utilise le serveur de noms répertorié dans /etc/resolv.conf .
[nom] – le nom de l'enregistrement de ressource à rechercher.
[type] – le type de requête demandée par dig. Par exemple, il peut s'agir d'un enregistrement A, d'un enregistrement MX, d'un enregistrement SOA ou de tout autre type. Par défaut, dig effectue une recherche pour un enregistrement A si aucun argument de type n'est spécifié.
Comment utiliser la commande Dig
Passons aux utilisations de base de la commande :
Creusez un nom de domaine
Pour effectuer une recherche DNS pour un nom de domaine, transmettez simplement le nom avec la commande dig :
dig hostinger.com
Par défaut, la commande dig affichera l'enregistrement A lorsqu'aucune autre option n'est spécifiée. La sortie contiendra également d'autres informations telles que la version de fouille installée, des détails techniques sur les réponses, des statistiques sur la requête, une section de questions ainsi que quelques autres.
Réponses courtes
La commande dig ci-dessus inclut de nombreuses informations utiles dans différentes sections, mais il peut arriver que vous souhaitiez uniquement le résultat de la requête. Vous pouvez le faire en utilisant l'option +short, qui affichera uniquement l'adresse IP (enregistrement A) du nom de domaine :
dig hostinger.com +short
Réponses détaillées
Parfois, vous souhaitez afficher la section des réponses en détail. Par conséquent, pour une information détaillée sur la section des réponses, vous pouvez arrêter d'afficher toute la section en utilisant +noall option et interrogez la section des réponses uniquement en utilisant +réponse option avec la commande dig.
dig hostinger.com +noall +answer
Spécification des serveurs de noms
Par défaut, les commandes dig interrogent les serveurs de noms répertoriés dans /etc/resolv.conf pour effectuer une recherche DNS pour vous. Vous pouvez modifier ce comportement par défaut en utilisant le @ suivi du nom d'hôte ou de l'adresse IP du serveur de noms.
La commande dig suivante envoie la requête DNS au serveur de noms de Google (8.8.8.8) en utilisant @8.8.8.8 option.
dig @8.8.8.8 hostinger.com
Interroger tous les types d'enregistrements DNS
Pour interroger tous les types d'enregistrements DNS disponibles associés à un domaine, utilisez le ANY option. Le TOUT l'option inclura tous les types d'enregistrements disponibles dans la sortie :
dig hostinger.com ANY
Rechercher le type d'enregistrement
Si vous souhaitez rechercher un enregistrement spécifique, ajoutez simplement le type à la fin de la commande.
Par exemple, pour interroger obtenir uniquement l'échange de courrier – MX – réponse associée à un domaine, vous pouvez utiliser la commande dig suivante :
dig hostinger.in MX
De même, pour afficher les autres enregistrements associés à un domaine, précisez le type d'enregistrement à la fin de la commande dig :
dig hostinger.com txt (Query TXT record) dig hostinger.com cname (Query CNAME record) dig hostinger.com ns (Query NS record) dig hostinger.com A (Query A record)
Tracer le chemin DNS
Dig permet de tracer le chemin de recherche DNS en utilisant le +trace option. L'option effectue des requêtes itératives pour résoudre la recherche de nom. Il interrogera les serveurs de noms à partir de la racine et parcourra ensuite l'arborescence de l'espace de noms à l'aide de requêtes itératives suivant les renvois en cours de route :
dig hostinger.com +trace
Recherche DNS inversée
La recherche DNS inversée vous permet de rechercher le domaine et le nom d'hôte associés à une adresse IP. Pour effectuer une recherche DNS inversée à l'aide de la commande dig, utilisez le –x suivi de l'adresse IP que vous avez choisie. Dans l'exemple suivant, dig effectuera une recherche DNS inversée pour l'adresse IP associée à google.com :
dig +answer -x 172.217.166.46
N'oubliez pas que si un enregistrement PTR n'est pas défini pour une adresse IP, il n'est pas possible d'effectuer une recherche DNS inversée puisque l'enregistrement PTR pointe vers le domaine ou le nom d'hôte.
Requêtes par lots
Avec l'utilitaire dig, vous pouvez effectuer une recherche DNS pour une liste de domaines au lieu de faire la même chose pour chacun individuellement. Pour ce faire, vous devez fournir à dig une liste de noms de domaine – un par ligne dans un fichier. Une fois le fichier prêt, spécifiez le nom de celui-ci avec l'option -f :
vi domain_name.txt hostinger.com google.com ubuntu.com
dig -f domain_name.txt +short
Contrôle du comportement de fouille
La sortie de la commande peut être personnalisée de manière permanente en configurant des options dans le ~/.digrc fichier qui s'exécutera automatiquement avec la commande.
Supposons que vous souhaitiez afficher uniquement la section de réponse - spécifiez les options requises dans le ~/.digrc fichier, vous n'avez donc pas à les saisir lors de l'exécution de la requête.
echo "+noall +answer" > ~/.digrc
Effectuez maintenant une recherche de serveur DNS pour un domaine. La sortie confirme que dig s'exécute avec les options définies dans ~/.digrc fichier.
Conclusion
C'est tout ce dont vous avez besoin pour commencer à utiliser dig In Linux. Vous pouvez désormais effectuer des recherches DNS pour les domaines à l'aide de diverses options. Vous voulez en savoir plus ? Consultez la page de manuel en utilisant la commande man dig pour connaître toutes les utilisations et options possibles.