Obtenir des informations DNS sous Windows et Linux

closeCet article a été publié il y a 9 ans 11 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Avec l’actualité chargée de la censure d’État activée en France (et vite étendue, comme c’est étonnant), on voit fleurir les articles qui n’utilisent que dig pour démontrer que nos FAI ont obéi et font des saloperies sur l’Internet (exemple chez l’incontournable Stéphane Bortzmeyer). J’ai beau l’utiliser moi-même régulièrement, il n’est disponible que sous Linux. Alors j’ai une petite pensée (et surtout un serveur tout frais qui ne demande qu’à faire grossir mes connaissances) pour les utilisateurs de Microsoft qui semblent alors bien démunis pour vérifier l’état de leur connexion, même si j’ai déjà indiqué comment ils peuvent s’en prémunir; car Microsoft a quand même pensé à eux (et un peu aux admins, faut pas pousser hein).

Le DNS a de multiples usages, le principal étant de traduire un nom de domaine en une adresse IP d’une machine hébergeant un ou plusieurs services, par exemple un serveur Web. La méthode utilisée pour la censure voulue par un gouvernement qui pourtant n’avait pas hésité à la combattre sous le règne Sarkozy, consiste à donner une mauvaise réponse, c’est à dire à donner une autre adresse IP que celle qu’on s’attend à recevoir.  Avant de s’atteler à utiliser des résolveurs propres, on peut vérifier si ceux qu’on a actuellement à disposition sont menteurs ou pas.

Sous Linux : dig

Bien, mais les articles qui font la « preuve » des pratiques cradingues utilisent tous dig, qui est, il faut l’avouer, diablement pratique et puissant; toute la philosophie UNIX dans trois lettres. Bien, mais sous Debian, sur une installation « fraîche », minimale, on est vite surpris :

Ah ? bon, premier réflexe de ma part, peut-être un peu naïf :

Petite recherche rapide, en fait dig fait partie du paquet dnsutils, qu’il faut donc installer (c’est le même nom pour Debian & Manjaro). Dès lors, on peut tester soi-même les commandes qui permettent de lever le lièvre.

Les Windowsiens ne sont pas ecxlus

Chez Microsoft, il faut se rabattre sur l’utilitaire nslookup.exe. Mais on ne peut dès lors pas utiliser la même syntaxe. Reprenons vite fait le résultat sous Linux d’un exemple :

Si on essaie simplement de remplacer dig par nslookup, on se fait évidemment virer. Il faut donc adapter un peu. Au final ça sera forcément un peu plus « verbeux » (ceci dit, virez le « +short » de dig et vous verrez le résultat), mais l’information sera là. Donc, pour interroger le résolveur en cours, la commande est la suivante :

dns-nslookup-current

NB : La réponse ne fait pas autorité parce que l’on interroge pas directement le serveur qui gère le nom de domaine.

On peut aussi interroger un résolveur tiers, ce qui permet, au delà de vérifier qu’il ne ment pas, qu’il répond, tout simplement :

dns-nslookup-distant

Et si on veut afficher d’autres champs que le A (par exemple le champ MX, SPF ou les champs TXT), la commande sera la suivante :

Pour de plus amples détails, c’est sur la page ad-hoc de la base de connaissances de Microsoft qu’il faut se rendre.

Des usages multiples

dig et nslookup permettent donc d’extraire les infos d’un nom de domaine. Au delà de la censure, ça permet aussi de vérifier, pour les malchanceux qui y sont contraints pour cause d’absence d’IPv4 fixe et d’IPv6, de vérifier la bonne mise à jour d’un DynDNS. Un outil à toujours avoir dans sa trousse 😉