Nslookup : voici comment interroger un serveur DNS

Le Domain Name System (DNS) joue un rôle essentiel dans le succès d’Internet et du World Wide Web puisqu’il sert de service de répertoire central pour les adresses réseau. Le réseau de serveurs DNS (également appelé serveurs de noms) répartis dans le monde entier garantit que les noms des différents utilisateurs du réseau et des applications réseau comme example.org soient détaillés dans les adresses IP qui se basent sur des chiffres lisibles par l’ordinateur (et vice versa). Ceci permet d’être toujours sûr d’atteindre le bon ordinateur ou le site Web désiré, même sans connaissance de l’IP réelle.

Cependant, dans certaines situations (en cas de problèmes de résolution de noms par exemple), il peut être judicieux de regarder derrière les coulisses et de rechercher l’adresse IP pour un nom de domaine ou le nom de domaine pour une adresse IP. Pour ce faire, le programme nslookup, installé par défaut sous Windows, macOS et Linux, est un outil utile.

Qu’est-ce que nslookup ?

nslookup est un outil en ligne de commande simple mais très pratique qui est principalement utilisé pour trouver l’adresse IP d’un hôte spécifique ou le nom de domaine d’une adresse IP spécifique (recherche DNS inverse). nslookup peut être exécuté dans l’interface en ligne de commande du système d’exploitation utilisé. Les utilisateurs de Windows démarrent le service à partir de l’invite de commandes, les utilisateurs Unix à partir du terminal. De plus, il existe aujourd’hui un certain nombre de services Web qui permettent d’utiliser nslookup en ligne.

Note

le nom nslookup signifie « name server look up », qui peut être traduit par « vérifier le nom du serveur ».

nslookup obtient les informations d’adresse correspondantes directement à partir du cache DNS des serveurs de noms. Deux modes différents sont à la disposition de l’utilisateur : en mode non interactif, l’outil inspecte par défaut lesenregistrements de ressources DNS (c’est-à-dire les entrées d’adresse dans le cache DNS) stockés dans le serveur de noms local. Ce mode est particulièrement adapté aux requêtes simples dans lesquelles une seule entrée doit être recherchée pour un domaine. Si vous souhaitez utiliser un serveur DNS différent pour la recherche et exécuter des processus de recherche plus complexes, vous aurez besoin du mode interactif qui commence par démarrer l’interface en ligne de commande séparément.

Note

contrairement à plusieurs autres interfaces en ligne de commande de Windows/DOS, nslookup dispose d’un paramètre « sensible à la casse » avec –q, c’est-à-dire que l’emploi des minuscules et majuscules est pertinent.

Pourquoi utiliser nslookup ?

Il existe plusieurs scénarios qui mènent à l’utilisation de nslookup. L’interface en ligne de commande est un outil important, en particulier pour résoudre les erreurs DNS. Une recherche d’informations permet avant tout de trouver la cause du problème. Par exemple, si vous utilisez un serveur Windows et que vous avez un problème avec le service d’annuaire LDAP natif Active Directory, vous pouvez utiliser nslookup pour vérifier rapidement et facilement si tous les serveurs associés sont bien résolus dans le système de noms de domaine. En règle générale, le programme est particulièrement utile quand il existe différents sous-domaines, notamment lorsqu’il s’agit de les vérifier et lorsque des problèmes de connexion existent réellement.

Afin de protéger votre vie privée, la vidéo ne se chargera qu'après votre clic.

Un autre scénario d’utilisation courant est la recherche de serveurs de messagerie électronique parfaits (SMTP, POP, IMAP) pour le domaine désiré. Dans ce cas, nslookup détermine les serveurs en question en utilisant les enregistrements MX (Mail eXchanger) qui appartiennent au domaine du fournisseur d’email. Ces entrées contiennent les adresses IP et les noms des serveurs des fournisseurs, qui n’ont besoin d’être spécifiés que lors de la configuration du client de messagerie afin d’améliorer le routage du courrier électronique.

Comment fonctionne nslookup sous Windows, Linux et macOS ?

Pour utiliser nslookup sur Mac, Windows ou Linux, ouvrez la ligne de commande du système d’exploitation respectif. Vous retrouvez alors les deux modes déjà brièvement énumérés pour l’utilisation de l’outil DNS à vos propres fins :

  • Mode interactif : démarrez nslookup avec la commande du même nom puis ajoutez les paramètres séparément
  • Mode non interactif : entrez directement la commande nslookup et les paramètres désirés

Le choix de la procédure à appliquer dépend également de votre savoir-faire. Si les paramètres requis sont connus, il n’y a aucune raison de ne pas effectuer la requête du serveur DNS en une seule étape (si le serveur DNS ne doit pas être changé). Les novices doivent d’abord se familiariser avec le service : il est plus facile de commencer en démarrant nslookup, puis en s’appropriant la syntaxe et les paramètres étape par étape. Les options disponibles dans ce mode peuvent être appelées à l’aide de la commande « help ».

Pour quitter nslookup après la requête, il suffit d’exécuter la commande « exit » ou de fermer la ligne de commande. La combinaison de touches [CTRL] +[C] fonctionne également.

nslookup : exemples d’utilisation du service d’interrogation

Si vous avez lancé nslookup en une seule étape, la ligne de commande attend d’autres commandes. Les utilisateurs ont la possibilité d’exécuter des requêtes avec la configuration standard ou de définir des options individuelles. Pour la première méthode, il suffit d’entrer le nom de domaine pour lequel l’adresse IP doit être recherchée (ou vice versa) dans la ligne de commande et de confirmer la sélection avec la touche Entrée. Ainsi, nslookup présente le résultat suivant pour la recherche de l’adresse du domaine example.org :

Dans ce cas, une « réponse non autorisée » a été retournée, puisque le serveur DNS local ne pouvait pas répondre lui-même à la requête, mais devait contacter un ou plusieurs autres serveurs de noms. Les contenus de la réponse nslookup sont les adresses IPv4 (quatre chiffres) et IPv6 (plus longues, séparées par deux points) du domaine d’exemple.

Vous trouverez deux exemples ci-dessous pour les requêtes nslookup configurées individuellement en mode interactif.

Récupérer des types d’adresses spécifiques à partir des enregistrements de ressources

Fondamentalement, nslookup est conçu pour interroger les adresses IPv4 et IPv6. Cependant, comme mentionné ci-dessus, l’outil en ligne de commande peut également récupérer des informations sur d’autres types d’adresses d’un domaine en donnant accès aux entrées DNS. Pour cela, l’utilisateur doit d’abord définir (« set ») le type (« type ») désiré avant d’entrer le nom de domaine dans la ligne de commande. Voici à quoi ressemble la syntaxe de la commande nslookup correspondante :

set type=ADRESSTYP


Le type de requête souhaité est saisi sous « TYPE D’ADRESSE », où les types suivants peuvent entre autres être utilisés :

Paramètres nslookup Type de requête
A Adresse IPv4
AAAA Adresse IPv6
MX Nom(s) de domaine du serveur de messagerie (Mail Exchanger)
NS Serveur de nom de domaine
PTR Requête « Pointer » (affiche le(s) nom(s) d’hôte sur une adresse IP)
SOA Requête « Start of Authority » (informations sur la gestion de la zone DNS)

Changer de serveur DNS pour des résultats précis

Par défaut, nslookup contacte le serveur DNS local, qui est généralement fourni par le routeur ou le fournisseur d’accès Internet. Cependant, si vous l’utilisez pour la requête, il est possible que les résultats ne soient pas toujours exacts car le serveur que vous recherchez n’est pas répertorié dans le cache du serveur de noms local, par exemple. Cependant, l’outil en ligne de commande vous permet de sélectionner le serveur DNS sur lequel la requête doit être exécutée. Si vous prenez le serveur qui est lié au domaine correspondant, vous obtenez même des réponses d’autorisation. La première étape consiste à trouver le(s) serveur(s) de noms attribué(s) en définissant le type de requête« NS » et en affichant cette entrée DNS en entrant le nom de domaine :

  set type=NS
  example.org

nslookup fournit deux serveurs de noms possibles (« a.iana-servers.net » et « b.iana-servers.net ») pour cet exemple, comme le montre la capture d’écran suivante :

L’un des deux serveurs de noms présentés doit maintenant être défini comme serveur par défaut pour que les requêtes s’exécutent à l’avenir. La commande correspondante se compose du paramètre « serveur » et du nom du serveur souhaité. Ces deux commandes sont possibles pour l’exemple nslookup choisi :

server a.iana-servers.net
server b.iana-servers.net

Lors de la dernière étape, l’utilisateur change le type de requête, qui est toujours configuré pour la recherche par serveur de noms, par la requête d’adresse désirée telle que « A » pour le domaine, « MX » pour le contrôle IP du serveur de messagerie ou « ANY » pour un contrôle complet (utilisé ici) :

set type=ANY

Si vous entrez à nouveau example.org pour lancer la requête, nsklookup fournit des informations DNS détaillées sur le domaine d’exemple, le serveur de noms sélectionné comme serveur par défaut (ici : a.iana-servers.net) servant de source d’information :

Cette fois, l’autorisation précise de la réponse montre entre autres les deux serveurs de noms déjà connus et le serveur de noms principal (primary name server) à partir duquel l’information DNS est effectivement obtenue.

Requête du serveur DNS dans le navigateur avec les outils en ligne nslookup

Pour la requête des serveurs DNS avec nslookup, l’outil ne doit pas nécessairement être exécuté sur votre propre système. Il existe diverses applications sur Internet qui fournissent les ressources correspondantes. Dans ce cas, le contrôle de l’adresse IP ou du nom de domaine a lieu sur un autre ordinateur, à partir de votre propre navigateur. Deux exemples de ces applications Web nslookup sont ping.eu et centralops.net.

ping.eu est limité à la fonction élémentaire de nslookup. Après avoir saisi une adresse IP ou un nom d’hôte, l’outil fournit l’équivalent correspondant :

Avec l’outil centralops.net, nslookup peut également être utilisé en ligne en mode interactif. Cela permet aux utilisateurs d’entrer le serveur de nom de leur choix, de changer le port ou de spécifier le type de requête au lieu du serveur DNS par défaut du fournisseur. Cela permet, par exemple, d’obtenir des réponses autorisées comme dans l’exemple nslookup ci-dessus.

Note

ping.eu et centralops.net proposent tous deux des outils réseau supplémentaires tels que Traceroute ou WHOIS.