(modifié le 27 mars 2014 à 2:01)

L'utilitaire dig sous Linux permet de faire de nombreuses requêtes DNS, sous Windows c'est une autre paire de manches.

dig-win

Deux solutions s'offrent à vous pour réaliser une requête DNS de type SOA (ou tout autre requête d'ailleurs).

Nslookup

Cette méthode est intégrée à Windows, vous n'avez rien à installer. Cependant je trouve la syntaxe peu pratique, en plus de différer de celle du monde Linux.

nslookup-soa

Voici comment faire :

  1. Ouvrir une invite de commande (win+r > cmd > ok)
  2. Entrer nslookup puis touche ENTREE
  3. Entrer : set type=soa puis touche ENTREE
  4. Entrer la résolution souhaitée suivi du serveur DNS qui va résoudre (facultatif), par exemple :
     blogmotion.fr 8.8.8.8
  5. Et voilà !

Pour plus d'aide, entrer "help" :

> help
Commandes :   (les identificateurs sont en majuscules, [] signifie en option)
NOM             - affiche des infos concernant le NOM d'hôte/de domaine en
                  utilisant le serveur par défaut
NOM1 NOM2       - comme ci-dessus, en utilisant NOM2 en tant que serveur
help ou ?       - affiche des informations sur les commandes communes
set OPTION      - paramètre une option
    all               - affiche les options, le serveur actuel et l'hôte
    [no]debug         - affiche des informations de débogage
    [no]d2            - affiche toutes les informations de débogage
    [no]defname       - ajoute le nom de domaine à chaque requête
    [no]recurse       - donne une réponse récursive aux requêtes
    [no]search        - utilise la liste de recherche du domaine
    [no]vc            - toujours utiliser un circuit virtuel
    domain=NOM        - donne le nom NOM au serveur de domaine par défaut
    srchlist=N1[/N2/.../N6] - donne au domaine le nom N1 et liste de recherche
                              N1,N2, etc.
    root=NOM          - donne au serveur racine le nom NOM
    retry=X           - effectue X tentatives
    timeout=X         - définit la durée d'attente initiale à X secondes
    type=X            - définit le type de requête (ex. A,AAAA,A+AAAA, ANY,
                                CNAME, MX, NS, PTR, SRV)
    querytype=X       - identique à type
              - définit la classe de requête (ex. IN (Internet), ANY)
    [no]msxfr         - utilise le transfert de zone rapide MS
    ixfrver=X         - version à utiliser dans les requêtes de transfert IXFR
server NOM      - fixe le serveur par défaut en cours à NOM
lserver NOM     - fixe le serveur par défaut à NOM, avec le serveur initial
root            - fait de la racine le serveur par défaut en cours
ls [opt] DOMAINE [> FIC] - liste les adresses de DOMAINE (option : vers le
                           fichier FIC)
    -a          -  liste de noms canoniques et d'alias
    -d          -  liste de tous les enregistrements
    -t TYPE     -  liste des enregs. du type d'enregistrement RFC donné
                         (ex. A,CNAME,MX,NS,PTR etc.)
view FICHIER    - trie un fichier « ls » en sortie et l'affiche avec pg
exit            - quitte le programme

dig.exe

Il est possible de faire fonctionner le binaire recompilé pour Windows : dig.exe. Il est téléchargeable depuis le site de l'ISC, choisir la version "Current-Stable, ESV, Windows".

dig-win

Voici comment faire :

  1. Extraire l'archive ZIP
  2. Lancer BINDInstall.exe
  3. Important : modifier le chemin d'installation, je vous conseille c:\dig (ne le laissez pas s'installer dans c:\windows...)
  4. Cocher uniquement "tools only" uniquement
  5. Cliquer sur Install :
    dig-install
  6. Valider l'avertissement de création du répertoire de destination
  7. Le message "BIND installation completed successfully" doit apparaître.

A partir d'une invite de commande vous pouvez utiliser la commande c:\dig\bin\dig.exe, ou jouter le chemin à la variable $PATH du système si vous voulez que la commande soit reconnue. Attention : il y aussi le binaire "nslookup.exe" qui prendra le pas sur celui de votre système d'exploitation, vous pouvez le supprimer si vous ne le voulez pas.

Si vous préférez ne pas utiliser le système d'installation, voici la liste des fichiers à copier (là ou vous voulez) : dig.exe, libbind9.dll, liblwres.dll, libisccfg.dll, libdns.dll, libisc.dll, libxml2.dll. En cas de besoin ne déplacez pas les fichier à la main, passez par le panneau de configuration qui vous relancera le BIND9 Installer > Uninstall.

A noter que l'utilitaire "host" est aussi présent dans le package. La raison est que nslookup a été déprécié pendant un temps par l'ISC, puis il est de nouveau valide. (cf note 1700).

Version web sans prise de tête

Si ce que vous cherchez à résoudre est situé sur le web alors utilisez le service dig du site Kloth.net ou ping.eu (minimaliste nslookup) :

dig-kloth

Vous pouvez aussi utiliser cygwin sous Windows avec le package bind-utils, mais là question usine à gaz pour une simple requête DNS on ne fait pas mieux 🙂

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter