nslookup et dig : client DNS pour Windows et Linux

Windows et Linux possède des commandes réseaux assez utiles.
On trouve notamment un client DNS afin de pouvoir tester les résolutions DNS : nslookup et dig.
Cela s’avère très utile lorsque l’on rencontre des problèmes de connexions ou pour vérifier des configurations.

Voici une présentation et utilisation de ces deux commandes nslookup et dig.

nslookup et dig : client DNS pour Windows et Linux

Introduction

Le DNS permet d’obtenir une adresse IP depuis un nom littérale.
On parle alors de résoudre une adresse IP ou résolution DNS.
Bien entendu, il existe d’autres types d’entrées DNS comme :

  • A ou ALIAS : on fait pointer une adresse IP à une adresse littérale.
  • CNAME : une adresse littérale pointe vers une autre.
  • MX (Mail eXchanger) : les entrées liés aux serveurs de mails
  • NS (Name Server) : les entrées des serveurs DNS
  • PTR (Point Record) : il s’agit du reverse d’une adresse IP. C’est à dire vers quelle adresse littérale, une adresse IP correspond.
  • Specify ANY to display all records.

Ainsi un client DNS peut effectuer toutes ces interrogations DNS.

nslookup

nslookup est donc un outil en ligne de commandes.
Vous devez ouvrir l’invite de commandes afin de pouvoir l’utiliser.

Lorsque l’on saisie nslookup, on arrive sur interface sur laquelle on peut ensuite effectuer des résolutions DNS.
On peut toutefois demander des résolutions DNS sans entrées dans celle-ci.
Par défaut, on travaille avec le serveur DNS de l’interface réseau.

nslookup client DNS de Windows en invite de commandes

On saisit ensuite une adresse et l’outil se charge de vous retourner l’adresse IP IPv4 et IPv6.
Ainsi nslookup nous donne :

  • Le serveur effectuant la résolution DNS. Ici il s’agit de la Livebox
  • La réponse avec l’adresse et ses adresses IP.
  • Le message « Réponse ne faisant pas autorité » indique que la réponse vient du cache et non d’un serveur DNS.
Interrogation DNS avec nslookup

Si on ne veut pas utiliser le cache et interroger le serveurs DNS.
Il faut utiliser le type soa comme ceci:

nslookup -type=soa domaine.com
interrogation DNS nslookup directe sur les serveurs

Enfin pour une réponse DNS plus complète avec les ent-ête, TTL, expiration, etc
Il faut utiliser l’option -debug.

nslookup -debug malekal.com
nslookup pour windows DNS complet

Changer de serveur DNS

La commande set permet de changer de serveurs DNS.
Cela vous permet donc de tester une résolution avec un autre serveur DNS sans devoir changer la configuration de votre interface réseau.
Très utile afin de résoudre des problèmes de connexions internet.

Par exemple pour utiliser les serveurs DNS Google, il suffit de saisir :

server 8.8.8.8
Changer le serveur DNS sur nslookup

Reverse IP

Le reverse IP ou PTR s’obtient en saisissant nslookup puis l’adresse IP.

Reverse ip avec nslookup

Changer le type

Enfin la commande set type permet de choisir le type de résolution.
Par exemple pour récupérer le MX d’un domaine :

set type=mx

ou encore les entrées SPF :

set type=txt
Changer le type en MX sur nslookup de Windows

ou encore pour demander le serveur DNS d’un domaine.

set type=ns

dig

C’est un outil très complet pour effectuer des requêtes DNS.
Il n’est en général pas installer par défaut dans les distributions.
Ainsi vous devez l’installer vous mêmes avec l’outil de votre distro :

apt-get install dig
yum install dig

Enfin dig s’utilise dans un terminal.

Les sections

Voici une réponse classique d’une requête DNS.
Dig fonctionne avec des sections, ici cinq.
On peut retirer celle-ci à chaque fois grâce à une option.
Le nom est entre crochet car on peut aussi forcer l’affichage de la section.

  • Un récapitulatif des drapeaux et en-tête : Les flag et quelques options DNS. On peut la retirer avec l’option +[no]comments.
  • OPT PSEUDOSECTION : Le mécanisme DNS (ex EDNS) et si des cookies sont utilisées
  • Answer Section : la réponse DNS. Pour la supprimer, il faut utiliser +[no]answer
  • Authority section : les serveurs DNS faisant autorités. Pour la retirer, on utilise +[no]authority.
  • Enfin les données sur la requête comme le temps de réponse, le serveur utilisé, la taille de la réponse, etc. Cela se règle avec l’option +[no]additional.

Ici il s’agit de résoudre l’adresse www.malekal.com afin d’obtenir l’adresse IP.
On voit qu’un CNAME est utilisé.

Les sections DNS de dig
Les sections DNS de dig

La réponse est très complète mais on peut bien sûr la raccourcir.
Pour cela, on utilise l’option +short.

dig réponse courte

ou encore, on peut demander à ne rien afficher avec +noall puis seulement la section réponse avec +answer.

dig réponse courte

Changer de serveurs DNS et reverse IP

Comme avec nslookup, dig utilise par défaut le serveur DNS de l’interface.
Mais on peut interroger un autre DNS grâce au paramètre @
Soit par exemple pour utiliser les serveurs DNS Google :

dig www.malekal.com @8.8.8.8
Changer le serveur DNS sur dig

Pour le reverse IP, on utilise -x.

dig -x 216.58.215.35
Reverse IP avec dig sur Linux

NS et MX

Pour lister les serveurs DNS d’un domaine :

dig malekal.com NS +noall +answer
Obtenir le NS ou MX avec dig

Enfin on utilise -t pour changer le type de résolution.
Ainsi pour obtenir le MX ou les entrées SPF :

Obtenir le SPDF avec dig

autres options

dig peut aussi lire le contenu d’un fichier afin de donner une liste de résolution à effectuer.
Cela se fait avec l’option -f.

dig -f /tmp/demo.txt +short
Lire un fichier avec dig

Enfin dig possède même une option trace.
Cela permet de suivre la résolution DNS en cas de blocage.

dig www.malekal.com +trace

Autres commandes

Pour les problèmes DNS, suivre ce lien : Comment diagnostiquer les problèmes de DNS sur Windows

Quelques articles avec d’autres commandes réseaux utiles.

image_pdfimage_print
(Visité 647 fois, 1 visites ce jour)