Maîtriser la commande nslookup : tutoriel pas à pas et astuces avancées

2024-12-06 · Mis à jour 2026-07-06

nslookup (abréviation de « Name Server Lookup ») est un outil en ligne de commande intégré qui permet d'interroger les serveurs DNS (Domain Name System) afin de trouver l'adresse IP d'un domaine, ou le nom de domaine associé à une adresse IP. Pour l'utiliser, tapez nslookup suivi du domaine à résoudre. L'usage le plus courant est une recherche simple :

nslookup example.com

Cette commande renvoie la ou les adresses IP vers lesquelles pointe example.com, ainsi que le serveur DNS ayant répondu à la requête. nslookup est préinstallé sur Windows, macOS et Linux : il fonctionne donc immédiatement dans n'importe quel terminal ou invite de commandes, sans aucune configuration.

Vous pouvez enrichir cette même commande pour couvrir les tâches de dépannage DNS les plus courantes :

Tâche Commande
Recherche simple (domaine → IP) nslookup example.com
Recherche inverse (IP → domaine) nslookup 8.8.8.8
Utiliser un serveur DNS précis nslookup example.com 8.8.8.8
Trouver les serveurs de messagerie (MX) nslookup -type=MX example.com
Trouver les serveurs de noms (NS) nslookup -type=NS example.com
Trouver les enregistrements TXT (SPF, DKIM, vérification) nslookup -type=TXT example.com

Le reste de ce guide détaille chacune de ces tâches : syntaxe, sorties réelles, mode interactif, scripts et alternatives comme dig et host.

Introduction

Dans le vaste univers interconnecté d'Internet, le système de noms de domaine (DNS) joue un rôle central en traduisant les noms de domaine lisibles par l'humain (comme www.example.com) en adresses IP compréhensibles par les machines (telles que 192.0.2.1). Cette traduction est indispensable pour acheminer le trafic à travers les réseaux et permettre aux utilisateurs d'accéder sans accroc aux sites web, services et ressources.

Lorsque des problèmes de résolution DNS surviennent, les administrateurs réseau et les professionnels de l'informatique ont besoin d'outils fiables pour poser un diagnostic et dépanner. La commande nslookup fait partie de ces outils indispensables. Cet utilitaire permet d'interroger les serveurs DNS afin d'obtenir des informations sur les noms de domaine, les adresses IP et divers enregistrements DNS.

Qu'est-ce que nslookup ?

Définition de nslookup

nslookup signifie Name Server Lookup (recherche de serveur de noms). C'est un outil en ligne de commande qui sert à interroger les serveurs DNS (Domain Name System) afin de récupérer des informations sur les noms de domaine, les adresses IP et d'autres enregistrements DNS. En facilitant les requêtes DNS, nslookup aide les utilisateurs et les administrateurs à diagnostiquer et à résoudre les problèmes liés au DNS.

Rôle de nslookup dans le diagnostic réseau

Le DNS est fondamental au fonctionnement d'Internet, et toute interruption des services DNS peut entraîner des problèmes d'accès aux sites web et aux services en ligne. nslookup fait office d'utilitaire de diagnostic capable de :

  • vérifier la configuration des serveurs DNS ;
  • confirmer l'existence et la configuration des enregistrements DNS ;
  • détecter les problèmes de propagation DNS ;
  • aider à résoudre les problèmes de connectivité liés au DNS.

En donnant un aperçu détaillé des requêtes et des réponses DNS, nslookup permet aux utilisateurs de repérer et de corriger efficacement les problèmes DNS.

Différences entre nslookup et les autres outils DNS

nslookup est un outil puissant, mais ce n'est pas le seul utilitaire DNS disponible. Parmi les autres outils notables :

  • dig (Domain Information Groper) : propose des options de requête plus détaillées et plus souples que nslookup. Beaucoup d'administrateurs réseau le privilégient pour sa sortie complète.
  • host : un utilitaire plus simple pour effectuer des recherches DNS, idéal pour des requêtes rapides sans sortie volumineuse.

Face à ces outils, nslookup est souvent jugé plus accessible pour les requêtes DNS de base, en particulier pour ceux qui débutent dans le diagnostic réseau. En revanche, pour les requêtes avancées et l'écriture de scripts, des outils comme dig peuvent se révéler plus adaptés.

Histoire et contexte

Origine de nslookup

La commande nslookup est née aux débuts d'Internet, au sein de la suite d'outils BIND (Berkeley Internet Name Domain). Conçu pour faciliter les requêtes DNS et le dépannage, nslookup est devenu un utilitaire standard sur de nombreux systèmes d'exploitation, dont UNIX, Linux et Windows.

Évolution de l'outil au fil du temps

Au fil des années, nslookup a connu plusieurs améliorations en matière de fonctionnalités et d'ergonomie. Son objectif principal reste l'interrogation du DNS, mais les mises à jour ont apporté des fonctionnalités telles que :

  • un mode interactif pour effectuer plusieurs requêtes au cours d'une même session ;
  • la prise en charge de l'interrogation de différents types d'enregistrements DNS ;
  • une meilleure gestion des erreurs et des messages plus explicites.

Malgré l'apparition d'outils concurrents comme dig, nslookup reste très utilisé grâce à sa simplicité et à sa disponibilité sur toutes les plateformes.

État actuel et prise en charge selon les systèmes d'exploitation

Aujourd'hui, nslookup est un outil omniprésent, disponible sur la plupart des systèmes d'exploitation, notamment :

  • Windows : préinstallé, intégré au système d'exploitation.
  • macOS : inclus dans les utilitaires réseau du système.
  • Linux/UNIX : disponible par défaut ou via les gestionnaires de paquets, dans le cadre des utilitaires DNS.

Sa présence constante sur toutes les plateformes en fait un outil de référence pour le diagnostic DNS dans des environnements informatiques variés.

Syntaxe de base

Comprendre la syntaxe de base de la commande nslookup est essentiel pour en exploiter pleinement les capacités. La structure générale est la suivante :

nslookup [options] [nom d'hôte] [serveur DNS]

Explication des composants de la commande

  • nslookup : la commande elle-même.
  • [options] : des indicateurs facultatifs qui modifient le comportement de la commande.
  • [nom d'hôte] : le nom de domaine ou l'adresse IP à interroger.
  • [serveur DNS] : (facultatif) indique le serveur DNS à utiliser pour la requête. En son absence, c'est le serveur DNS par défaut du système qui est utilisé.

Exemples de commandes nslookup simples

  1. Recherche simple d'un nom d'hôte :

    nslookup www.example.com
    

    Récupère l'adresse IP associée à www.example.com à l'aide du serveur DNS par défaut.

  2. Recherche inverse d'une IP :

    nslookup 93.184.216.34
    

    Trouve le nom d'hôte associé à l'adresse IP 93.184.216.34.

  3. Indiquer un serveur DNS :

    nslookup www.example.com 8.8.8.8
    

    Interroge le serveur DNS public de Google (8.8.8.8) pour obtenir l'adresse IP de www.example.com.

Exemples d'utilisation courants

La commande nslookup est polyvalente et offre diverses fonctionnalités pour récupérer différents types d'informations DNS. Voici quelques cas d'usage courants, avec des exemples de commandes et des explications.

Interroger les enregistrements DNS

Les enregistrements DNS stockent des informations sur un domaine, telles que son adresse IP, ses serveurs de messagerie et ses alias. nslookup peut récupérer divers types d'enregistrements DNS, dont :

  • Enregistrement A (adresse) : associe un domaine à une adresse IPv4.
  • Enregistrement AAAA (adresse IPv6) : associe un domaine à une adresse IPv6.
  • Enregistrement MX (mail exchange) : indique le serveur de messagerie chargé de recevoir les e-mails du domaine.
  • Enregistrement CNAME (nom canonique) : alias d'un domaine vers un autre.

Exemples de commandes :

  1. Récupérer l'enregistrement A :

    nslookup -type=A www.example.com
    

    Récupère l'adresse IPv4 de www.example.com.

  2. Récupérer l'enregistrement MX :

    nslookup -type=MX example.com
    

    Obtient les serveurs de messagerie de example.com.

  3. Récupérer l'enregistrement CNAME :

    nslookup -type=CNAME blog.example.com
    

    Trouve le nom canonique (alias) de blog.example.com.

Sortie attendue :

Pour la requête d'enregistrement MX :

example.com     MX preference = 10, mail exchanger = mail.example.com

Cela indique que mail.example.com est le serveur de messagerie de example.com, avec une valeur de préférence de 10.

Recherches DNS inverses

Une recherche DNS inverse consiste à retrouver un nom de domaine à partir d'une adresse IP. C'est utile pour vérifier le nom d'hôte associé à une IP donnée, ce qui peut faciliter le dépannage et les évaluations de sécurité.

Exemple de commande :

nslookup 93.184.216.34

Sortie attendue :

34.216.184.93.in-addr.arpa    name = www.example.com

Cette sortie montre que l'adresse IP 93.184.216.34 correspond au nom d'hôte www.example.com.

Indiquer un serveur DNS

Par défaut, nslookup utilise le serveur DNS configuré sur le système pour effectuer ses requêtes. Vous pouvez toutefois indiquer un autre serveur DNS, ce qui peut être utile pour effectuer des tests ou dépanner des problèmes liés à un serveur DNS.

Exemple de commande :

nslookup www.example.com 8.8.8.8

Explication :

Cette commande interroge le serveur DNS public de Google (8.8.8.8) pour obtenir l'adresse IP de www.example.com, au lieu d'utiliser le serveur DNS par défaut du système.

Exemple de sortie :

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    www.example.com
Address: 93.184.216.34

Fonctionnalités avancées

Au-delà des requêtes de base, nslookup propose des fonctionnalités avancées qui renforcent son utilité pour une analyse DNS complète et l'écriture de scripts.

Mode interactif

Le mode interactif permet de saisir plusieurs commandes au cours d'une même session nslookup, ce qui rend les investigations DNS plus efficaces.

Passer en mode interactif :

Il suffit de taper nslookup sans argument :

nslookup

Exemple d'interaction :

Default Server:  resolver1.example.com
Address:  192.0.2.53

> set type=MX
> example.com
Server:  resolver1.example.com
Address:  192.0.2.53

example.com     MX preference = 10, mail exchanger = mail.example.com
> exit

Commandes courantes en mode interactif :

  • set type=[type d'enregistrement] : indique le type d'enregistrement DNS à interroger (par exemple A, MX, CNAME).
  • server [serveur DNS] : change le serveur DNS utilisé pour les requêtes au sein de la session.
  • exit : quitte le mode interactif.

Définir les types de requête

nslookup permet de préciser le type d'enregistrements DNS à interroger, ce qui offre de la souplesse dans les informations récupérées.

Syntaxe :

nslookup -type=[type d'enregistrement] [nom d'hôte]

Exemples de commandes :

  1. Interroger l'enregistrement AAAA :

    nslookup -type=AAAA www.example.com
    

    Récupère l'adresse IPv6 de www.example.com.

  2. Interroger l'enregistrement TXT :

    nslookup -type=TXT example.com
    

    Récupère les enregistrements TXT associés à example.com, souvent utilisés pour SPF, DKIM et la vérification de domaine.

  3. Interroger l'enregistrement NS :

    nslookup -type=NS example.com
    

    Liste les serveurs de noms faisant autorité pour example.com, ce qui est utile pour confirmer la délégation et diagnostiquer les problèmes de propagation après une modification DNS.

    Exemple de sortie :

    example.com     nameserver = a.iana-servers.net
    example.com     nameserver = b.iana-servers.net
    

Utiliser nslookup dans des scripts

nslookup peut être intégré à des scripts pour automatiser les requêtes DNS, ce qui permet de traiter des lots et de surveiller les enregistrements DNS.

Exemple : script de recherche DNS par lots (Bash)

#!/bin/bash

# List of domains to query
domains=("example.com" "google.com" "nonexistentdomain.xyz")

# DNS server to use
dns_server="8.8.8.8"

# Loop through each domain and perform an A record lookup
for domain in "${domains[@]}"; do
    echo "Querying A record for $domain using DNS server $dns_server"
    nslookup -type=A "$domain" "$dns_server"
    echo "----------------------------------------"
done

Explication :

Ce script parcourt une liste de domaines et effectue une recherche d'enregistrement A pour chacun d'eux à l'aide du serveur DNS indiqué (8.8.8.8). La sortie fournit les adresses IP associées à chaque domaine, ce qui facilite l'analyse DNS en masse.

Alternatives à nslookup

Bien que nslookup soit un utilitaire DNS très répandu, il existe plusieurs outils alternatifs aux fonctionnalités et aux atouts différents. Connaître ces alternatives offre aux utilisateurs davantage d'options pour interroger et diagnostiquer le DNS.

dig

Présentation de la commande dig

dig (Domain Information Groper) est un outil d'interrogation DNS souple et puissant, couramment utilisé dans les environnements UNIX et Linux. Il fournit des informations détaillées sur les réponses DNS, ce qui en fait un favori des administrateurs réseau pour une analyse DNS approfondie.

Comparaison entre dig et nslookup

  • Niveau de détail de la sortie : dig propose une sortie plus détaillée et mieux structurée que nslookup, ce qui est précieux pour un dépannage avancé.
  • Souplesse : dig offre un contrôle plus fin des paramètres de requête et prend en charge des options supplémentaires pour personnaliser les requêtes DNS.
  • Écriture de scripts : dig est souvent privilégié pour les scripts grâce à son format de sortie cohérent et facile à analyser.

Exemple de commande dig :

dig www.example.com MX

Exemple de sortie :

; <<>> DiG 9.20.4-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;www.example.com.        IN      MX

;; ANSWER SECTION:
www.example.com.  3600    IN      MX      10 mail.example.com.
www.example.com.  3600    IN      MX      20 mail2.example.com.

host

Présentation de la commande host

La commande host est un utilitaire simple pour effectuer des recherches DNS. Elle est conçue pour fournir des résultats de requête DNS clairs et concis, ce qui la rend idéale pour des vérifications rapides et la récupération d'informations DNS de base.

Cas où host est préférable

  • Requêtes DNS rapides : lorsque vous devez effectuer une recherche rapide sans avoir besoin d'informations détaillées.
  • Simplicité : pour les utilisateurs qui préfèrent une sortie minimaliste, sans les détails supplémentaires d'outils comme dig.
  • Écriture de scripts : convient aux scripts où seules les informations essentielles sont nécessaires.

Exemple de commande host :

host -t TXT example.com

Exemple de sortie :

example.com descriptive text "v=spf1 include:_spf.example.com ~all"

Autres outils

Au-delà de dig et de host, plusieurs autres outils DNS peuvent compléter ou remplacer nslookup selon les besoins.

whois

whois est à la fois un protocole et un utilitaire en ligne de commande servant à interroger des bases de données qui recensent les titulaires ou les détenteurs d'une ressource Internet, comme les noms de domaine et les adresses IP. Il fournit des informations sur la propriété du domaine, les détails d'enregistrement et les coordonnées de contact.

Cas d'usage :

  • Informations d'enregistrement d'un domaine : pour savoir qui possède un domaine donné et connaître ses coordonnées.

Exemple de commande :

whois example.com

tcpdump

tcpdump est un puissant analyseur de paquets réseau qui capture et affiche le trafic réseau. Sans être exclusivement un outil DNS, il permet de surveiller les requêtes et les réponses DNS en temps réel, ce qui facilite le dépannage réseau et l'analyse de sécurité.

Cas d'usage :

  • Surveillance du trafic DNS : pour observer les schémas de requêtes DNS et détecter les anomalies ou les activités malveillantes.

Exemple de commande :

tcpdump -i eth0 port 53

Wireshark

Wireshark est un analyseur de protocoles réseau doté d'une interface graphique, qui offre un aperçu détaillé du trafic réseau, y compris des échanges DNS. Il propose une interface conviviale pour capturer, filtrer et analyser les paquets DNS.

Cas d'usage :

  • Analyse DNS détaillée : pour un examen approfondi des échanges DNS et du comportement du protocole.

Questions fréquentes (FAQ)

À quoi sert la commande nslookup ?

nslookup est un outil d'administration réseau qui interroge le système de noms de domaine (DNS) pour obtenir la correspondance entre un nom de domaine et une adresse IP, ainsi que d'autres enregistrements DNS. Il aide les utilisateurs et les administrateurs à résoudre les problèmes liés au DNS en montrant comment les noms de domaine sont résolus.

Sur quels systèmes d'exploitation nslookup est-il disponible ?

nslookup est disponible sur la plupart des grands systèmes d'exploitation, notamment :

  • Windows : préinstallé, intégré au système d'exploitation.
  • macOS : inclus dans les utilitaires réseau du système.
  • Linux/UNIX : disponible par défaut ou via les gestionnaires de paquets, dans le cadre des utilitaires DNS.

Sa large disponibilité en fait un outil polyvalent, adapté à des environnements variés.

Comment effectuer une recherche DNS inverse avec nslookup ?

Une recherche DNS inverse permet de retrouver le nom d'hôte associé à une adresse IP donnée. Pour l'effectuer avec nslookup, il suffit d'indiquer l'adresse IP comme requête. Par exemple :

nslookup 93.184.216.34

Exemple de sortie :

34.216.184.93.in-addr.arpa    name = www.example.com

Cette sortie indique que l'adresse IP 93.184.216.34 correspond au nom d'hôte www.example.com.

Comment indiquer un serveur DNS différent avec nslookup ?

Par défaut, nslookup utilise le serveur DNS configuré sur le système. Pour indiquer un autre serveur DNS pour votre requête, ajoutez l'adresse IP ou le nom d'hôte du serveur DNS à la fin de la commande. Par exemple :

nslookup www.example.com 8.8.8.8

Cette commande interroge le serveur DNS public de Google (8.8.8.8) pour obtenir l'adresse IP de www.example.com.

Quels types d'enregistrements DNS puis-je interroger avec nslookup ?

nslookup prend en charge l'interrogation de divers types d'enregistrements DNS, dont :

  • Enregistrement A (adresse) : associe un domaine à une adresse IPv4.
  • Enregistrement AAAA (adresse IPv6) : associe un domaine à une adresse IPv6.
  • Enregistrement MX (mail exchange) : indique le serveur de messagerie chargé de recevoir les e-mails du domaine.
  • Enregistrement CNAME (nom canonique) : alias d'un domaine vers un autre.
  • Enregistrement TXT (texte) : contient des données textuelles libres, souvent utilisées à des fins de vérification et de sécurité.
  • Enregistrement NS (serveur de noms) : indique les serveurs DNS faisant autorité pour le domaine.

Pour interroger un type d'enregistrement précis, utilisez l'option -type suivie du type d'enregistrement. Par exemple :

nslookup -type=MX example.com

Comment changer le type de requête dans nslookup ?

Changer le type de requête permet de récupérer des enregistrements DNS précis. Utilisez l'option -type (ou -query) suivie du type d'enregistrement souhaité. Par exemple, pour interroger les enregistrements MX de example.com :

nslookup -type=MX example.com

Exemple de sortie :

example.com     MX preference = 10, mail exchanger = mail.example.com
example.com     MX preference = 20, mail exchanger = mail2.example.com

Cette sortie montre les serveurs de messagerie associés à example.com, ainsi que leurs valeurs de préférence.

Puis-je utiliser nslookup dans des scripts pour des requêtes DNS automatisées ?

Oui, nslookup peut être intégré à des scripts pour automatiser les requêtes DNS. C'est utile pour le traitement par lots, la surveillance des enregistrements DNS ou des vérifications régulières. Voici un exemple de script Bash simple qui utilise nslookup pour récupérer les enregistrements A d'une liste de domaines :

#!/bin/bash

# List of domains to query
domains=("example.com" "google.com" "nonexistentdomain.xyz")

# DNS server to use
dns_server="8.8.8.8"

# Loop through each domain and perform an A record lookup
for domain in "${domains[@]}"; do
    echo "Querying A record for $domain using DNS server $dns_server"
    nslookup -type=A "$domain" "$dns_server"
    echo "----------------------------------------"
done

Explication :

Ce script parcourt une liste de domaines et effectue une recherche d'enregistrement A pour chacun d'eux à l'aide du serveur DNS indiqué (8.8.8.8). La sortie fournit les adresses IP associées à chaque domaine, ce qui facilite l'analyse DNS en masse.

Quelle est la différence entre nslookup et dig ?

nslookup et dig sont tous deux des outils d'interrogation DNS, mais ils présentent quelques différences :

  • Niveau de détail de la sortie : dig fournit une sortie plus détaillée et mieux structurée, utile pour une analyse DNS approfondie. nslookup propose une sortie plus concise, adaptée aux requêtes de base.
  • Souplesse : dig offre un contrôle plus fin des paramètres de requête et prend en charge des options supplémentaires pour personnaliser les requêtes DNS.
  • Écriture de scripts : dig est souvent privilégié pour les scripts grâce à son format de sortie cohérent et facile à analyser.
  • Disponibilité : nslookup est plus souvent disponible par défaut sur les différents systèmes d'exploitation, alors que dig peut nécessiter une installation distincte sur certaines plateformes.

Exemple de commande dig :

dig www.example.com MX

Exemple de sortie dig :

; <<>> DiG 9.20.4-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;www.example.com.        IN      MX

;; ANSWER SECTION:
www.example.com.  3600    IN      MX      10 mail.example.com.
www.example.com.  3600    IN      MX      20 mail2.example.com.

Comment passer en mode interactif dans nslookup ?

Le mode interactif permet d'effectuer plusieurs requêtes DNS au cours d'une même session nslookup. Pour y passer, il suffit de taper nslookup sans argument et d'appuyer sur Entrée :

nslookup

Exemple d'interaction :

Default Server:  resolver1.example.com
Address:  192.0.2.53

> set type=MX
> example.com
Server:  resolver1.example.com
Address:  192.0.2.53

example.com     MX preference = 10, mail exchanger = mail.example.com
> exit

Commandes courantes en mode interactif :

  • set type=[type d'enregistrement] : indique le type d'enregistrement DNS à interroger (par exemple A, MX, CNAME).
  • server [serveur DNS] : change le serveur DNS utilisé pour les requêtes au sein de la session.
  • exit : quitte le mode interactif.

Que faire si nslookup renvoie une erreur ou aucune réponse ?

Si nslookup renvoie une erreur ou ne reçoit aucune réponse, envisagez les étapes de dépannage suivantes :

  • Vérifiez la connexion Internet : assurez-vous que votre appareil est connecté à Internet.
  • Vérifiez la disponibilité du serveur DNS : le serveur DNS interrogé est peut-être hors service ou injoignable. Essayez d'indiquer un autre serveur DNS.
  • Vérifiez l'exactitude du nom de domaine : assurez-vous que le nom de domaine saisi est correct et qu'il existe.
  • Examinez les paramètres du pare-feu : un pare-feu ou un logiciel de sécurité peut bloquer les requêtes DNS.
  • Analysez les messages d'erreur : prêtez attention aux messages d'erreur précis renvoyés par nslookup (par exemple « Server failed » ou « NXDOMAIN ») pour cerner le problème.
  • Essayez d'autres outils : testez d'autres outils DNS comme dig ou host pour voir s'ils donnent des résultats différents.

Exemple d'erreur et résolution :

nslookup nonexistentdomain.xyz

Sortie possible :

** server can't find nonexistentdomain.xyz: NXDOMAIN

Résolution :

L'erreur NXDOMAIN indique que le domaine n'existe pas. Vérifiez qu'il n'y a pas de faute de frappe dans le nom de domaine, ou vérifiez si le domaine a été enregistré récemment.