Uso dello strumento da riga di comando PortQry
PortQry è uno strumento da riga di comando che è possibile usare per risolvere i problemi di connettività TCP/IP. Questo strumento segnala lo stato delle porte TCP e UDP (User Datagram Protocol) di destinazione in un computer locale o in un computer remoto. Fornisce inoltre informazioni dettagliate sull'utilizzo della porta del computer locale.
Poiché PortQry deve essere usato come strumento di risoluzione dei problemi, gli utenti che lo usano per risolvere un particolare problema devono avere una conoscenza sufficiente dell'ambiente di calcolo.
È possibile usare PortQry da un prompt dei comandi in una delle diverse modalità:
- Modalità della riga di comando. È possibile usare questa modalità per risolvere i problemi dei computer locali o remoti.
- Modalità locale. In questa modalità è possibile usare diversi parametri destinati alla risoluzione dei problemi del computer locale.
- Modalità interattiva. Analogamente alla modalità della riga di comando, ma è possibile usare i comandi e i parametri di collegamento.
Nota
È possibile scaricare uno strumento separato, denominato PortQryUI, che include un'interfaccia utente grafica per PortQry. PortQryUI offre diverse funzionalità che possono semplificare l'uso di PortQry. Per ottenere lo strumento PortQryUI, vedere PortQryUI - User Interface for the Port Scanner della riga di comando di PortQry.
Si applica a: Versioni supportate di Windows
Test e risultati di PortQry
Gli strumenti di analisi delle porte tipici segnalano che la porta ha uno stato LISTENING se la porta UDP di destinazione non restituisce un messaggio ICMP (Internet Control Message Protocol) "Destinazione non raggiungibile". Questo risultato potrebbe non essere accurato per uno o entrambi i motivi seguenti:
- Se non è presente alcuna risposta a un datagramma diretto, la porta di destinazione potrebbe essere FILTERED.
- La maggior parte dei servizi non risponde a un datagramma utente non formattato inviato. In genere, il servizio o il programma in ascolto di una porta risponde solo a un messaggio che usa un livello di sessione o un protocollo a livello di applicazione specifico.
Per ottenere risultati più accurati e utili, PortQry usa un processo di test in due passaggi.
Passaggio 1: Test dello stato della porta
PortQry segnala lo stato di una porta come uno dei tre valori seguenti:
- LISTENING: questa risposta indica che un processo è in ascolto sulla porta di destinazione. PortQry ha ricevuto una risposta dalla porta di destinazione.
-
NOT LISTENING: questa risposta indica che nessun processo è in ascolto sulla porta di destinazione. PortQry ha ricevuto uno dei messaggi ICMP seguenti dalla porta di destinazione:
Porta non raggiungibile di destinazione non raggiungibile
- FILTERED: questa risposta indica che la porta di destinazione viene filtrata. PortQry non ha ricevuto una risposta dalla porta di destinazione. Un processo può essere in ascolto o meno sulla porta di destinazione. Per impostazione predefinita, PortQry esegue una query su una porta TCP tre volte prima di restituire una risposta di FILTERED e esegue una query su una porta UDP una volta prima di restituire una risposta di FILTERED.
Passaggio 2: Test specializzati
Se non è presente alcuna risposta da una porta UDP di destinazione, PortQry segnala che la porta è IN ASCOLTO o FILTRATA. Tuttavia, quando si risolve un problema di connettività, è utile sapere se una porta viene filtrata o è in ascolto. Ciò è particolarmente vero in un ambiente che contiene uno o più firewall.
PortQry affina il report sullo stato della porta usando un secondo set di test che possono interagire con il servizio o il programma in ascolto sulla porta di destinazione. Per questo test, PortQry esegue le operazioni seguenti:
- PortQry usa il file Services che si trova nella cartella %SYSTEMROOT%\System32\Drivers\Etc per determinare quale servizio è in ascolto su ogni porta.
- PortQry crea un messaggio costruito in modo specifico per il servizio o il programma previsto e quindi invia il messaggio alla porta di destinazione. A seconda del servizio o del programma, il messaggio può richiedere informazioni utili per la risoluzione dei problemi, ad esempio:
- Informazioni sul controller di dominio e di dominio (query LDAP)
- Porte e servizi client registrati (query RPC)
- Indica se l'accesso anonimo è consentito (query FTP)
- Indirizzo MAC (query NetBIOS)
- Mspclnt.ini informazioni sui file (query ISA Server)
- PortQry analizza, formatta e quindi restituisce la risposta dal servizio o dal programma come parte del report di test.
Test aggiuntivi per la risoluzione dei problemi del computer locale
Quando è necessario risolvere i problemi relativi alle porte nel computer in cui è stato installato PortQry, usare PortQry in modalità locale. Quando si usano i parametri in modalità locale nella riga di comando, è possibile eseguire attività come le seguenti nel computer locale:
- Enumerare i mapping delle porte
- Monitorare una porta specifica per le modifiche
- Monitorare un processo specifico per le modifiche
Per altre informazioni, vedere Uso di PortQry in modalità locale (riga di comando).
Uso di PortQry in modalità da riga di comando
È possibile eseguire PortQry al prompt dei comandi nello stesso modo di qualsiasi altro strumento da riga di comando. La maggior parte degli esempi in questo articolo mostra i comandi PortQry da riga di comando. In modalità da riga di comando è possibile aggiungere più opzioni alla stringa di comando per specificare la query da eseguire e come eseguirla. Per eseguire PortQry in modalità da riga di comando, eseguire un comando che usa la sintassi seguente:
portqry.exe -n <name_to_query> [options]
Nota
In questo comando name_to_query>< è l'indirizzo IP, il nome del computer o il dominio su cui eseguire la query. Questo parametro è obbligatorio. [options] sono i parametri facoltativi.
Parametri PortQry per la modalità della riga di comando
I parametri seguenti sono disponibili in modalità normale da riga di comando:
Parametro | Descrizione | Commenti |
---|---|---|
-n <name> |
Eseguire query sulla destinazione specifica |
|
-p <protocol> |
Usare il protocollo specificato |
|
-e <port_number> |
Specificare la porta di destinazione (nota anche come "endpoint") |
|
-o <port_number>,<port_number> |
Specificare più porte di destinazione in una sequenza | I <valoriport_number,port_number>>< rappresentano un elenco delimitato da virgole di numeri di porta su cui eseguire una query in una sequenza. Non usare spazi intorno alle virgole. |
-r <port_number>:<port_number> |
Specificare un intervallo di porte di destinazione |
|
-l <filename.txt> |
Generare un file di log |
|
-y |
Sovrascrivere il file di log precedente |
|
-sl |
Attendere un tempo aggiuntivo per la risposta (noto anche come ritardo del collegamento lento) | Usare questo parametro per raddoppiare il tempo di attesa di PortQry per una risposta da una porta UDP prima che PortQry determini che la porta non è IN ASCOLTO o che è FILTRATA. Quando si esegue una query su collegamenti di rete lenti o inaffidabili, il tempo di attesa normale potrebbe essere troppo breve per ricevere una risposta. |
-nr |
Ignorare la ricerca dei nomi inversi |
|
-sp <port_number> |
Eseguire query da una porta di origine specifica |
|
-cn !<community_name>! |
Eseguire query su una community SNMP |
|
-q |
Eseguire PortQry in modalità non interattiva |
|
Osservazioni per i parametri in modalità da riga di comando
- Qualsiasi valore del numero di porta deve essere un numero di porta valido compreso tra 1 e 65535, inclusi.
- I
-e
parametri ,-o
e-r
si escludono a vicenda. Un singolo comando PortQry può usare solo uno di questi parametri. - Una query sulla porta UDP 389 (LDAP) potrebbe non funzionare sui controller di dominio che eseguono Windows Server 2008. Per controllare la disponibilità del servizio in esecuzione sulla porta UDP 389, è possibile usare Nltest anziché PortQry. Per altre informazioni, vedere Nltest.
- Quando si esegue una query sulla porta 135 (RPC) usando
-e
o-o
, PortQry restituisce tutti gli endpoint attualmente registrati con il mapper degli endpoint RPC.Importante
Quando si usa
-r
, PortQry non esegue query sul mapper dell'endpoint RPC. - Quando si esegue una query sulla porta 53 (DNS), PortQry invia una query DNS per
portqry.microsoft.com
tramite TCP e UDP. Se il server restituisce una risposta, PortQry determina che la porta è LISTENING.Nota
Non è importante se il server DNS restituisce una risposta positiva o negativa. Qualsiasi risposta indica che la porta è in ascolto.
Uso di PortQry in modalità locale (riga di comando)
Anziché eseguire query su una porta in un computer di destinazione remoto, è possibile usare PortQry in modalità locale per ottenere informazioni dettagliate sulle porte TCP e sulle porte UDP nel computer locale in cui viene eseguito PortQry. Usare la sintassi seguente per eseguire PortQry in modalità locale:
portqry -local | -wpid <pid> | -wport <port_number> [-wt <seconds>] [-l <filename.txt>] [-v]
I segnaposto in questa sintassi sono illustrati nella tabella seguente dei parametri della modalità locale:
Parametro | Descrizione | Commenti |
---|---|---|
-local |
Recuperare informazioni locali |
|
-wport <port_number> |
Porta di controllo |
|
-wpid <pid> |
Id processo di controllo (PID) |
|
-wt <seconds> |
Verifica a intervalli specifici |
|
-l <filename.txt> |
Generare un file di log |
|
-y |
Sovrascrivere il file di log precedente |
|
-v |
Produrre un output dettagliato | PortQry fornisce dettagli aggiuntivi per l'output dello schermo (e per il file di log, se usato). |
Osservazioni per i parametri in modalità locale
- I
-local
parametri ,-wport
e-wpid
si escludono a vicenda. È possibile usare solo uno di questi parametri in una singola stringa di comando PortQry. - Il
-q
parametro non funziona in modalità locale. - In alcuni casi, PortQry può segnalare che il processo di inattività del sistema (PID 0) usa alcune porte TCP. Questo comportamento può verificarsi se un programma locale si connette a una porta TCP e quindi si arresta. Anche se il programma non è più in esecuzione, la connessione TCP del programma alla porta può essere lasciata in uno stato "Attesa a tempo" per alcuni minuti. In questo caso, PortQry può rilevare che la porta è in uso, ma non può identificare il programma che usa la porta perché il PID è stato rilasciato. Per impostazione predefinita, la porta rimane nello stato "Attesa a tempo" per il doppio della durata massima del segmento.
- Per ogni processo, PortQry segnala tutte le informazioni a cui può accedere. L'accesso ad alcune informazioni è limitato. Ad esempio, l'accesso alle informazioni sui moduli per i processi Idle e CSRSS non è consentito perché le restrizioni di accesso impediscono al codice a livello di utente di aprirle. Per ottenere risultati ottimali, eseguire il comando in modalità locale nel contesto dell'amministratore locale o di un account con credenziali simili.
- Quando si usa
-wport
o-wpid
insieme a-l
, usare il tasto ESC per interrompere e uscire da PortQry anziché CTRL+C. È necessario premere ESC per assicurarsi che PortQry chiuda correttamente il file di log e si chiuda. Se si preme CTRL+C anziché ESC per arrestare PortQry, il file di log potrebbe diventare vuoto o danneggiato.
Uso di PortQry in modalità interattiva
Quando si risolveno i problemi di connettività tra computer, potrebbe essere necessario digitare molti comandi ripetitivi. Tali azioni potrebbero essere eseguite più facilmente usando PortQry in modalità interattiva.
La modalità interattiva è simile alla funzionalità interattiva nell'utilità DNS Nslookup o nell'utilità WINS Nblookup.
Per avviare PortQry in modalità interattiva, usare il -i
parametro . Ad esempio, eseguire il seguente comando:
portqry -i
L'output di questo comando è simile all'estratto seguente:
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)
>
Comandi in modalità interattiva
È possibile usare i comandi seguenti in modalità interattiva:
Comando | Descrizione | Commenti |
---|---|---|
node <name> o n <name> |
Impostare la destinazione su cui eseguire una query |
|
query o q |
Invia query |
|
set <option>=<value> |
Impostare il valore di un'opzione di query |
|
exit |
Lasciare la modalità interattiva |
Collegamenti alle query in modalità interattiva
È possibile usare i collegamenti seguenti insieme al query
comando per eseguire query comuni senza dover impostare le opzioni di porta e protocollo. Usare la sintassi seguente:
q <shortcut>
Nota
In questo comando, <il collegamento> rappresenta uno dei collegamenti della tabella seguente. Se si omette il collegamento, il comando esegue una query sulla q
porta TCP 80.
Scelta rapida | Porte su cui eseguire query |
---|---|
dns |
Porta TCP 53, porta UDP 53. |
ftp |
Porta TCP 21 |
imap |
Porta TCP 143 |
ipsec |
Porta UDP 500 |
isa |
Porta TCP 1745, porta UDP 1745 |
ldap |
Porta TCP 389, porta UDP 389 |
l2tp |
Porta UDP 1701 |
mail |
Porte TCP 25, 110 e 143 |
pop3 |
Porta TCP 110 |
rpc |
Porta TCP 135, porta UDP 135 |
smtp |
Porta TCP 25 |
snmp |
Porta UDP 161 |
sql |
Porta TCP 1433, porta UDP 1434 |
tftp |
Porta UDP 69 |
Ad esempio, l'immissione q dns
in modalità interattiva equivale all'esecuzione portqry -n 127.0.0.1 -p both -e 135
in modalità normale della riga di comando.
Opzioni della modalità interattiva
È possibile usare il set
comando per impostare opzioni come la porta di origine o il ritardo del collegamento lento. Usare la sintassi seguente:
set <option>=<value>
Nota
In questo comando, <l'opzione> rappresenta il nome dell'opzione da impostare e <value> rappresenta il nuovo valore dell'opzione.
Opzione | Descrizione | Commenti |
---|---|---|
set all |
Visualizzare i valori correnti delle opzioni | |
set port=<port_number> set e=<port_number> |
Specificare la porta di destinazione | Il <valore port_number> rappresenta la porta su cui eseguire una query nel computer di destinazione. |
set sport=<port_number> set sp=<port_number> |
Specificare la porta di origine |
|
set protocol=<protocol> set p=<protocol> |
Specificare il protocollo da usare | Il valore del <protocollo> rappresenta il tipo di porta su cui eseguire una query (tcp , udp o both ). |
set cn=<community_name> |
Specificare una community SNMP |
|
set nr |
Disattivare o attivare la ricerca del nome inverso |
|
set sl |
Attivare o disattivare il ritardo del collegamento lento |
|
Si supponga di voler eseguire una query su un computer con indirizzo IP 10.0.1.10. Al prompt dei comandi in modalità interattiva immettere n 10.0.1.10
. Questo comando produce un output simile all'estratto seguente:
Default Node: 10.0.1.10
>
Per inviare una query DNS, immettere q dns
al prompt dei comandi in modalità interattiva. Questo comando produce un output simile all'estratto seguente:
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
>
Personalizzazione dell'associazione tra porte e servizi
Per impostazione predefinita, ogni computer basato su Windows ha un file di servizi che si trova nella cartella %SYSTEMROOT%\System32\Drivers\Etc . PortQry usa questo file per risolvere i numeri di porta nei nomi di servizio corrispondenti. PortQry usa queste informazioni per selezionare il formato per le relative query. È possibile modificare questo file per indirizzare PortQry all'invio di messaggi formattati a una porta alternativa. Ad esempio, la voce seguente viene visualizzata in un tipico file di Servizi:
ldap 389/tcp #Lightweight Directory Access Protocol
È possibile modificare questa voce di porta o aggiungere una voce aggiuntiva. Per forzare PortQry a inviare query LDAP alla porta 1025, modificare la voce nel modo seguente:
ldap 1025/tcp #Lightweight Directory Access Protocol
Esempi
Gli esempi seguenti illustrano come usare PortQry e i relativi parametri:
Modalità locale
- Eseguire query sul computer locale
- Eseguire query sul computer locale quando l'accesso può essere limitato
- Monitorare un ID processo usando un intervallo specifico
- Eseguire query su un collegamento lento
Modalità da riga di comando
- Specificare una destinazione e un protocollo
- Specificare una o più porte di destinazione
- Specificare un file di log per l'output di PortQry
- Usare un file batch per eseguire PortQry in modalità non interattiva
- Porta di query 135 (servizio RPC)
Eseguire query sul computer locale
L'output di portqry -local
è simile all'estratto seguente:
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
Eseguire query sul computer locale quando l'accesso potrebbe essere limitato
Quando si esegue PortQry in modalità locale, come nell'esempio precedente, potrebbe essere visualizzato un output simile all'estratto seguente. Tale output indica che il contesto di sicurezza usato da PortQry non dispone di autorizzazioni sufficienti per accedere a tutte le informazioni richieste.
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
======================================================
Monitorare un ID processo usando un intervallo specifico
Il comando seguente monitora un processo specifico:
portqry.exe -wpid 1276 -wt 2 -v -l pid.txt
Di conseguenza, PortQry esegue le azioni seguenti:
- Identifica il processo con il PID 1276 e controlla lo stato delle porte che usa ogni due secondi fino a quando non si preme ESC.
- Crea il file di log pid.txt. Se esiste già un file con tale nome, PortQry richiede di confermare che si vuole sovrascrivere il file.
- Registra qualsiasi output nel file di log, incluso l'output dettagliato aggiuntivo.
Il contenuto del file di log è simile all'estratto seguente:
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)
Specificare una destinazione e un protocollo
Nota
Ognuno degli esempi in questa sezione esegue una query sulla porta 80, la porta predefinita.
Il comando seguente esegue una query sulla porta TCP predefinita in un computer specificato usando il nome di dominio completo (FQDN):
portqry -n myDomainController.example.com -p tcp
Il comando seguente esegue una query sulla porta UDP predefinita in un computer specificato usando il nome del computer:
portqry -n myServer -p udp
Il comando seguente esegue una query sulle porte TCP e UDP predefinite di un computer specificato usando il relativo indirizzo IP:
portqry -n 192.168.1.20 -p both
Il comando seguente esegue la stessa query del comando precedente, ma ignora il passaggio di risoluzione dei nomi:
portqry -n 192.168.1.20 -p both -nr
Il comando seguente esegue una query sulla porta TCP predefinita di un server Web:
portqry -n www.widgets.microsoft.com
Specificare una o più porte di destinazione
Il comando seguente testa il servizio SMTP di un server di posta eseguendo una query sulla porta TCP 25:
portqry -n mail.example.com -p tcp -e 25
Il comando seguente esegue una query sulla porta TCP 60897 e sulla porta UDP 60897 di un computer con indirizzo IP 192.168.1.20:
portqry -n 192.168.1.20 -p both -e 60897
Il comando seguente esegue una query sulle porte UDP 139, 1025 e 135 (in tale sequenza) nel computer "myServer":
portqry -n myServer -p udp -o 139,1025,135
Il comando seguente esegue una query sull'intervallo di porte dalla porta 135 alla porta 139 (inclusi) nel computer "myServer":
portqry -n myServer -p udp -r 135:139
Specificare un file di log per l'output di PortQry
Il comando seguente esegue una query sulla porta TCP 143 su mail.widgets.microsoft.com e registra l'output nel file portqry.txt . Se il file esiste già, PortQry lo sovrascrive senza richiedere conferma.
portqry -n mail.widgets.microsoft.com -p tcp -e 143 -l portqry.txt -y
Eseguire query su un collegamento lento
Il comando seguente esegue una query sulle porte TCP 143, 110 e 25 su mail.widgets.microsoft.com. Per ogni porta di destinazione, PortQry attende due volte più tempo del solito per una risposta.
portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25 -sl
Specificare una porta di origine
Il comando seguente usa la porta UDP 3001 (se disponibile) nel computer locale per inviare una query alla porta UDP 53 il 192.168.1.20. Se un servizio è in ascolto su tale porta e risponde alla query, invia la risposta alla porta UDP 3001 nel computer locale.
portqry -p udp -e 53 -sp 3001 -n 192.168.1.20
Il comando seguente usa la porta UDP 3000 (se disponibile) nel computer locale per inviare una query alla porta UDP 389 in myDomainController.contoso.com. Per impostazione predefinita, il servizio LDAP deve essere in ascolto su questa porta. Se il servizio LDAP risponde alla prima query, PortQry usa una porta di origine temporanea per inviare la query formattata e ricevere eventuali risposte.
portqry -n myDomainController.contoso.com -e 389 -sp 3000
Usare un file batch per eseguire PortQry in modalità non interattiva
Il testo seguente è un esempio di file batch che esegue PortQry in modalità non interattiva:
:Top
portqry -n 169.254.18.22 -e 443 -nr -l pqlog.txt -q
:end
Quando questo file batch viene eseguito, PortQry produce un file di log denominato pqlog.txt. Il contenuto di questo file è simile al seguente:
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 =========
Porta di query 135 (servizio RPC)
Il comando seguente esegue una query sulla porta UDP 135 nel computer myServer. Per impostazione predefinita, il servizio RPC deve essere in ascolto su questa porta.
portqry -n myServer -p udp -e 135
Di conseguenza, PortQry esegue le azioni seguenti:
- PortQry usa il file Services nella cartella %SYSTEMROOT%\System32\Drivers\Etc per risolvere la porta UDP 135 in un servizio. Usando la configurazione predefinita, PortQry risolve la porta nel servizio di mapper degli endpoint RPC (Epmap).
- PortQry invia un datagramma utente non formattato alla porta UDP 135 nel computer di destinazione.
PortQry non riceve una risposta dalla porta di destinazione. Questo perché il servizio mapper degli endpoint RPC risponde solo a una query RPC formattata correttamente. PortQry segnala che la porta è IN ASCOLTO o FILTRATA. - PortQry crea una query RPC formattata correttamente che richiede tutti gli endpoint attualmente registrati con il mapper degli endpoint RPC. PortQry invia questa query alla porta UDP 135 nel computer di destinazione.
- A seconda della risposta, PortQry esegue una delle azioni seguenti:
- Se PortQry riceve una risposta a questa query, PortQry restituisce l'intera risposta all'utente e segnala che la porta è LISTENING.
- Se PortQry non riceve una risposta a questa query, segnala che la porta è 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
Da questo output è possibile determinare non solo se il servizio è in ascolto sulla porta, ma anche quali servizi o programmi sono registrati con il database di mapper degli endpoint RPC nel computer di destinazione. L'output include l'identificatore univoco universale (UUID) per ogni programma, il nome annotato (se presente), il protocollo usato da ogni programma, l'indirizzo di rete a cui è associato il programma e l'endpoint del programma tra parentesi quadre.
Nota
Quando si specifica l'opzione -r
nel comando PortQry per analizzare un intervallo di porte, PortQry non esegue query sul mapper dell'endpoint RPC per ottenere informazioni sull'endpoint. Questo parametro accelera l'analisi di una gamma di porte.