Présentation
Le dig
La commande sous 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. Le dig
La commande est utile pour résoudre les problèmes DNS, mais est également utilisée pour afficher les informations DNS.
Ce guide vous aidera à comprendre et à utiliser Linux dig
commande.
Prérequis
- Un système exécutant Linux
- Un compte utilisateur avec des privilèges sudo ou root
- Accès à une fenêtre de terminal/ligne de commande
Installer dig sur Linux (facultatif)
La plupart des systèmes Linux modernes incluent le dig
commande.
Vérifiez qu'il est installé en vérifiant la version du logiciel. Pour ce faire, ouvrez une ligne de commande et entrez ce qui suit :
dig -v
Le système doit répondre par un code numérique. Si le système ne trouve pas la commande spécifiée, installez dig en saisissant ce qui suit :
Debian/Ubuntu :
sudo apt-get install dnsutils
CentOS/RedHat :
sudo yum install bind-utils
Une fois l'installation terminée, vérifiez l'installation avec la commande suivante :
dig -v
Pour plus d'informations sur CentOS et RHEL, veuillez consulter notre article sur Comment installer dig sur CentOS 7 et 8.
dig syntaxe
Le dig
commande est utilisée comme suit :
dig [server] [name] [type]
[server]
– Le nom d'hôte ou l'adresse IP vers laquelle la requête est dirigée
[name]
– Le DNS (Domain Name Server) du serveur à interroger
[type]
– Le type d'enregistrement DNS à récupérer. Par défaut (ou si laissé vide), dig
utilise le type d'enregistrement A
Le dig
La commande résout le nom d'hôte avant de procéder à l'interrogation du serveur de noms.
Comment utiliser la commande dig avec des exemples
Regardons l'utilisation de base du dig
commande.
Recherche DNS
Le dig
La commande permet de rechercher un nom de domaine. Pour effectuer une recherche DNS, ouvrez le terminal et tapez :
dig google.com
Vous devriez voir quelque chose de semblable à ce qui suit :
La section la plus importante est la RÉPONSE rubrique :
- La première colonne indique le nom du serveur interrogé
- La deuxième colonne est la durée de vie , un délai défini après lequel l'enregistrement est actualisé
- La troisième colonne indique la classe de la 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 dernière colonne affiche l'adresse IP associée au nom de domaine
Les autres lignes peuvent être traduites comme suit :
La première ligne affiche la version du dig
commande.
L'EN-TÊTE affiche les informations reçues du serveur. Les drapeaux font référence au format de réponse.
La PSEUDOSECTION OPT affiche des données avancées :
- EDNS – Système d'extension pour DNS, le cas échéant
- Indicateurs - vide car aucun indicateur n'a été spécifié
- UDP :taille du paquet UDP
La QUESTION affiche les données de la requête qui ont été 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
Les STATISTIQUES affiche les métadonnées de la requête :
- Temps de requête – Le temps qu'il a fallu pour obtenir une réponse
- SERVER - L'adresse IP et le port du serveur DNS qui répond. Vous remarquerez peut-être une adresse de bouclage dans cette ligne - cela fait référence à un paramètre local qui traduit les adresses DNS
- WHEN – Horodatage de l'exécution de la commande
- MSG SIZE rcvd – La taille de la réponse du serveur DNS
Spécifier le serveur DNS
Par défaut, dig
utilise la configuration locale pour décider quel serveur de noms interroger. Utilisez la commande suivante pour spécifier le serveur de domaine de Google :
dig @8.8.8.8 google.com
Le terminal imprime la sortie suivante :
N'IMPORTE QUELLE option
Pour renvoyer tous les résultats de la requête, utilisez ce qui suit :
dig google.com ANY
Le système listera tous les google.com
Les enregistrements DNS qu'il trouve, ainsi que les adresses IP.
Option de réponse courte
Pour afficher uniquement l'adresse IP associée au nom de domaine, saisissez ce qui suit :
dig google.com +short
La sortie affiche le contenu comme dans l'image ci-dessous :
Option de réponse détaillée
Exécutez +noall +answer
avec le dig
commande pour accéder aux informations détaillées dans les réponses rubrique :
dig google.com +noall +answer
L'exemple ci-dessous affiche la sortie attendue.
Option de suivi
Le +trace
L'option répertorie chaque serveur différent par lequel la requête passe jusqu'à sa destination finale. Utilisez cette option de commande pour identifier l'adresse IP où le trafic baisse.
dig google.com +trace
Le résultat devrait ressembler à celui présenté ci-dessous :
Recherche DNS inversée
Pour rechercher un nom de domaine par son adresse IP, saisissez ce qui suit :
dig -x 172.217.14.238
La sortie affiche le contenu comme dans l'image ci-dessous :
Le -x
L'option vous permet de spécifier l'adresse IP au lieu d'un nom de domaine. Ceci peut être combiné avec d'autres options :
dig +noall +answer -x 172.217.14.238
L'exemple ci-dessous affiche la sortie attendue.
Mode batch pour lire les noms d'hôtes à partir d'un fichier
Pour rechercher plusieurs entrées, commencez par créer un fichier pour stocker les noms de domaine :
sudo nano domain_research.txt
Voir exemple sur l'image ci-dessous :
Ajoutez plusieurs sites Web d'intérêt comme dans l'image ci-dessous :
Enregistrez le fichier et quittez. Maintenant, spécifiez le fichier en utilisant le -f
option dans dig
commande :
dig -f domain_research.txt +short
Voir un exemple de la sortie de la commande ci-dessous :
Ajuster en permanence les options par défaut
Les informations affichées par dig peuvent être modifiées dans le ~/.digrc
dossier. Ouvrez le fichier pour le modifier avec la commande suivante :
sudo nano ~/.digrc
Ajoutez les lignes suivantes :
+noall
+answer
Voir un exemple dans l'image ci-dessous :
Écrivez le fichier (ctrl
–o
) et quitter (ctrl
–x
).
Exécutez le dig
commande à nouveau :
dig google.com
Vous ne devriez voir que la commande de réponses, comme si vous aviez ajouté manuellement +noall
et +answer
.