La commande dig est un utilitaire Linux qui vous permet de récupérer des informations sur un domaine à partir de la ligne de commande. La commande est très vaste avec beaucoup d'options et de balises avec lesquelles travailler.
Dans cet article, nous travaillerons avec les utilisations les plus courantes de la commande et démontrerons certaines des balises qui peuvent obtenir des serveurs de noms et d'autres informations importantes sur un domaine spécifique. Avant d'entrer dans le vif du sujet, comprenons la commande dig.
Qu'est-ce que la commande dig ?
Les problèmes de DNS sont un problème courant auquel les administrateurs système sont confrontés.
Dans un tel cas, nous devons obtenir des informations sur le réseau pour trouver une solution. C'est là qu'intervient l'utilitaire DiG (Domain Information Grabber).
Avec la commande dig sous Linux, vous pouvez interroger le réseau sur tout type d'enregistrements DNS, tels que les serveurs de noms, les échanges de courrier et les adresses d'hôte. Il peut également permettre des recherches DNS inversées.
Dans cet article, nous allons comprendre le fonctionnement de la commande dig sous Linux. Ensuite, nous verrons quelques applications pratiques de la même chose.
Principes de base de la commande dig
Maintenant, la meilleure façon d'apprendre n'importe quelle commande en comprenant sa syntaxe.
Syntaxe de la commande dig :
dig [tag] [option] @dns-server [hostname/IPaddress] [type]
Ici, nous utilisons des balises pour spécifier les conditions de notre requête. Ensuite, nous utilisons une ou plusieurs options de requête pour basculer les spécifications disponibles pour notre requête.
Ceci est suivi du nom ou de l'adresse du serveur de noms que nous souhaitons interroger.
Enfin, nous spécifions l'enregistrement de ressource que nous souhaitons interroger à l'aide de son nom d'hôte ou de son adresse. Cela peut être suivi d'un type pour définir le type de notre requête DNS.
Liste des options pour creuser
La commande dig fournit une longue liste d'options pour personnaliser les données que nous recevons lors de l'analyse de notre réseau. Voici une liste de certaines des balises de commande de creusement les plus populaires.
Étiquette | Fonction |
-4 / -6 | Spécifiez la résolution IPv4 (pour -4) ou IPv6 (pour -6) de l'adresse IP pour envoyer votre requête à la machine distante. |
-t | Type de requête que l'utilisateur souhaite à la cible. Le typeur de la requête peut être défini sur n'importe quel type de requête pris en charge trouvé dans les spécifications BIND 9. Le type de requête par défaut est "A". |
-b | Adresse IP source pour la requête. Cela peut être n'importe quelle adresse sous l'interface réseau de l'hôte ou '::' ou '0.0.0.0' |
-f | Cela permet à l'utilitaire de creuser de fonctionner en mode batch. Ici, toutes les commandes sont lues via un fichier batch d'entrée à la place de l'entrée standard. Ce fichier doit contenir toutes les requêtes dans l'ordre d'une par ligne. De plus, ces requêtes doivent être dans le même format que les requêtes de fouille utilisées dans la ligne de commande. |
-m | Cette balise est utilisée pour ouvrir le menu de débogage des configurations d'utilisation de la mémoire. |
Ce ne sont que les balises les plus couramment utilisées disponibles avec la commande dig sous Linux. Assurez-vous de vérifier les autres balises sur la page de manuel pour utiliser toutes les fonctionnalités de la commande dig.
Types de requêtes pour creuser
Lorsque nous parlons de creuser, nous devons également en savoir plus sur les types de requêtes. Voici un tableau contenant quelques options de requête utiles.
Options de requête | Description |
+tcp | Désactiver l'utilisation de TCP lorsque nous interrogeons un serveur de noms. Par défaut, dig utilise UDP pour ses requêtes, sauf si l'utilisateur demande une requête AXFR ou IXFR. |
+cdflag | Désactiver l'utilisation du bit "Checking Disable" dans une requête utilisateur. Cela demande au serveur d'éviter d'utiliser la validation DNSSEC de la réponse. Par défaut, cette validation DNSSEC est effectuée. |
+récursion | Définissez le bit "Récursivité souhaitée" lorsque nous envoyons une requête de fouille. Ce bit fait partie d'une requête par défaut. Par conséquent, dig utilise toujours des requêtes récursives. Cependant, la récursivité est désactivée dans une requête +trace ou +nssearch. |
+essais=n | Définissez le nombre d'essais pour une requête UDP sur n au lieu des trois essais qui est le nombre par défaut. |
+temps=t | Définir le nombre de secondes avant qu'une requête n'expire sur t. Par défaut, ce temps est fixé à 5 secondes. |
L'ajout de "non" entre le signe + et le mot-clé (sans espaces) peut provoquer l'effet inverse de ce dont nous avons discuté ci-dessus.
Cette liste ne contient que les options de requête les plus couramment utilisées dans la commande dig sous Linux.
N'oubliez pas de cocher les autres options pour utiliser toutes les fonctionnalités de la commande dig.
Utiliser la commande creuser
Maintenant que nous comprenons comment fonctionne la commande dig sous Linux, il est temps d'apprendre à l'utiliser. Nous explorons ici quelques applications utiles courantes de la commande dig.
1. Interroger un seul hôte
L'utilisation la plus simple de la commande dig consiste à interroger un hôte qui l'utilise. Voici une commande que nous pouvons utiliser pour interroger l'hôte sur Google.com.
dig google.com
Vous devriez voir une sortie qui ressemble à la capture d'écran ci-dessus. Lorsqu'elle est utilisée sans aucune option, la commande dig affiche la réponse de l'hôte ainsi que d'autres informations DNS sous forme de commentaires.
Importance de chaque section dans la sortie de fouille
- Les deux premières lignes contenir la version DiG sur votre système, l'adresse hôte utilisée dans la requête et les options utilisées dans la requête. Ici, la seule option par défaut est +cmd, qui imprime nos deux premières lignes sous forme de commentaires.
- Ensuite, nous voyons les détails techniques concernant la réponse qui a été envoyée par le serveur DNS concernant notre requête. Les versions plus récentes peuvent voir une "pseudo section OPT" couvrant les mécanismes d'extension pour DNS (EDNS).
- Ceci est suivi de la section "Question" qui affiche notre requête et la section "Réponse" qui affiche la réponse du serveur DNS.
- Enfin, la dernière section contient des statistiques concernant notre requête. Dans certains résultats, une « section Autorité » indique les serveurs autorisés à répondre à notre requête.
- 'Section supplémentaire' contient les adresses IP qui relèvent de l'autorité des serveurs DNS.
Afficher uniquement les sections importantes
Si vous souhaitez éviter de voir toutes les informations supplémentaires, nous pouvons utiliser la commande suivante.
dig google.com +noall +answer
Cela n'affichera que le résultat du serveur de noms sous la forme +noall désactive tous les commentaires et +réponse imprime la réponse du serveur de noms. Vous devriez voir une sortie similaire à la capture d'écran ci-dessus.
2. Interrogation de tous les enregistrements DNS
Lorsque vous souhaitez vérifier tous les enregistrements DNS présents sur l'hôte, nous pouvons le faire à l'aide de la commande suivante.
dig +nocmd google.com any +noall +answer
Vous devriez voir la sortie ci-dessus contenant la liste des enregistrements DNS. Vous pouvez remplacer tout avec un type d'enregistrement lors de la recherche d'enregistrements spécifiques
3. Effectuer une recherche DNS inversée
Nous avons utilisé la commande dig pour déterminer l'adresse IP à partir du nom d'hôte d'un serveur de noms. Profitons-en maintenant pour faire l'inverse. Pour déterminer le nom d'hôte associé à une adresse IP, nous utilisons la commande suivante.
dig -x 216.58.199.174 +noall +answer
Comme vous pouvez le voir sur la capture d'écran, la commande dig a utilisé une recherche DNS inversée et a trouvé que cette adresse IP est associée à l'hôte sur bom05s08-in-f12.1e1mm.net
Conclusion
L'utilitaire DiG est un puissant outil Linux pour interroger les serveurs de noms DNS à l'aide de la ligne de commande. Nous espérons que cet article a pu vous aider à comprendre la commande dig sous Linux. Si vous avez des commentaires, des questions ou des corrections, n'hésitez pas à les laisser dans les commentaires ci-dessous