ÃÛÌÒTV

DNSÌýTrustÌýManager 04-18-2023

CommandesÌýDNS pour Windows

ÃÛÌÒTV
DNS Commands for Windows

Peu importe la simplicité ou la complexité de votre configuration, vous devez parfois vérifier le comportement de votre DNS. Cela tombe bien, les ordinateurs intègrent un utilitaire à cet effet. Cet article aborde deux d’entre euxÌý– WindowsÌýPowerShell et l’invite de commandes WindowsÌý– et présente leurs fonctionnalités respectives mais aussi leurs différences. Prêt à commencerÌý? Je suppose que ouiÌý: après tout, vous êtes là pour ça. Quelque chose me dit même que certains n’hésiteront pas à sauter cette intro pour entrer directement dans le vif du sujet.

RemarqueÌý: Tous les exemples sont basés sur un système WindowsÌý10.

Invite de commandes Windows et WindowsÌýPowerShell

Microsoft a introduit l’invite de commandesÌý(CMD) sur les systèmes d’exploitation Windows enÌý1981. Il s’agit d’un programme sous-jacent, qui agit en arrière-plan pour vous donner davantage de contrôle sur votre système. Il s’ouvre dans une simple fenêtre noire qui affiche une invite. Selon votre machine, elle ressemble à ceciÌý: C:\> ou C:\Users\exemple. Avec cet outil, vous pouvez exécuter des lignes de commandes une par une.

PowerShell a quant à lui fait sur Windows en 2006. Ce shell s’ouvre dans une fenêtre bleue et utilise des applets de commande (cmdlets), plutôt que des commandesÌýCMD ou MS-DOS. Il propose un système de scripts et des fonctionnalités d’administration intégrées, et peut exécuter des commandes par lot (ou batch). Vous pouvez donc lancer une série de cmdlets. Contrairement à l’invite de commandes, PowerShell ne se limite pas aux programmes de console. La version actuelle , qui prend en charge . PowerShell peut aussi accéder à de multiples bibliothèques sur différents systèmes.

Accéder à l’invite de commandes Windows

Il existe plusieurs façons d’accéder à l’invite de commandes Windows. Vous pouvez cliquer sur l’icône de recherche dans votre barre des tâches et taper «Ìýinvite de commandesÌý» ou «ÌýcmdÌý». L’application devrait s’afficher en haut de la fenêtre de recherche sous «ÌýMeilleur résultatÌý».

Si, comme moi, vous appréciez les raccourcis clavier, vous pouvez aussi appuyer sur les touchesÌýWindows+R pour ouvrir la fenêtre Exécuter. Tapez «ÌýcmdÌý», puis cliquez sur OK. Vous y êtesÌý!

Accéder à WindowsÌýPowerShell

L’accès à PowerShell se fait de manière similaire, à la différence près qu’il vous faut saisir «ÌýPowerShellÌý» (et non «ÌýcmdÌý») dans la barre de recherche ou dans la fenêtre Exécuter. Si vous utilisez la barre de recherche, vous verrez apparaître deux résultatsÌý: WindowsÌýPowerShell et WindowsÌýPowerShellÌýISE. Dans cet article, nous utiliserons l’application WindowsÌýPowerShell de base.

Vous pouvez aussi appuyer sur les touches Windows+X pour ouvrir un menu déroulant, à partir duquel vous pourrez accéder à PowerShell en tant qu’administrateur. Ce menu inclut également Exécuter et d’autres utilitaires Windows.

Le saviez-vousÌý? PowerShellÌýISE est une application hôte pour PowerShell. ISE signifie IntegratedÌýScriptingÌýEnvironment (environnement d’écriture de scripts intégré). Cette application propose une interface, là où PowerShell standard s’apparente plus à l’invite de commandes.

CommandesÌýDNS dans l’invite de commandes Windows

Entrons à présent dans le vif du sujet. Voici quelques commandesÌýCMD qui peuvent vous aider à dépanner ou à inspecter votre DNS sous Windows. Comme je suis d’un naturel optimiste, je vais partir du principe que vous avez lu les paragraphes précédents, au lieu de venir directement sur cette partie.

nslookup

La commande nslookup permet de diagnostiquer les problèmes de résolution de nomsÌýDNS. On peut la comparer à la fonction dig sur Mac ou Linux. Elle peut vous indiquer l’adresseÌýIP d’un hôte ou effectuer une rechercheÌýDNS inversée (pour trouver le nom de domaine d’une adresseÌýIP). nslookup peut aussi fournir des informations sur les enregistrementsÌýDNS de votre domaine.

Voici un exempleÌý: C:\Users\nomÌýutilisateur>nslookup dnsmadeeasy.com

Ici, j’effectue une simple requête d’adresseÌýIP pour DNSÌýMadeÌýEasy. En retour, je reçois les adressesÌýIPv6 et IPv4 de ce domaine. Il est indiqué «Ìýnon-authoritative answerÌý» (récupération ne faisant pas autorité), car j’utilise un serveur récursif pour ma requête.

RechercheÌýDNS inversée

Pour connaître le nom de domaine associé à une adresseÌýIP, vous pouvez effectuer une rechercheÌýDNS inversée. On procède comme dans l’exemple précédent, mais en sens inverseÌý:

C:\Users\nomÌýutilisateur>nslookup 162.243.68.201

Commande set

Vous souhaitez trouver le serveur de noms d’un domaine ou définir un paramètre spécifique dans votre ligne de commandeÌý? Vous devez alors utiliser la commande set de Windows. Voici un exempleÌý:

C:\Users\nomÌýutilisateur>nslookup

>set q=ns

>dnsmadeeasy.com

(appuyez sur Entrée après chaque commande)

La sortie devrait ressembler à ceciÌý:

Recherche d’enregistrementÌýDNS

Les commandes nslookup et set vous permettent aussi de vérifier ou de dépanner les enregistrementsÌýDNS de votre domaine. Dans ce cas, il vous faut suivre l’exemple précédent, mais en spécifiant l’enregistrement que vous souhaitez interroger. Grâce à ces informations, vous pouvez rapidement corriger les erreurs et résoudre les problèmes détectés. Dans l’exemple ci-dessous, j’effectue une recherche d’enregistrementsÌýMX, PTR et SOA. Bien sûr, vous pouvez aussi rechercher d’autres types d’enregistrements.

C:\Users\nomÌýutilisateur>nslookup

>set q=mx

>dnsmadeeasy.com

(appuyez sur Entrée après chaque commande)

ConseilÌý: Si votre recherche porte sur plusieurs types d’enregistrements, vous n’avez pas besoin de taper «ÌýnslookupÌý» à chaque fois. Après avoir saisi la première commande nslookup, il vous suffit d’exécuter une commandeÌýset pour chaque enregistrement, même si vous devez vérifier les enregistrements d’un autre domaine.

Résultats de la recherche d’enregistrementÌýDNSÌý– Définitions

  • Responsible mail addrÌý– Adresse e-mail de l’administrateur de domaine
  • SerialÌý– Numéro de série du fichier de zone
  • RefreshÌý– Délai nécessaire pour qu’un serveurÌýDNS secondaire demande de nouvelles informations lorsque le numéro de série d’un serveur principal a été modifié
  • RetryÌý– Si un serveur principal ne répond pas à une requête, une nouvelle tentative sera effectuée dans le délai indiqué
  • ExpireÌý– Délai d’expiration du cacheÌýDNS secondaire
  • Default TTLÌý– Durée de mise en cache d’un enregistrement avant son actualisation

ConseilÌý: Il peut être utile de vider votre cacheÌýDNS avant d’exécuter ces commandes. Pour cela, tapezÌý: ipconfig/flushdns, puis appuyez sur Entrée. Votre cache devrait à présent être vide.

DébogageÌýDNS

Pour obtenir plus de détails sur le DNS de votre domaine, vous pouvez utiliser la commande debug. Elle vous permet de récupérer les informations d’en-tête des requêtes du serveurÌýDNS (voir la capture d’écran ci-dessous).

C:\Users\nomÌýutilisateur>nslookup

>set debug

>example.com

Commande ping

Vous pouvez diagnostiquer le réseau en exécutant une commande ping dans l’invite de commandes Windows. Cette commande mesure la latence de connexion à une destination spécifique. À titre d’exemple, j’utilise ici «Ìý8.8.8.8Ìý», l’adresseÌýDNS publique de Google.

C:\Users\nomÌýutilisateur>Ping 8.8.8.8

Le résultat vous indique le temps d’aller-retour nécessaire pour obtenir une réponse du serveur interrogé.

Commande traceroute

Autre outil pratique pour diagnostiquer le réseau, la commande traceroute vous permet de suivre le chemin d’un paquet, de son point de départ jusqu’à sa destination. Cela est particulièrement utile pour résoudre les problèmes de connectivité. Dans l’exemple ci-dessous, j’exécute une commande traceroute pour le nom de domaine www.example.com et son adresseÌýIP.

C:\Users\nomÌýutilisateur>tracert 127.0.0.1

C:\Users\nomÌýutilisateur>tracert www.example.com

Cette commande vérifie l’itinéraire qu’empruntent les paquets pour arriver à leur destination. Les sauts indiqués («ÌýhopsÌý») correspondent aux différents arrêts en chemin. Outre le nombre de sauts, la sortie précise également le délai de résolution de la requête. Ces informations vous aident notamment à améliorer la vitesse de votre DNS et à identifier les routeurs problématiques.

ConseilÌý: L’invite de commandes conserve un historique des dernières commandes que vous avez saisies. Pour afficher les commandes utilisées plus tôt dans une même session, il vous suffit d’appuyer sur la flèche haut du clavier pour les faire défiler (voir le GIF ci-dessus).

CommandesÌýDNS dans WindowsÌýPowerShell

Si vous préférez l’utilitaire WindowsÌýPowerShell, cette section est pour vous. Voici les correspondances entre les commandesÌýCMD et celles de PowerShell.

Équivalent de la commande nslookup dans PowerShell

nslookupÌý= Resolve-DnsName dans PowerShell

PS C:\Users\nomÌýutilisateur>Resolve-DnsName dnsmadeeasy.com (ou C:\Users\nomÌýutilisateur>Resolve-DnsName 162.243.68.201)

ConseilÌý: Pour gagner du temps dans PowerShell, saisissez les premières lettres d’une cmdlet, puis appuyez sur la toucheÌýTAB pour utiliser la saisie semi-automatique. Par exemple, si vous tapez «ÌýresoÌý» et que vous appuyez sur TAB, PowerShell vous proposera Resolve-DnsName. Cela fonctionne aussi avec d’autres cmdlets comme Test-Connection. Commencez par saisir «Ìýtest-conÌý», puis appuyez sur la toucheÌýTAB pour afficher Test-Connection, et ainsi de suite.

Recherche d’enregistrementÌýDNS dans PowerShell

La cmdlet Resolve-DnsName permet d’effectuer une rechercheÌýDNS dans PowerShell. Pour spécifier un enregistrement, vous devez ajouter «Ìý-typeÌý».

PS C:\Users\nomÌýutilisateur>Resolve-DnsName dnsmadeeasy.com -Type MX (ou tout autre type d’enregistrement).

Comme vous pouvez le remarquer, la cmdlet fonctionne en tapant «Ìý-TypeÌý» ou «Ìý-typeÌý»Ìý: elle n’est pas sensible à la casse.

Équivalent de la commande ping dans PowerShell

PingÌý= Test-Connection dans PowerShell

PS C:\Users\nomÌýutilisateur>Test-Connection dnsmadeeasy.com

Les résultats s’affichent différemment, mais vous pouvez toujours voir la source (nom de l’ordinateur) et les sauts, ainsi que le délai de réponse.

Commande traceroute dans PowerShell

IdentiqueÌý: tracertÌý= tracert dans PowerShell

PS C:\Users\nomÌýutilisateur>tracert example.com

DNSÌýLookupÌýTool

Il existe aussi des ressources en ligne utiles pour dépanner le DNS. Ces outils sont d’autant plus pratiques qu’ils sont disponibles partout et sur n’importe quel appareil. Par exemple, le de Constellix (notre société sÅ“ur) peut récupérer les enregistrementsÌýDNS et effectuer des vérifications basées sur l’emplacement géographique. Il peut aussi interroger n’importe quel serveur de noms que vous indiquez. Les enregistrements pris en charge sontÌý: A, AAAA, CNAME, MX, TXT, NS, SOA et SRV.

L’outil de Constellix offre bien d’autres avantages. Vous pouvez inspecter différents domaines et/ou serveurs de noms dans une même session. Les résultats peuvent être filtrés par domaine, type d’enregistrement ou emplacement, et vous pouvez développer ou réduire chaque vérification. Vous pouvez aussi copier l’URL des résultats et les envoyer par e-mail à votre équipe pour gagner du temps.

À vous de jouer

Grâce aux options présentées dans cet article, vous pouvez vérifier et dépanner votre DNS. Ce qu’il faut retenirÌý: l’invite de commandes, PowerShell et les outilsÌýDNS en ligne vous indiquent tous le serveur de noms, les instructions d’enregistrement et d’autres informationsÌýDNS, mais ils fonctionnent différemment. CMD vous permet de saisir une ligne de commande à la fois, tandis que PowerShell utilise des cmdlets et peut exécuter des commandes par lot. Les outils tels que le DNSÌýLookupÌýTool de Constellix effectuent des vérifications à partir des informations que vous saisissez.

Bien sûr, l’invite de commandes et PowerShell offrent bien d’autres fonctionnalités. Vous trouverez ci-dessous une sélection de liens qui peuvent vous aider à vous familiariser avec chacun de ces utilitaires.

Ressources complémentairesÌý:

UP NEXT
Infrastructure PKI

3 Surprising Uses of PKI in Big Companies and How to Ensure They Are all Secure

5 Min