Utilisation de l’outil en ligne de commande PortQry
PortQry est un outil en ligne de commande que vous pouvez utiliser pour résoudre les problèmes de connectivité TCP/IP. Cet outil signale la status des ports TCP et UDP (User Datagram Protocol) cibles sur un ordinateur local ou sur un ordinateur distant. Il fournit également des informations détaillées sur l’utilisation des ports de l’ordinateur local.
Étant donné que PortQry est destiné à être utilisé comme outil de résolution des problèmes, les utilisateurs qui l’utilisent pour résoudre un problème particulier doivent avoir une connaissance suffisante de leur environnement informatique.
Vous pouvez utiliser PortQry à partir d’une invite de commandes dans l’un des modes suivants :
- Mode ligne de commande. Vous pouvez utiliser ce mode pour résoudre les problèmes des ordinateurs locaux ou distants.
- Mode local. Dans ce mode, vous pouvez utiliser plusieurs paramètres destinés à la résolution des problèmes de l’ordinateur local.
- Mode interactif. Similaire au mode ligne de commande, mais vous pouvez utiliser des commandes de raccourci et des paramètres.
Remarque
Vous pouvez télécharger un outil distinct, appelé PortQryUI, qui inclut une interface utilisateur graphique pour PortQry. PortQryUI dispose de plusieurs fonctionnalités qui peuvent faciliter l’utilisation de PortQry. Pour obtenir l’outil PortQryUI, consultez PortQryUI - Interface utilisateur pour le scanneur de port de ligne de commande PortQry.
S’applique à : versions de Windows prises en charge
Tests et résultats PortQry
Les outils d’analyse de port classiques signalent que le port a un status LISTENING si le port UDP cible ne retourne pas de message ICMP (Internet Control Message Protocol) « Destination inaccessible ». Ce résultat peut ne pas être précis pour l’une des raisons suivantes ou les deux :
- S’il n’existe aucune réponse à un datagramme dirigé, le port cible peut être FILTRÉ.
- La plupart des services ne répondent pas à un datagramme utilisateur non mis en forme qui leur est envoyé. En règle générale, le service ou le programme qui écoute un port répond uniquement à un message qui utilise une couche de session ou un protocole de couche application spécifique.
Pour produire des résultats plus précis et utiles, PortQry utilise un processus de test en deux étapes.
Étape 1 : Test status port
PortQry signale la status d’un port comme l’une des trois valeurs suivantes :
- ÉCOUTE : cette réponse indique qu’un processus est à l’écoute sur le port cible. PortQry a reçu une réponse du port cible.
-
NOT LISTENING : cette réponse indique qu’aucun processus n’écoute sur le port cible. PortQry a reçu l’un des messages ICMP suivants du port cible :
Port inaccessible de destination inaccessible
- FILTERED : cette réponse indique que le port cible est filtré. PortQry n’a pas reçu de réponse du port cible. Un processus peut ou non être à l’écoute sur le port cible. Par défaut, PortQry interroge un port TCP trois fois avant de retourner une réponse FILTERED, puis interroge un port UDP une fois avant qu’il ne retourne une réponse de FILTERED.
Étape 2 : Tests spécialisés
S’il n’y a pas de réponse d’un port UDP cible, PortQry signale que le port est LISTENING ou FILTERED. Toutefois, lorsque vous résolvez un problème de connectivité, il est utile de savoir si un port est filtré ou à l’écoute. Cela est particulièrement vrai dans un environnement qui contient un ou plusieurs pare-feu.
PortQry affine son rapport de status port à l’aide d’un deuxième ensemble de tests qui peuvent interagir avec le service ou le programme qui écoute sur le port cible. Pour ce test, PortQry effectue les opérations suivantes :
- PortQry utilise le fichier Services qui se trouve dans le dossier %SYSTEMROOT%\System32\Drivers\Etc pour déterminer quel service écoute sur chaque port.
- PortQry crée un message qui est spécifiquement construit pour le service ou le programme attendu, puis envoie ce message au port cible. Selon le service ou le programme, le message peut demander des informations utiles pour la résolution des problèmes, telles que les suivantes :
- Informations sur le domaine et le contrôleur de domaine (requêtes LDAP)
- Ports et services clients inscrits (requêtes RPC)
- Si l’accès anonyme est autorisé (requêtes FTP)
- Adresse MAC (requêtes NetBIOS)
- informations de fichier Mspclnt.ini (requêtes du serveur ISA)
- PortQry analyse, met en forme, puis retourne la réponse du service ou du programme dans le cadre de son rapport de test.
Tests supplémentaires pour résoudre les problèmes de l’ordinateur local
Lorsque vous devez résoudre les problèmes de ports sur l’ordinateur sur lequel vous avez installé PortQry, utilisez PortQry en mode local. Lorsque vous utilisez les paramètres en mode local sur la ligne de commande, vous pouvez effectuer des tâches telles que les suivantes sur l’ordinateur local :
- Énumérer les mappages de ports
- Surveiller les modifications apportées à un port spécifique
- Surveiller les modifications d’un processus spécifique
Pour plus d’informations, consultez Utilisation de PortQry en mode local (ligne de commande).
Utilisation de PortQry en mode ligne de commande
Vous pouvez exécuter PortQry à partir d’une invite de commandes de la même manière que n’importe quel autre outil en ligne de commande. La plupart des exemples de cet article montrent des commandes PortQry de ligne de commande. En mode ligne de commande, vous pouvez ajouter plusieurs options à la chaîne de commande pour spécifier la requête à exécuter et comment l’exécuter. Pour exécuter PortQry en mode ligne de commande, exécutez une commande qui utilise la syntaxe suivante :
portqry.exe -n <name_to_query> [options]
Remarque
Dans cette commande, <name_to_query> correspond à l’adresse IP, au nom de l’ordinateur ou au domaine à interroger. Ce paramètre est obligatoire. [options] sont les paramètres facultatifs.
Paramètres PortQry pour le mode ligne de commande
Les paramètres suivants sont disponibles en mode de ligne de commande standard :
Paramètre | Description | Comments |
---|---|---|
-n <name> |
Interroger la destination spécifique |
|
-p <protocol> |
Utiliser le protocole spécifié |
|
-e <port_number> |
Spécifier le port cible (également appelé « point de terminaison ») |
|
-o <port_number>,<port_number> |
Spécifier plusieurs ports cibles dans une séquence | Les <valeurs port_number><port_number> représentent une liste délimitée par des virgules de numéros de port à interroger dans une séquence. N’utilisez pas d’espaces autour des virgules. |
-r <port_number>:<port_number> |
Spécifier une plage de ports cibles |
|
-l <filename.txt> |
Générer un fichier journal |
|
-y |
Remplacer le fichier journal précédent |
|
-sl |
Délai d’attente supplémentaire pour la réponse (également appelé retard de liaison lente) | Utilisez ce paramètre pour doubler le temps pendant lequel PortQry attend une réponse d’un port UDP avant que PortQry ne détermine que le port n’écoute pas ou qu’il est FILTRÉ. Lorsque vous interrogez des liaisons réseau lentes ou non fiables, le temps d’attente normal peut être trop court pour recevoir une réponse. |
-nr |
Ignorer la recherche de nom inverse |
|
-sp <port_number> |
Interroger à partir d’un port source spécifique |
|
-cn !<community_name>! |
Interroger une communauté SNMP |
|
-q |
Exécuter PortQry en mode silencieux |
|
Remarques relatives aux paramètres en mode ligne de commande
- Toute valeur de numéro de port doit être un numéro de port valide compris entre 1 et 65535 inclus.
- Les
-e
paramètres ,-o
et-r
s’excluent mutuellement. Une seule commande PortQry ne peut utiliser qu’un seul de ces paramètres. - Une requête sur le port UDP 389 (LDAP) peut ne pas fonctionner sur les contrôleurs de domaine qui exécutent Windows Server 2008. Pour case activée la disponibilité du service qui s’exécute sur le port UDP 389, vous pouvez utiliser Nltest au lieu de PortQry. Pour plus d’informations, consultez Nltest.
- Lorsque vous interrogez le port 135 (RPC) à l’aide
-e
de ou-o
, PortQry retourne tous les points de terminaison actuellement inscrits auprès du mappeur de point de terminaison RPC.Importante
Lorsque vous utilisez ,
-r
PortQry n’interroge pas le mappeur de point de terminaison RPC. - Lorsque vous interrogez le port 53 (DNS), PortQry envoie une requête DNS pour
portqry.microsoft.com
en utilisant à la fois TCP et UDP. Si le serveur retourne une réponse, PortQry détermine que le port est LISTENING.Remarque
Il n’est pas important que le serveur DNS retourne une réponse positive ou négative. Toute réponse indique que le port est à l’écoute.
Utilisation de PortQry en mode local (ligne de commande)
Au lieu d’interroger un port sur un ordinateur cible distant, vous pouvez utiliser PortQry en mode local pour obtenir des informations détaillées sur les ports TCP et les ports UDP sur l’ordinateur local sur lequel PortQry s’exécute. Utilisez la syntaxe suivante pour exécuter PortQry en mode local :
portqry -local | -wpid <pid> | -wport <port_number> [-wt <seconds>] [-l <filename.txt>] [-v]
Les espaces réservés dans cette syntaxe sont expliqués dans le tableau suivant des paramètres du mode local :
Paramètre | Description | Comments |
---|---|---|
-local |
Récupérer des informations locales |
|
-wport <port_number> |
Surveiller le port |
|
-wpid <pid> |
WATCH PROCESS ID (PID) |
|
-wt <seconds> |
Vérifier à un intervalle spécifique |
|
-l <filename.txt> |
Générer un fichier journal |
|
-y |
Remplacer le fichier journal précédent |
|
-v |
Produire une sortie détaillée | PortQry fournit des détails supplémentaires à la sortie de l’écran (et au fichier journal, le cas échéant). |
Remarques sur les paramètres en mode local
- Les
-local
paramètres ,-wport
et-wpid
s’excluent mutuellement. Vous ne pouvez utiliser qu’un seul de ces paramètres dans une seule chaîne de commande PortQry. - Le
-q
paramètre ne fonctionne pas en mode local. - Dans certains cas, PortQry peut signaler que le processus d’inactivité du système (PID 0) utilise certains ports TCP. Ce comportement peut se produire si un programme local se connecte à un port TCP, puis s’arrête. Même si le programme n’est plus en cours d’exécution, la connexion TCP du programme au port peut rester dans un état « Attente chrono timed » pendant plusieurs minutes. Dans ce cas, PortQry peut détecter que le port est en cours d’utilisation, mais il ne peut pas identifier le programme qui utilise le port, car le PID a été libéré. Par défaut, le port reste à l’état « Attente planifiée » deux fois plus longtemps que la durée de vie maximale du segment.
- Pour chaque processus, PortQry signale autant d’informations qu’il peut y accéder. L’accès à certaines informations est limité. Par exemple, l’accès aux informations de module pour les processus Inactifs et CSRSS est interdit, car leurs restrictions d’accès empêchent le code au niveau de l’utilisateur de les ouvrir. Pour obtenir de meilleurs résultats, exécutez la commande en mode local dans le contexte de l’administrateur local ou d’un compte qui a des informations d’identification similaires.
- Lorsque vous utilisez
-wport
ou-wpid
avec-l
, utilisez la touche Échap pour interrompre et quitter PortQry au lieu de Ctrl+C. Vous devez appuyer sur Échap pour vous assurer que PortQry ferme correctement le fichier journal et se ferme. Si vous appuyez sur Ctrl+C au lieu de Échap pour arrêter PortQry, le fichier journal peut devenir vide ou endommagé.
Utilisation de PortQry en mode interactif
Lorsque vous résolvez des problèmes de connectivité entre ordinateurs, vous devrez peut-être taper de nombreuses commandes répétitives. Ces actions peuvent être effectuées plus facilement à l’aide de PortQry en mode interactif.
Le mode interactif est similaire à la fonctionnalité interactive dans l’utilitaire DNS Nslookup ou dans l’utilitaire NBlookup WINS.
Pour démarrer PortQry en mode interactif, utilisez le -i
paramètre . Par exemple, exécutez la commande suivante :
portqry -i
La sortie de cette commande ressemble à l’extrait suivant :
Portqry Interactive Mode
Type 'help' for a list of commands
Default Node: 127.0.0.1
Current option values:
end port= 80
protocol= TCP
source port= 0 (ephemeral)
>
Commandes en mode interactif
Vous pouvez utiliser les commandes suivantes en mode interactif :
Command | Description | Comments |
---|---|---|
node <name> ou n <name> |
Définir la destination à interroger |
|
query ou q |
Envoyer une requête |
|
set <option>=<value> |
Définir la valeur d’une option de requête |
|
exit |
Quitter le mode interactif |
Raccourcis de requête en mode interactif
Vous pouvez utiliser les raccourcis suivants avec la query
commande pour exécuter des requêtes courantes sans avoir à définir les options de port et de protocole. Utilisez la syntaxe suivante :
q <shortcut>
Remarque
Dans cette commande, <raccourci> représente l’un des raccourcis du tableau suivant. Si vous omettez le raccourci, la commande interroge le q
port TCP 80.
Raccourci | Ports à interroger |
---|---|
dns |
Port TCP 53, port UDP 53. |
ftp |
Port TCP 21 |
imap |
Port TCP 143 |
ipsec |
Port UDP 500 |
isa |
Port TCP 1745, port UDP 1745 |
ldap |
Port TCP 389, port UDP 389 |
l2tp |
Port UDP 1701 |
mail |
Ports TCP 25, 110 et 143 |
pop3 |
Port TCP 110 |
rpc |
Port TCP 135, port UDP 135 |
smtp |
Port TCP 25 |
snmp |
Port UDP 161 |
sql |
Port TCP 1433, port UDP 1434 |
tftp |
Port UDP 69 |
Par exemple, l’entrée q dns
en mode interactif équivaut à une exécution portqry -n 127.0.0.1 -p both -e 135
en mode ligne de commande standard.
Options du mode interactif
Vous pouvez utiliser la set
commande pour définir des options telles que le port source ou le délai de liaison lente. Utilisez la syntaxe suivante :
set <option>=<value>
Remarque
Dans cette commande, <option> représente le nom de l’option à définir, et <value> représente la nouvelle valeur de l’option.
Option | Description | Comments |
---|---|---|
set all |
Afficher les valeurs actuelles des options | |
set port=<port_number> set e=<port_number> |
Spécifier le port cible | La < valeur port_number> représente le port à interroger sur l’ordinateur de destination. |
set sport=<port_number> set sp=<port_number> |
Spécifier le port source |
|
set protocol=<protocol> set p=<protocol> |
Spécifier le protocole à utiliser | La < valeur de protocole> représente le type de port à interroger (tcp , udp ou both ). |
set cn=<community_name> |
Spécifier une communauté SNMP |
|
set nr |
Activer ou désactiver la recherche de nom inversée |
|
set sl |
Activer ou désactiver le délai de liaison lent |
|
Supposons que vous souhaitiez interroger un ordinateur dont l’adresse IP est 10.0.1.10. À l’invite de commandes en mode interactif, entrez n 10.0.1.10
. Cette commande produit une sortie qui ressemble à l’extrait suivant :
Default Node: 10.0.1.10
>
Pour envoyer une requête DNS, entrez q dns
à l’invite de commandes en mode interactif. Cette commande produit une sortie qui ressemble à l’extrait suivant :
resolving service name using local services file...
UDP port resolved to the 'domain' service
IP address resolved to myserver.contoso.com
querying...
UDP port 53 (domain service): LISTENING
>
Personnalisation de l’association entre les ports et les services
Par défaut, chaque ordinateur Windows possède un fichier Services qui se trouve dans le dossier %SYSTEMROOT%\System32\Drivers\Etc . PortQry utilise ce fichier pour résoudre les numéros de port en noms de service correspondants. PortQry utilise ces informations pour sélectionner le format de ses requêtes. Vous pouvez modifier ce fichier pour indiquer à PortQry d’envoyer des messages mis en forme à un autre port. Par exemple, l’entrée suivante apparaît dans un fichier services classique :
ldap 389/tcp #Lightweight Directory Access Protocol
Vous pouvez modifier cette entrée de port ou ajouter une entrée supplémentaire. Pour forcer PortQry à envoyer des requêtes LDAP au port 1025, modifiez l’entrée comme suit :
ldap 1025/tcp #Lightweight Directory Access Protocol
Exemples
Les exemples suivants montrent comment utiliser PortQry et ses paramètres :
Mode local
- Interroger l’ordinateur local
- Interroger l’ordinateur local lorsque l’accès peut être restreint
- Surveiller un ID de processus à l’aide d’un intervalle spécifique
- Interroger sur un lien lent
Mode ligne de commande
- Spécifier une cible et un protocole
- Spécifier un ou plusieurs ports cibles
- Spécifier un fichier journal pour la sortie PortQry
- Utiliser un fichier de commandes pour exécuter PortQry en mode silencieux
- Port de requête 135 (service RPC)
Interroger l’ordinateur local
La sortie de portqry -local
ressemble à l’extrait suivant :
TCP/UDP Port Usage
96 active ports found
Port Local IPState Remote IP:Port
TCP 80 0.0.0.0 LISTENING 0.0.0.0:18510
TCP 80 169.254.149.9 TIME WAIT 169.254.74.55:3716
TCP 80 169.254.149.9 TIME WAIT 169.254.200.222:3885
TCP 135 0.0.0.0 LISTENING 0.0.0.0:10280
UDP 135 0.0.0.0 :
UDP 137 169.254.149.9 :
UDP 138 169.254.149.9 :
TCP 139 169.254.149.9 LISTENING 0.0.0.0:43065
TCP 139 169.254.149.9 ESTABLISHED 169.254.4.253:4310
TCP 139 169.254.149.9 ESTABLISHED 169.254.74.55:3714
Interroger l’ordinateur local lorsque l’accès peut être restreint
Lorsque vous exécutez PortQry en mode local, comme dans l’exemple précédent, vous pouvez voir une sortie qui ressemble à l’extrait suivant. Cette sortie indique que le contexte de sécurité utilisé par PortQry ne dispose pas des autorisations suffisantes pour accéder à toutes les informations demandées.
Port and Module Information by Process
Note: restrictions applied to some processes may
prevent Portqry from accessing more information
For best results run Portqry in the context of
the local administrator
======================================================
Process ID: 0 (System Idle Process)
PIDPortLocal IPState Remote IP:Port
0TCP 4442 169.254.113.96 TIME WAIT 169.254.5.136:80
0TCP 4456 169.254.113.96 TIME WAIT 169.254.5.44:445
Port Statistics
TCP mappings: 2
UDP mappings: 0
TCP ports in a TIME WAIT state: 2 = 100.00%
Could not access module information for this process
======================================================
Surveiller un ID de processus à l’aide d’un intervalle spécifique
La commande suivante surveille un processus spécifique :
portqry.exe -wpid 1276 -wt 2 -v -l pid.txt
Par conséquent, PortQry effectue les actions suivantes :
- Identifie le processus qui a le PID 1276 et vérifie la status des ports qu’il utilise toutes les deux secondes jusqu’à ce que vous appuyiez sur Échap.
- Crée le fichier journal pid.txt. Si un fichier de ce nom existe déjà, PortQry vous invite à confirmer que vous souhaitez remplacer le fichier.
- Enregistre toute sortie dans le fichier journal, y compris la sortie détaillée supplémentaire.
Le contenu du fichier journal ressemble à l’extrait suivant :
PortQry Version 2.0 Log File
System Date: <DateTime>
Command run:
portqry -wpid 1276 -wt 2 -v -l pid.txt
Local computer name:
host123
Watching PID: 1276
Checking for changes every 2 seconds
verbose output requested
Service Name: DNS
Display Name: DNS Server
Service Type: runs in its own process
============
System Date: <DateTime>
======================================================
Process ID: 1276 (dns.exe)
Service Name: DNS
Display Name: DNS Server
Service Type: runs in its own process
PIDPortLocal IPState Remote IP:Port
1276TCP 53 0.0.0.0 LISTENING 0.0.0.0:2160
1276TCP 1087 0.0.0.0 LISTENING 0.0.0.0:37074
1276UDP 1086 0.0.0.0 :
1276UDP 2126 0.0.0.0 :
1276UDP 53 127.0.0.1 :
1276UDP 1085 127.0.0.1 :
1276UDP 53 169.254.11.96 :
Port Statistics
TCP mappings: 2
UDP mappings: 5
TCP ports in a LISTENING state: 2 = 100.00%
Loaded modules:
C:\WINDOWS\System32\dns.exe (0x01000000)
C:\WINDOWS\system32\ntdll.dll (0x77F40000)
C:\WINDOWS\system32\kernel32.dll (0x77E40000)
C:\WINDOWS\system32\msvcrt.dll (0x77BA0000)
C:\WINDOWS\system32\ADVAPI32.dll (0x77DA0000)
C:\WINDOWS\system32\RPCRT4.dll (0x77C50000)
C:\WINDOWS\System32\WS2_32.dll (0x71C00000)
C:\WINDOWS\System32\WS2HELP.dll (0x71BF0000)
C:\WINDOWS\system32\USER32.dll (0x77D00000)
C:\WINDOWS\system32\GDI32.dll (0x77C00000)
C:\WINDOWS\System32\NETAPI32.dll (0x71C40000)
Spécifier une cible et un protocole
Remarque
Chacun des exemples de cette section interroge le port 80, le port par défaut.
La commande suivante interroge le port TCP par défaut sur un ordinateur spécifié à l’aide de son nom de domaine complet (FQDN) :
portqry -n myDomainController.example.com -p tcp
La commande suivante interroge le port UDP par défaut sur un ordinateur spécifié à l’aide de son nom d’ordinateur :
portqry -n myServer -p udp
La commande suivante interroge les ports TCP et UDP par défaut d’un ordinateur spécifié à l’aide de son adresse IP :
portqry -n 192.168.1.20 -p both
La commande suivante exécute la même requête que la commande précédente, mais ignore l’étape de résolution de noms :
portqry -n 192.168.1.20 -p both -nr
La commande suivante interroge le port TCP par défaut d’un serveur web :
portqry -n www.widgets.microsoft.com
Spécifier un ou plusieurs ports cibles
La commande suivante teste le service SMTP d’un serveur de messagerie en interrogeant le port TCP 25 :
portqry -n mail.example.com -p tcp -e 25
La commande suivante interroge le port TCP 60897 et le port UDP 60897 d’un ordinateur dont l’adresse IP est 192.168.1.20 :
portqry -n 192.168.1.20 -p both -e 60897
La commande suivante interroge les ports UDP 139, 1025 et 135 (dans cette séquence) sur l’ordinateur « myServer » :
portqry -n myServer -p udp -o 139,1025,135
La commande suivante interroge la plage de ports du port 135 au port 139 (inclus) sur l’ordinateur « myServer » :
portqry -n myServer -p udp -r 135:139
Spécifier un fichier journal pour la sortie PortQry
La commande suivante interroge le port TCP 143 sur mail.widgets.microsoft.com et enregistre la sortie dans le fichier portqry.txt . Si le fichier existe déjà, PortQry le remplace sans demander de confirmation.
portqry -n mail.widgets.microsoft.com -p tcp -e 143 -l portqry.txt -y
Interroger sur un lien lent
La commande suivante interroge les ports TCP 143, 110 et 25 sur mail.widgets.microsoft.com. Pour chaque port cible, PortQry attend deux fois plus longtemps que d’habitude pour obtenir une réponse.
portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25 -sl
Spécifier un port source
La commande suivante utilise le port UDP 3001 (s’il est disponible) sur l’ordinateur local pour envoyer une requête au port UDP 53 sur 192.168.1.20. Si un service écoute sur ce port et répond à la requête, il envoie la réponse au port UDP 3001 sur l’ordinateur local.
portqry -p udp -e 53 -sp 3001 -n 192.168.1.20
La commande suivante utilise le port UDP 3000 (s’il est disponible) sur l’ordinateur local pour envoyer une requête au port UDP 389 sur myDomainController.contoso.com. Par défaut, le service LDAP doit être à l’écoute sur ce port. Si le service LDAP répond à la première requête, PortQry utilise un port source éphémère pour envoyer la requête mise en forme et recevoir des réponses.
portqry -n myDomainController.contoso.com -e 389 -sp 3000
Utiliser un fichier de commandes pour exécuter PortQry en mode silencieux
Le texte suivant est un exemple de fichier de commandes qui exécute PortQry en mode silencieux :
:Top
portqry -n 169.254.18.22 -e 443 -nr -l pqlog.txt -q
:end
Lorsque ce fichier de commandes s’exécute, PortQry produit un fichier journal nommé pqlog.txt. Le contenu de ce fichier ressemble à ce qui suit :
PortQry Version 2.0 Log File
System Date: Thu Sep 16 10:35:03 2021
Command run:
portqry -n 169.254.18.22 -e 443 -nr -l pqlog.txt -q
Local computer name:
SOURCESERVER
Querying target system called:
169.254.18.22
TCP port 443 (https service): LISTENING
========= end of log file =========
Port de requête 135 (service RPC)
La commande suivante interroge le port UDP 135 sur l’ordinateur myServer. Par défaut, le service RPC doit être à l’écoute sur ce port.
portqry -n myServer -p udp -e 135
Par conséquent, PortQry effectue les actions suivantes :
- PortQry utilise le fichier Services dans le dossier %SYSTEMROOT%\System32\Drivers\Etc pour résoudre le port UDP 135 en service. À l’aide de la configuration par défaut, PortQry résout le port en service de mappeur de point de terminaison RPC (Epmap).
- PortQry envoie un datagramme utilisateur non mis en forme au port UDP 135 sur l’ordinateur de destination.
PortQry ne reçoit pas de réponse du port cible. Cela est dû au fait que le service de mappeur de point de terminaison RPC répond uniquement à une requête RPC correctement mise en forme. PortQry signale que le port est LISTENING ou FILTERED. - PortQry crée une requête RPC correctement mise en forme qui demande tous les points de terminaison actuellement inscrits auprès du mappeur de point de terminaison RPC. PortQry envoie cette requête au port UDP 135 sur l’ordinateur de destination.
- Selon la réponse, PortQry effectue l’une des actions suivantes :
- Si PortQry reçoit une réponse à cette requête, PortQry renvoie la réponse entière à l’utilisateur et signale que le port est LISTENING.
- Si PortQry ne reçoit pas de réponse à cette requête, il signale que le port est FILTERED.
UDP port 135 (epmap service): LISTENING or FILTERED
Querying Endpoint Mapper Database...
Server's response:
UUID: 50abc2a4-574d-40b3-9d66-ee4fd5fba076
ncacn_ip_tcp:169.254.12.191[4144]
UUID: ecec0d70-a603-11d0-96b1-00a0c91ece30 NTDS Backup Interface
ncacn_np:\\MYSERVER[\PIPE\lsass]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncacn_ip_tcp:169.254.12.191[1030]
UUID: e3514235-4b06-11d1-ab04-00c04fc2dcd2 MS NT Directory DRS Interface
ncadg_ip_udp:169.254.12.191[1032]
UUID: 12345678-1234-abcd-ef00-01234567cffb
ncacn_np:\\MYSERVER[\PIPE\lsass]
UUID: 12345678-1234-abcd-ef00-01234567cffb
ncacn_np:\\MYSERVER[\PIPE\POLICYAGENT]
Total endpoints found: 6
==== End of RPC Endpoint Mapper query response ====
UDP port 135 is LISTENING
À partir de cette sortie, vous pouvez déterminer non seulement si le service écoute sur le port, mais également quels services ou programmes sont inscrits auprès de la base de données du mappeur de point de terminaison RPC sur l’ordinateur de destination. La sortie inclut l’identificateur unique universel (UUID) pour chaque programme, le nom annoté (s’il en existe un), le protocole utilisé par chaque programme, l’adresse réseau à laquelle le programme est lié et le point de terminaison du programme entre crochets.
Remarque
Lorsque vous spécifiez l’option -r
dans la commande PortQry pour analyser une plage de ports, PortQry n’interroge pas le mappeur de point de terminaison RPC pour obtenir des informations sur le point de terminaison. Ce paramètre accélère l’analyse d’une plage de ports.