Description de l’utilitaire DNSLint

Cet article décrit l’utilitaire DNSLint et sa syntaxe.

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 321045

Résumé

DNSLint est un utilitaire Microsoft Windows qui vous aide à diagnostiquer les problèmes courants de résolution de noms DNS (Domain Name System).

Pour plus d’informations sur le téléchargement de fichiers Support Microsoft, consultez l’article suivant :

119591 Comment obtenir des fichiers Support Microsoft à partir des services en ligne

Microsoft a analysé ce fichier à la recherche de virus. Microsoft a utilisé le logiciel de détection de virus le plus actuel disponible à la date de publication du fichier. Le fichier est stocké sur des serveurs à sécurité renforcée qui permettent d’empêcher toute modification non autorisée du fichier.

Fonctions DNSLint

DNSLint a trois fonctions qui vérifient les enregistrements DNS et génèrent un rapport HTML. Les trois fonctions sont les suivantes :

  • dnslint /d: diagnostique les causes potentielles de la « délégation boiteux » et d’autres problèmes DNS connexes.
  • dnslint /ql: vérifie un jeu d’enregistrements DNS défini par l’utilisateur sur plusieurs serveurs DNS.
  • dnslint /ad: vérifie les enregistrements DNS utilisés spécifiquement pour la réplication Active Directory.

DNSLint est un utilitaire de ligne de commande. La syntaxe est la suivante :

dnslint /d domain_name | /ad [LDAP_IP_address] | /ql input_file [/c [smtp,pop,imap]] [/no_open] [/r report_name] [/t] [/test_tcp] [/s DNS_IP_address] [/v] [/y]  

/dSpécifiez , /adou /ql lorsque vous exécutez DNSLint. Les autres commutateurs sont facultatifs.

Vous utilisez le /d commutateur pour demander des tests de nom de domaine. Ce commutateur est utile lorsque vous résolvez des problèmes de délégation boiteux.

  • Spécifiez un nom de domaine à tester.
  • Vous ne pouvez pas utiliser le /d commutateur avec le /ad commutateur.

Vous utilisez le /ad commutateur pour demander des tests Active Directory.

  • Le /ad commutateur résout les enregistrements DNS utilisés pour la réplication de forêt AD.

  • Par défaut, le service LDAP du système local est utilisé.

  • Vous pouvez spécifier une adresse IP de serveur LDAP distant (facultatif).

  • Seules les adresses IP valides sont acceptées. Les noms ne sont pas acceptés.
    En règle générale, il s’agit d’un contrôleur de domaine Active Directory.

  • Utilisez le /ad commutateur avec l’option /s , où /s spécifie l’adresse IP d’un serveur DNS faisant autorité pour la zone _msdcs à la racine de la forêt AD.

  • Vous ne pouvez pas utiliser le /ad commutateur avec /d ou /c.

Vous utilisez le /ql commutateur pour demander des tests de requête DNS à partir d’une liste.

  • Le /ql commutateur envoie les requêtes DNS spécifiées dans un fichier d’entrée texte

  • Spécifiez le chemin d’accès et le nom du fichier d’entrée.

  • le commutateur prend en charge les /ql requêtes d’enregistrement A, PTR, CNAME, SRV et MX.

  • Vous créez un exemple de fichier d’entrée en exécutant la commande suivante :

    dnslint /ql autocreate  
    
  • Vous ne pouvez pas utiliser le /ql commutateur avec /d, /adou /c.

Remarque

  • Vous ne pouvez pas utiliser /d, /adet /ql ensemble.
  • Vous ne pouvez pas utiliser /c avec /ad ou /ql.
  • Lorsque vous utilisez /ad, vous devez également spécifier /s.

Commutateurs facultatifs

Utilisez /c pour demander des tests de connectivité sur des serveurs de messagerie.

  • Le /c commutateur teste les ports SMTP (Simple Mail Transfer Protocol), POP et IMAP trouvés sur les serveurs de messagerie.
  • Par défaut, les trois ports (SMTP, POP et IMAP) sont testés. Vous pouvez spécifier un ou une combinaison. Pour ce faire, utilisez une liste séparée par des virgules : /c pop,imap,smtp.

Pour empêcher l’ouverture automatique du rapport, utilisez /no_open. Le /no_open commutateur est utile dans les scripts.

Utilisez le /r commutateur pour spécifier le nom du fichier de rapport créé.

  • L’extension de nom de fichier .htm est automatiquement ajoutée aux noms de rapport.
  • Le rapport est créé au format HTML. Le nom par défaut est Dnslint.htm
  • L’emplacement par défaut est le répertoire actif.

Utilisez le /s commutateur pour contourner une recherche InterNIC whois .

  • Vous pouvez spécifier l’adresse IP du serveur DNS au lieu d’interroger InterNIC.
  • Le /s commutateur commence à vérifier les enregistrements DNS à l’aide de l’adresse IP fournie.
  • Seules les adresses IP valides sont acceptées. Les noms ne sont pas acceptés.
  • Utilisez cette option pour case activée noms de domaine qui ne sont pas pris en charge par InterNIC.
  • Lorsque vous utilisez /ad, vous devez utiliser /s pour spécifier un serveur DNS faisant autorité pour le sous-domaine _msdcs dans le domaine racine de la forêt AD.
  • Lorsque vous utilisez /ad, vous pouvez exécuter /s localhost pour déterminer si le système local peut résoudre les enregistrements trouvés dans les tests AD.

Utilisez /t pour demander une sortie dans un fichier texte.

  • Le fichier texte partage le même nom que le rapport .htm, mais il a une extension de nom de fichier .txt.
  • Fichier texte créé dans le même répertoire que le fichier de rapport .htm.

Utilisez /test_tcp pour demander de tester le port TCP 53.

  • Par défaut, seul le port UDP 53 est testé.
  • L’option /test_tcp vérifie si le port TCP 53 répond aux requêtes.
  • L’option /test_tcp ne peut pas être utilisée avec /ql.

Utilisez /v pour demander une sortie détaillée à l’écran.

Utilisez /y pour remplacer un fichier de rapport existant sans y être invité. Le /y commutateur est utile dans les scripts.

Paramètres requis

Pour exécuter DNSLint, vous devez utiliser l’un des trois paramètres suivants :

  1. Utiliser /d pour les tests de nom de domaine
  2. Utilisez pour les /ad tests de réplication Active Directory.
  3. Utilisez /ql pour les tests spécifiés dans une liste de requêtes.

Utilisez le /d commutateur (test de nom de domaine) pour tester un nom de domaine DNS particulier. Utilisez ce commutateur pour diagnostiquer les problèmes de « délégation boiteux » et d’autres problèmes DNS associés. Le nom de domaine que vous testez peut être :

  • Nom inscrit pour une utilisation sur Internet.
  • Nom utilisé dans un espace de noms privé.

Lorsque vous testez des noms de domaine sur un réseau privé ou des noms de domaine enregistrés sur Internet qui ont plus de deux niveaux de profondeur, vous devez utiliser l’option /s .

Utilisez le /ad commutateur (test Active Directory) pour tester les enregistrements DNS responsables de la réplication de forêt Active Directory. Après le /ad commutateur, spécifiez l’adresse IP d’un serveur LDAP utilisé pour ce test. En règle générale, il s’agit d’un contrôleur de domaine Active Directory. Si DNSLint s’exécute sur un contrôleur de domaine, aucune adresse IP n’est nécessaire, car la valeur par défaut de ce commutateur est 127.0.0.1.

Utilisez le /ql commutateur (test de liste de requêtes) pour tester les enregistrements DNS spécifiés dans un fichier d’entrée texte. Spécifiez le chemin d’accès complet et le nom du fichier d’entrée texte immédiatement après le commutateur. Exécutez dnslint /ql autocreate pour générer un exemple de fichier d’entrée de texte appelé In-dnslint.txt. Ce fichier contient une explication sur le format requis. Vous pouvez utiliser ce fichier comme modèle pour créer d’autres fichiers d’entrée.

Autres commutateurs facultatifs

Le /v commutateur (détaillé) active le « mode détaillé ». Une fois ce commutateur activé, DNSLint affiche à l’écran les étapes qu’il effectue pour collecter des données. Vous pouvez envoyer cette sortie à un fichier. Par exemple : dnslint /v /d msn.com. Par défaut, le nom du rapport généré par DNSLint est Dnslint.htm. Avec le /r commutateur (rapport), vous pouvez spécifier le nom et l’emplacement du fichier de rapport généré par DNSLint. Vous pouvez donner au fichier de rapport le même nom que le nom de domaine ou le serveur DNS testé. L’extension de nom de fichier « .htm » est automatiquement ajoutée au nom du rapport, car le rapport est au format HTML.

Par défaut, DNSLint tente d’ouvrir automatiquement le fichier de rapport après sa génération, à l’aide du programme associé au fichier .htm du fichier de rapport. En règle générale, Microsoft Internet Explorer est associé à l’extension .htm. Il n’existe aucun moyen de remplacer le format du rapport par un format autre que HTML à l’aide de DNSLint.

Pour définir l’emplacement dans lequel le fichier de rapport est écrit, spécifiez le chemin d’accès complet et le nom du fichier de rapport. DNSLint prend en charge les lecteurs locaux et les chemins d’accès UNC (Universal Naming Convention). Par exemple, la commande dnslint /d msn.com /r c:\reports\reskit crée un rapport appelé Reskit.htm dans le dossier C :\Reports. La commande dnslint /d mydom.local /r \\\server1\reports\mydom crée un rapport sur le système distant appelé server1 dans le partage Rapports. Le nom du rapport est Mydom.htm.

Si vous spécifiez le /t commutateur (texte), DNSLint génère un rapport de texte et un rapport HTML. Le rapport texte utilise le même nom que le rapport .htm, sauf que son extension de nom de fichier est .txt. Le fichier est créé dans le même dossier que le fichier .htm. Par exemple, la commande dnslint /d msn.com /r c:\reports\reskit /t crée deux rapports dans le dossier C :\Reports. Un rapport est appelé Reskit.htm et l’autre Reskit.txt.

Par défaut, quand DNSLint détecte qu’un fichier de rapport portant le même nom que celui qu’il va générer existe déjà dans le dossier cible, DNSLint vous invite à remplacer le fichier. Avec l’option /y , DNSLint peut remplacer un fichier de rapport existant sans vous demander d’autorisation. Le fichier .htm et le fichier .txt facultatif sont remplacés lorsque vous utilisez cette option.

La commande dnslint /y /d msn.com /r c:\reports\reskit /t crée deux rapports dans le dossier C :\Reports. Un rapport est appelé Reskit.htm et l’autre Reskit.txt. Les fichiers de rapport existants sont remplacés sans vous y inviter.

Le /no_open commutateur empêche DNSLint d’ouvrir automatiquement le rapport après sa génération. Cette option est utile lorsque vous utilisez DNSLint dans des scripts si vous ne souhaitez pas :

  • Passez en revue les rapports immédiatement.
  • Passez en revue les rapports du système à partir duquel DNSLint a été exécuté.

Par exemple, la commande dnslint /y /d msn.com /no_open génère un rapport appelé Dnslint.htm qui remplace un rapport préexistant portant le même nom, sans demander à l’utilisateur. DNSLint n’ouvre pas automatiquement le rapport lorsqu’il est terminé.

Utilisez l’option (tester le port TCP 53) pour demander à tester le /test_tcp port TCP 53 lorsqu’il /d est utilisé. De nombreux serveurs DNS sur Internet aujourd’hui n’acceptent pas les requêtes DNS sur le port TCP 53, afin d’éviter d’éventuelles attaques sur ce port. Par défaut, seul le port UDP 53 est testé lors de l’exécution de DNSLint. La spécification de l’option /test_tcp permet à DNSLint d’envoyer une requête DNS unique par TCP et de signaler si une réponse a été reçue.

Vous pouvez utiliser l’option /test_tcp avec /d et /ad. Toutefois, vous ne pouvez pas utiliser l’option /test_tcp avec /ql ou la /ad/s combinaison localhost. Avec la /ql fonction , le port TCP 53 peut être testé directement à partir du fichier d’entrée. La /ad /s localhost fonction teste si les serveurs DNS configurés localement peuvent résoudre les enregistrements DNS utilisés pour la réplication de forêt Active Directory. Vous pouvez tester la connectivité du port TCP 53 à l’aide /ad/sde ip_addr à la place, où ip_addr est l’adresse IP d’un serveur DNS faisant autorité pour la zone _msdcs à la racine du domaine Active Directory.

Par exemple : dnslint /d microsoft.com /v /test_tcp

Le /c commutateur (test de connectivité) demande que DNSLint teste les ports de messagerie connus sur tous les serveurs de messagerie qu’il trouve lors de l’inspection des serveurs DNS pour le nom de domaine spécifié. Les protocoles SMTP, POP version 3 et IMAP (Internet Message Access Protocol) sont pris en charge. Par défaut, lorsque le /c commutateur est spécifié, DNSLint tente de se connecter aux trois ports de chaque serveur de messagerie qu’il trouve :

  • Port TCP 25 pour SMTP
  • Port TCP 110 pour POP
  • Port TCP 143 pour IMAP

DNSLint signale l’état dans lequel se trouve chaque port : « Écoute », « Non à l’écoute » ou « Aucune réponse ». Si DNSLint détecte qu’un port est à l’écoute, il retourne également la réponse à partir du port. Par exemple, si un port SMTP est à l’écoute, il retourne généralement une réponse cohérente avec la spécification du protocole SMTP, comme l’exemple suivant :

220 mailsrv.contoso.com Microsoft ESMTP MAIL Service, version : 5.0.2195.3705 prêt au lun, 13 mai 2002 17 :08 :36 -0700

Lorsqu’un port est signalé comme « Non à l’écoute », cela indique que le serveur de messagerie interrogé a répondu avec un paquet TCP avec l’indicateur De réinitialisation défini. Cela indique également qu’aucun service ou programme n’est à l’écoute sur le port.

« Aucune réponse » est signalée lorsque le serveur de messagerie cible ne répond pas à la tentative de connexion. Si le serveur cible est opérationnel et en cours d’exécution, cela indique que le port est filtré sur :

  • Serveur cible.
  • Quelque part entre le client qui exécute DNSLint et le serveur cible.

La commande dnslint /y /v /c /d msn.com génère un rapport appelé Dnslint.htm qui remplace un rapport préexistant portant le même nom, sans demander à l’utilisateur. Étant donné que l’option /c est spécifiée, une section supplémentaire est ajoutée au bas du rapport DNSLint standard :

Tests de connectivité réseau
Serveur de messagerie : smtp-gw-4.msn.com
Adresse IP : 207.46.181.13

Réponse SMTP :
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, version :
5.0.2195.4905 prêt au mar 14 mai 2002 09 :26 :06 -0700

Réponse POP : AUCUNE RÉPONSE (éventuellement filtrée)

Réponse IMAP : AUCUNE RÉPONSE (éventuellement filtrée)

Remarque

Un ou plusieurs serveurs POP n’ont pas répondu.
Un ou plusieurs serveurs IMAP n’ont pas répondu.

Lorsqu’un serveur de messagerie cible ne répond pas à une tentative de connexion sur l’un de ses ports de messagerie, DNSLint retente la connexion trois fois. Il s’agit d’un comportement standard pour un client TCP. Avant que DNSLint indique qu’il n’y avait « Aucune réponse », il attend que trois tentatives de connexions TCP distinctes expirent. Ce processus peut ralentir l’achèvement du rapport. Pour optimiser l’opération DNSLint, vous pouvez spécifier le ou les ports de messagerie que vous souhaitez case activée au lieu de toujours vérifier les trois ports.

Par défaut, lorsque l’option /c est spécifiée, les trois ports TCP (25, 110, 143) sont cochés. Toutefois, vous pouvez spécifier les ports à case activée après l’option /c . Spécifiez une liste délimitée par des virgules immédiatement après l’option /c . Spécifiez uniquement les ports valides : smtp, pop, imap. Toute combinaison de ces trois ports fonctionne. Par exemple, la commande dnslint /d contoso.com /c smtp spécifie que seul le port SMTP (port TCP 25) doit être vérifié.

La commande dnslint /d contoso.com /c pop, smtp spécifie que seuls le port SMTP (port TCP 25) et le port POP (port TCP 110) doivent être vérifiés.

La commande dnslint /d contoso.com /c imap, pop spécifie que seuls le port IMAP (port TCP 143) et le port POP (port TCP 110) doivent être vérifiés.

Vous pouvez utiliser le /s commutateur (serveur) avec les /d fonctions et /ad . Le /s commutateur a plusieurs objectifs, mais il ne prend qu’un seul type de données, une adresse IP valide d’un serveur DNS (à une exception près).

Lorsque vous spécifiez /d, l’option /s contourne la recherche InterNIC Whois effectuée par défaut par DNSLint. Par conséquent, DNSLint peut exécuter des tests sur des réseaux privés et sur des noms de domaine plus profonds que les domaines de deuxième niveau sur Internet. DNSLint peut également tester les noms de domaine qui ne sont pas pris en charge par InterNIC. Au moment de la rédaction de cet article, InterNIC a pris en charge Whois les recherches pour les domaines suivants : .biz, .coop.com, .edu, .info, .int, .museum.net, , et .org.

Lorsque vous utilisez /ad, le /s commutateur est utilisé pour spécifier l’adresse IP d’un serveur DNS faisant autorité pour le sous-domaine où les enregistrements DNS utilisés pour la réplication de forêt Active Directory sont inscrits. En règle générale, il s’agit du sous-domaine _msdcs sous la racine de la forêt Active Directory. Par exemple, si la racine de la forêt Active Directory est appelée myad.contoso.com, le serveur DNS qui héberge ce domaine peut également faire autorité pour la _msdcs.myad.contoso.com zone. Dans la zone, les enregistrements DNS utilisés dans la réplication Active Directory sont inscrits. Ou bien, la _msdcs.myad.contoso.com zone peut être déléguée à un autre serveur DNS. Toutefois, l’infrastructure DNS a été conçue, l’option /s est utilisée pour spécifier un serveur DNS faisant autorité pour la _msdcs.myad.contoso.com zone.

L’option /s doit spécifier une adresse IP valide. La seule exception à cette règle est la combinaison suivante : dnslint /ad /s localhost

« localhost » n’est pas une adresse IP valide. Lorsque vous spécifiez ce paramètre avec la /ad /s combinaison, DNSLint teste la capacité du système local (le système qui exécute DNSLint) à résoudre les enregistrements DNS utilisés pour la réplication de forêt Active Directory. Les requêtes DNS récursives sont envoyées aux serveurs DNS configurés du système local pour confirmer que le système local peut résoudre les enregistrements DNS utilisés pour la réplication de forêt Active Directory. Il peut être utile lors de la résolution des problèmes de réplication Active Directory sur un contrôleur de domaine particulier.

En règle générale, tous les serveurs DNS configurés du système local ne sont pas interrogés pendant ce processus. Le comportement du programme de résolution du client DNS par défaut est observé. Si le serveur DNS en haut de la liste des serveurs DNS du système local ne répond pas, le serveur suivant de la liste est utilisé.