GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de fouilles Linux utiles pour l'administrateur réseau

En tant qu'administrateur réseau Linux, vous êtes susceptible de rencontrer divers problèmes qui peuvent être résolus avec Linux dig (Domain Information Groper). Je ne sais pas comment le dig la commande fonctionne ? Pas de soucis! Vous allez vous régaler !

Dans ce didacticiel, vous découvrirez quelques exemples utiles d'utilisation de dig pour résoudre des problèmes réels.

Creusez et liez-vous d'amitié avec cet outil puissant !

Prérequis

Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous que vous disposez d'un système Linux. Ce tutoriel utilise Ubuntu 20.04, mais n'importe quelle distribution Linux moderne fonctionnera.

Installation de Linux dig Commande

Le Linux dig La commande vous permet de collecter des informations DNS qui peuvent être utiles pour résoudre les problèmes DNS. Mais avant de creuser des serveurs de noms, vous devez d'abord installer dig sur votre ordinateur.

1. Exécutez la commande apt update ci-dessous pour mettre à jour l'index de package de votre système.

apt update -y

2. Ensuite, exécutez la commande apt install suivante pour installer dnsutils sur votre machine. DiG fait partie d'un package utilitaire DNS (dnsutils) installé avec les serveurs de noms BIND.

dnsutils est un ensemble d'outils fourni par l'équipe Ubuntu qui contient divers utilitaires DNS côté client, comme dig.

apt install dnsutils -y

3. Enfin, exécutez la commande dig ci-dessous pour vérifier votre installation DiG.

dig -v

Ci-dessous, la version de DiG affiche 9.16.1, mais la vôtre peut être différente.

Essayer Linux Dig pour une requête DNS de base

Maintenant que vous avez installé dig, vous pouvez essayer le dig commande pour une requête DNS de base. La commande dig vous permet d'interroger les serveurs DNS pour recueillir une poignée d'informations que vous pouvez utiliser pour dépanner et résoudre les problèmes DNS.

La syntaxe d'une requête DNS de base est la suivante où :

  • server – Le serveur DNS pour interroger une adresse IP ou un nom de domaine. DiG utilisera le DNS préconfiguré de votre ordinateur si vous ne spécifiez pas de serveur.
  • name – Le nom de domaine ou l'adresse IP à rechercher.
  • type – Le type d'enregistrement DNS que vous recherchez.
dig [server] [name] [type]

Maintenant, exécutez la commande suivante pour interroger les enregistrements DNS pour google.com .

Lorsque vous exécutez le dig commande sans indicateur ni argument, dig effectue une requête DNS en tant qu'argument et renvoie l'enregistrement A pour le nom d'hôte spécifié.

dig [google.com]()

Une requête DNS de base utilisant dig est utile pour quelques tâches différentes, telles que :

  • Vérifier les enregistrements DNS d'un domaine.
  • Savoir quel serveur DNS est utilisé pour un domaine.
  • Vérifiez si votre ordinateur utilise le bon serveur DNS.

Interroger google.com

Comprendre le résultat d'une requête DNS de base

Étant donné que DiG a renvoyé de nombreuses informations sur le nom de domaine que vous avez interrogé, vous pouvez déjà voir ce qui se passe avec ce domaine. Ou pas? Probablement pas. Mais ne vous inquiétez pas. Vous passerez en revue une ventilation de chaque section que vous verrez sur une sortie de requête DNS de base.

En dessous, la première ligne indique la version de DiG et le nom de domaine recherché (google.com ). En même temps, la deuxième ligne affiche les options globales utilisées pour exécuter la requête.

Dans ce cas, la seule option utilisée était +cmd , qui indique à DiG d'imprimer les commandes exécutées au fur et à mesure que DiG les exécute.

La section suivante (HEADER ) vous montre les détails techniques de la requête :

  • La première ligne spécifie l'opcode utilisé pour la requête (dans ce cas, QUERY ), suivi du statut :NOERROR de la requête et de l'id numéro(47244 ). Le AUCUNE ERREUR status indique que le serveur DNS a traité la requête et a renvoyé une réponse avec succès. Si vous obtenez un SERVFAIL status, une erreur de serveur DNS s'est produite, entraînant l'échec de la requête.
  • Les drapeaux La section vous montre quels indicateurs ont été définis pour la requête. Dans ce cas, qr (réponse à la requête), rd (la récursivité n'était pas souhaitée), et ra (la récursivité est disponible).
  • La dernière ligne vous indique le nombre de requêtes (QUERY ) ont été faites (1 ). Vous verrez également combien de RÉPONSES s (1 ), AUTORITÉ enregistrements (0 ), et supplémentaire enregistrements(1 ) DiG est revenu.

La PSEUDOSECTION OPT ci-dessous indique que le message DNS a été étendu à l'aide du protocole EDNS0. Les drapeaux le champ est vide car aucune option n'a été définie, tandis que le champ udp champ spécifie la taille maximale du message DNS, qui est de 65 494 octets.

Maintenant, la RÉPONSE La section ci-dessous vous montre la réponse renvoyée pour la requête. Dans ce cas, vous avez demandé l'enregistrement A de google.com , et le serveur DNS a renvoyé une adresse IP de 142.250.80.110 . Vous pouvez voir google.com Un enregistrement pointe vers cette adresse IP.

Enfin, la dernière section contient des informations sur l'heure de la requête et le serveur utilisé pour traiter la requête. Ci-dessous, vous pouvez voir que la requête a pris quatre millisecondes (4 msec ) à terminer, et le SERVEUR utilisé avait une adresse IP de 127.0.0.53 .

Moins le serveur DNS prend de temps pour traiter une requête et renvoyer une réponse, mieux c'est. Vous ne voulez pas que vos utilisateurs attendent longtemps la résolution des requêtes DNS. La longue attente peut entraîner une mauvaise expérience utilisateur.

Récupérer des réponses courtes et détaillées

Vous venez d'interroger un DNS qui a renvoyé une poignée d'informations. Mais pouvez-vous contrôler la sortie que vous obtenez ? Oui, en ajoutant des drapeaux (+short , +noall , et +answer ) au dig commande.

Supposons que vous recherchiez un enregistrement A. Le serveur DNS renvoie à la fois un enregistrement A et un enregistrement AAAA. Mais avec le +short flag, le DNS ne renvoie que l'enregistrement A. Le +short flag peut être utile pour obtenir une réponse rapide des serveurs DNS sans passer au crible toutes les informations supplémentaires.

Exécutez la commande ci-dessous pour interroger google.com encore. Mais cette fois, ajoutez le +short drapeau pour obtenir une réponse courte uniquement.

dig +short google.com

Ci-dessous, vous verrez que DiG n'a renvoyé qu'une réponse courte, qui est l'adresse du serveur de Google.

Maintenant, exécutez la commande suivante pour interroger google.com , renvoyant une réponse détaillée. Le +noall flag omet toutes les informations par défaut affichées lors de l'exécution du dig commande, sauf pour la section de réponse (+answer ).

dig google.com +noall +answer

Spécification des serveurs de noms pour résoudre les noms de domaine

Jusqu'à présent, vous avez vu comment utiliser le dig commande avec ses paramètres par défaut. Mais supposons que vous souhaitiez tester si un serveur de noms spécifique peut résoudre un nom de domaine ou non. Dans de tels cas, spécifier quel serveur DNS DiG utilise lors de l'exécution du dig commande peut aider.

Par défaut, le dig La commande utilise les serveurs DNS spécifiés dans /etc/resolv.conf fichier, comme indiqué ci-dessous.

Pour remplacer le serveur DNS que DiG utilise lors de la résolution d'un nom de domaine, vous ajouterez le @ symbole suivi du serveur DNS ou de l'IP.

Exécutez la commande ci-dessous pour interroger un nom de domaine (server ) en utilisant votre serveur DNS préféré (dns-or-ip ). Assurez-vous de remplacer dns-or-ip avec votre serveur DNS, mais ce tutoriel utilise 8.8.8.8 .

dig server +noall +answer @dns-or-ip

Vous pouvez voir ci-dessous que le serveur DNS a résolu le nom de domaine avec succès et a renvoyé des réponses détaillées.

Interroger des types d'enregistrement spécifiques

Par défaut, le dig la commande recherche un enregistrement A si vous ne spécifiez aucun type d'enregistrement. Mais DiG vous permet également d'interroger d'autres types d'enregistrements DNS, tels que MX, NS, TXT, etc.

Pour spécifier un type d'enregistrement, vous ajoutez le type d'enregistrement juste après le nom de domaine que vous recherchez, comme dans l'exemple suivant.

Exécutez la commande ci-dessous pour interroger google.com pour les enregistrements MX.

dig +noall +answer google.com mx

Vous pouvez voir ci-dessous que l'enregistrement MX pour google.com est smtp.google.com .

Maintenant, exécutez la commande suivante pour interroger google.com pour les enregistrements TXT

dig +noall +answer google.com txt

La sortie ci-dessous montre tous les enregistrements TXT pour google.com , comme indiqué ci-dessous.

Exécuter des requêtes en mode batch

Supposons que vous souhaitiez rechercher des informations DNS pour plusieurs noms de domaine. Interroger les informations une par une pour chaque nom de domaine peut être fastidieux et chronophage.

Heureusement, le dig La commande prend en charge un mode batch, où vous pouvez spécifier un fichier contenant une liste de noms de domaine. DiG effectuera des requêtes DNS pour tous les noms de domaine répertoriés dans ce fichier en mode batch.

Ouvrez un nouveau fichier texte nommé dns-batch-file.txt dans votre éditeur de texte préféré et ajoutez les noms de domaine (un par ligne), comme indiqué ci-dessous. Une fois que vous êtes satisfait de la liste, enregistrez le fichier et fermez l'éditeur.

Maintenant, exécutez la commande suivante pour interroger tous les domaines répertoriés dans le spécifié (-f ) dns-batch-file.txt fichier en mode batch.

dig -f dns-batch-file.txt +noall +answer

Comme vous pouvez le voir ci-dessous, les informations DNS de tous les domaines ont été interrogées et affichées sous forme de tableau.

Contrôle du comportement de DiG à l'aide de .digrc Fichier

DiG lit divers paramètres du fichier ~/.digrc lorsque vous exécutez la commande dig. Ce fichier contient divers paramètres qui vous permettent de contrôler la façon dont le dig commande se comporte. Avec le fichier ~/.digrc , vous pouvez définir le serveur DNS par défaut que le dig La commande doit interroger ou définir le type d'enregistrement par défaut pour interroger si vous n'en spécifiez aucun.

Peut-être souhaitez-vous obtenir une réponse détaillée et ignorer toutes les autres sections la plupart du temps lors de l'exécution du dig commande. Dans de tels cas, vous pouvez utiliser le ~./digrc fichier pour définir le style de sortie par défaut pour le dig commande, comme dans l'exemple suivant.

Exécutez le echo commande ci-dessous, qui ne fournit pas de sortie, mais ajoute le +noall +answer ligne vers le ~/.digrc fichier.

echo "+noall +answer" > ~/.digrc

Maintenant, exécutez le dig commande pour interroger un nom de domaine sans arguments. Remplacer domain avec votre nom de domaine préféré.

dig domain

Vous pouvez voir que la sortie ne contient désormais que la section de réponse, comme indiqué ci-dessous. DiG utiliserait le +noall +answer drapeaux du ~/.digrc même si vous n'avez ajouté aucun indicateur lorsque vous avez exécuté la commande dig.

Conclusion

Dans cet article, vous avez appris diverses fonctionnalités de Linux dig commande pour interroger efficacement les serveurs DNS. Vous avez également abordé la personnalisation de votre dig souhaité sortie de commande à l'aide de plusieurs drapeaux.

À ce stade, vous savez déjà comment tirer parti de Linux dig commande dans votre travail quotidien, en particulier lors du dépannage de problèmes de réseau.

Ne vous arrêtez pas là, cependant. Il y a plus à ce que vous pouvez accomplir avec Linux dig commande. Pourquoi ne pas utiliser le dig commande pour effectuer une recherche DNS inversée pour trouver un nom de domaine associé à une adresse IP ?


Linux
  1. 16 exemples de commandes 'cp' utiles pour les débutants Linux

  2. 9 exemples utiles de la commande Split sous Linux

  3. Comment utiliser la commande id sous Linux :5 exemples utiles

  4. 10 exemples Sar (Sysstat) utiles pour la surveillance des performances UNIX / Linux

  5. dig Exemples de commandes sous Linux

10 exemples utiles de la commande Sort sous Linux

15 exemples super utiles de la commande Find sous Linux

Analyses de ports Linux efficaces pour l'administrateur réseau

Exemples utiles de tcpdump Linux pour l'administrateur réseau

10 exemples de commande Linux brctl pour le pont réseau Ethernet

10 exemples de commandes Linux DIG pour la recherche DNS