Compartilhar via


Usando a ferramenta de linha de comando PortQry

O PortQry é uma ferramenta de linha de comando que você pode usar para ajudar a solucionar problemas de conectividade TCP/IP. Essa ferramenta relata o status das portas TCP e UDP (User Datagram Protocol) de destino em um computador local ou em um computador remoto. Ele também fornece informações detalhadas sobre o uso da porta do computador local.

Como o PortQry se destina a ser usado como uma ferramenta de solução de problemas, os usuários que o usam para solucionar um problema específico devem ter conhecimento suficiente de seu ambiente de computação.

Você pode usar o PortQry em um prompt de comando em um dos vários modos:

  • Modo de linha de comando. Você pode usar esse modo para solucionar problemas de computadores locais ou remotos.
  • Modo local. Nesse modo, você pode usar vários parâmetros destinados à solução de problemas do computador local.
  • Modo interativo. Semelhante ao modo de linha de comando, mas você pode usar comandos e parâmetros de atalho.

Observação

Você pode baixar uma ferramenta separada, chamada PortQryUI, que inclui uma interface gráfica do usuário para o PortQry. O PortQryUI possui vários recursos que podem facilitar o uso do PortQry. Para obter a ferramenta PortQryUI, consulte PortQryUI - Interface do usuário para o scanner de porta de linha de comando PortQry.

Aplica-se a: versões com suporte do Windows

Testes e resultados do PortQry

As ferramentas típicas de verificação de porta relatam que a porta tem um status LISTENING se a porta UDP de destino não retornar uma mensagem "Destino inalcançável" do Internet Control Message Protocol (ICMP). Esse resultado pode não ser preciso por um ou ambos os seguintes motivos:

  • Se não houver resposta a um datagrama direcionado, a porta de destino poderá ser FILTERED.
  • A maioria dos serviços não responde a um datagrama de usuário não formatado que é enviado a eles. Normalmente, o serviço ou programa que escuta uma porta responde apenas a uma mensagem que usa uma camada de sessão específica ou um protocolo de camada de aplicativo.

Para produzir resultados mais precisos e úteis, o PortQry usa um processo de teste em duas etapas.

Etapa 1: Teste de status da porta

PortQry relata o status de uma porta como um dos três valores:

  • LISTENING: essa resposta indica que um processo está escutando na porta de destino. PortQry recebeu uma resposta da porta de destino.
  • NÃO ESCUTANDO: Essa resposta indica que nenhum processo está escutando na porta de destino. O PortQry recebeu uma das seguintes mensagens ICMP da porta de destino:

    Destino inacessível Porta inacessível

  • FILTERED: essa resposta indica que a porta de destino está sendo filtrada. O PortQry não recebeu uma resposta da porta de destino. Um processo pode ou não estar escutando na porta de destino. Por padrão, o PortQry consulta uma porta TCP três vezes antes de retornar uma resposta de FILTERED e consulta uma porta UDP uma vez antes de retornar uma resposta de FILTERED.

Etapa 2: Testes especializados

Se não houver resposta de uma porta UDP de destino, o PortQry relatará que a porta está LISTENING ou FILTERED. No entanto, quando você soluciona um problema de conectividade, é útil saber se uma porta está sendo filtrada ou está escutando. Isso é especialmente verdadeiro em um ambiente que contém um ou mais firewalls.

O PortQry refina seu relatório de status de porta usando um segundo conjunto de testes que podem interagir com o serviço ou programa que está escutando na porta de destino. Para este teste, o PortQry faz o seguinte:

  • O PortQry usa o arquivo Services localizado na pasta %SYSTEMROOT%\System32\Drivers\Etc para determinar qual serviço escuta em cada porta.
  • O PortQry cria uma mensagem que é construída especificamente para o serviço ou programa esperado e, em seguida, envia essa mensagem para a porta de destino. Dependendo do serviço ou programa, a mensagem pode solicitar informações úteis para a solução de problemas, como as seguintes:
    • Informações de domínio e controlador de domínio (consultas LDAP)
    • Serviços de cliente e portas registrados (consultas RPC)
    • Se o acesso anônimo é permitido (consultas FTP)
    • Endereço MAC (consultas NetBIOS)
    • Mspclnt.ini informações de arquivo (consultas do ISA Server)
  • O PortQry analisa, formata e retorna a resposta do serviço ou programa como parte de seu relatório de teste.

Testes adicionais para solucionar problemas do computador local

Quando você precisar solucionar problemas de portas no computador em que instalou o PortQry, use o PortQry no modo local. Ao usar os parâmetros de modo local na linha de comando, você pode executar tarefas como as seguintes no computador local:

  • Enumerar mapeamentos de porta
  • Monitorar uma porta específica para alterações
  • Monitorar um processo específico para alterações

Para obter mais informações, consulte Usando o PortQry no modo local (linha de comando).

Usando o PortQry no modo de linha de comando

Você pode executar o PortQry em um prompt de comando da mesma maneira que qualquer outra ferramenta de linha de comando. A maioria dos exemplos neste artigo mostra comandos PortQry de linha de comando. No modo de linha de comando, você pode adicionar várias opções à cadeia de caracteres de comando para especificar qual consulta executar e como executá-la. Para executar o PortQry no modo de linha de comando, execute um comando que use a seguinte sintaxe:

portqry.exe -n <name_to_query> [options]

Observação

Neste comando, <name_to_query> é o endereço IP, o nome do computador ou o domínio a ser consultado. Este parâmetro é obrigatório. [options] são os parâmetros opcionais.

Parâmetros PortQry para o modo de linha de comando

Os seguintes parâmetros estão disponíveis no modo de linha de comando regular:

Parâmetro Descrição Comentários
-n <name> Consultar o destino específico
  • Esse é o único parâmetro necessário para o modo de linha de comando.
  • O <valor name> representa o nome ou endereço IP do computador a ser consultado. Esse valor não pode incluir espaços.
-p <protocol> Use o protocolo especificado
  • O <valor do protocolo> representa o tipo de porta a ser consultada (os valores possíveis são tcp, udp, ou both).
  • O valor padrão é tcp.
-e <port_number> Especifique a porta de destino (também conhecida como "ponto de extremidade")
  • O <valor port_number> representa a porta a ser consultada no computador de destino.
  • O valor padrão é 80.
-o <port_number>,<port_number> Especificar várias portas de destino em uma sequência Os <valores port_number.port_number><> representam uma lista delimitada por vírgulas de números de porta a serem consultados em uma sequência. Não use espaços ao redor das vírgulas.
-r <port_number>:<port_number> Especificar um intervalo de portas de destino
  • Os <valores port_number>:<port_number> representam os números das portas inicial e final, separados por dois-pontos. Não use espaços ao redor dos dois pontos.
  • O número da porta inicial deve ser menor que o número da porta final.
-l <filename.txt> Gerar um arquivo de log
  • O <valor filename.txt> representa o nome e a extensão do arquivo de log. Esse valor não pode incluir espaços.
  • Quando o comando é executado, o PortQry cria o arquivo de log no diretório em que ele está instalado.
  • Se o arquivo já existir, o PortQry solicitará que você confirme que deseja substituí-lo (a menos que você também use o -y parâmetro).
-y Substituir o arquivo de log anterior
  • Quando você usa -y junto com -lo , o PortQry substitui o arquivo de log existente sem solicitar que você confirme a ação.
  • Se a cadeia de caracteres de comando PortQry não incluir -l, o PortQry ignorará -y.
-sl Aguarde mais tempo pela resposta (também conhecido como atraso de link lento) Use esse parâmetro para dobrar o tempo que o PortQry aguarda uma resposta de uma porta UDP antes que o PortQry determine que a porta NÃO está ESCUTANDO ou que está FILTRADA. Quando você consulta links de rede lentos ou não confiáveis, o tempo de espera normal pode ser muito curto para receber uma resposta.
-nr Ignorar pesquisa reversa de nome
  • Por padrão, quando você usa -n para especificar um endereço IP para o computador de destino, o PortQry faz uma pesquisa reversa de nome para resolver o endereço IP para um nome. Esse processo pode ser demorado, especialmente se o PortQry não conseguir resolver o endereço IP. Use -nr para ignorar esta etapa da consulta.
  • Se você usar -n para especificar um computador ou nome de domínio, o PortQry ignorará -nro .
-sp <port_number> Consulta de uma porta de origem específica
  • O <valor port_number> representa a porta que o PortQry usa para enviar a consulta.
  • O PortQry não pode usar uma porta que outro processo já está usando. Se a porta especificada já estiver em uso, o PortQry retornará a seguinte mensagem de erro:
    Não é possível usar a porta de origem especificada.
    A porta já está em uso.
    Especifique uma porta que não esteja em uso e execute o comando novamente.
  • Nos seguintes casos, o PortQry usa a porta especificada para o primeiro teste da consulta, mas não para o segundo teste:
    • RPC (portas TCP e UDP 135)
    • LDAP (porta UDP 389)
    • Consulta de status do adaptador NetBIOS (porta UDP 137)
    Nesses casos, o PortQry usa uma porta efêmera para o segundo teste. Quando isso ocorre, o PortQry registra "Usando a porta de origem efêmera" em sua saída.
  • Se o computador em que o PortQry está instalado também executar o agente de diretiva IPSec, a porta UDP 500 pode não estar disponível para uso como porta de origem. Para desativar temporariamente o agente de diretiva IPSec para que você possa usar a porta 500, execute net stop PolicyAgento . Quando terminar o teste, execute net start PolicyAgent.
-cn !<community_name>! Consultar uma comunidade SNMP
  • O <valor community_name> representa o nome da comunidade SNMP a ser consultada. Você deve delimitar esse valor usando pontos de exclamação, conforme mostrado na coluna à esquerda.
  • Se o serviço SNMP não estiver escutando na porta de destino, o PortQry ignorará -cno .
  • O nome padrão da comunidade é public.
-q Execute o PortQry no modo silencioso
  • Quando você usa -qo , o PortQry suprime toda a saída da tela, exceto as mensagens de erro.
  • Para ver a saída que não seja mensagens de erro, use -q junto com -l. O PortQry registra a saída normal no arquivo de log.
  • Se já existir um arquivo de log e você usar -q junto com -lo , o PortQry substituirá o arquivo de log existente sem avisar.
  • Você não pode usar -q junto com -o, -r, ou -p both.
  • Esse parâmetro é especialmente útil quando você usa um arquivo em lotes para executar uma cadeia de caracteres de comando PortQry.

Comentários para parâmetros no modo de linha de comando

  • Qualquer valor de número de porta deve ser um número de porta válido entre 1 e 65535, inclusive.
  • Os -eparâmetros , -o, e -r são mutuamente exclusivos. Um único comando PortQry pode usar apenas um desses parâmetros.
  • Uma consulta à porta UDP 389 (LDAP) pode não funcionar em controladores de domínio que executam o Windows Server 2008. Para verificar a disponibilidade do serviço que está sendo executado na porta UDP 389, você pode usar Nltest em vez de PortQry. Para obter mais informações, consulte Nltest.
  • Quando você consulta a porta 135 (RPC) usando -e ou -o, o PortQry retorna todos os pontos de extremidade que estão atualmente registrados com o mapeador de ponto de extremidade RPC.

    Importante

    Quando você usa o , o -rPortQry não consulta o mapeador de ponto de extremidade RPC.

  • Quando você consulta a porta 53 (DNS), o PortQry envia uma consulta DNS usando portqry.microsoft.com TCP e UDP. Se o servidor retornar uma resposta, o PortQry determinará que a porta está LISTENING.

    Observação

    Não é importante se o servidor DNS retorna uma resposta positiva ou negativa. Qualquer resposta indica que a porta está escutando.

Usando o PortQry no modo local (linha de comando)

Em vez de consultar uma porta em um computador de destino remoto, você pode usar o PortQry no modo local para obter informações detalhadas sobre as portas TCP e UDP no computador local em que o PortQry é executado. Use a seguinte sintaxe para executar o PortQry no modo local:

portqry -local | -wpid <pid> | -wport <port_number> [-wt <seconds>] [-l <filename.txt>] [-v]

Os espaços reservados nessa sintaxe são explicados na tabela a seguir de parâmetros de modo local:

Parâmetro Descrição Comentários
-local Recuperar informações locais
  • Enumere todos os mapeamentos de porta TCP e UDP que estão ativos no momento no computador local. Essa saída é semelhante à saída gerada pelo netstat.exe -an comando.
  • Em computadores que dão suporte a mapeamentos de PID para porta, a saída inclui o PID do processo que está usando a porta no computador local. Se você usar a opção detalhada (-v), a saída também incluirá os nomes dos serviços aos quais o PID pertence e listará todos os módulos que o processo carregou. Você pode usar essas informações para determinar quais portas estão associadas a um determinado programa ou serviço em execução no computador.
-wport <port_number> Porta de observação
  • Monitore uma porta específica para alterações. O <valor port_number> representa a porta a ser monitorada.
  • No caso de uma porta TCP, o PortQry relata alterações entre os seguintes estados:
    • CLOSE_WAIT
    • FECHADO
    • ESTABELECIDO
    • FIN_WAIT_1
    • LAST_ACK
    • ESCUTAR
    • SYN_RECEIVED
    • SYN_SEND
    • TIMED_WAIT
  • Para portas UDP, o PortQry relata se um programa está vinculado à porta, mas não informa se a porta UDP recebe datagramas.
  • Para interromper o monitoramento, pressione Esc.
-wpid <pid> ID do processo de observação (PID)
  • Monitore um PID específico para alterações no número e no estado das conexões. O <valor process_number> representa o PID a ser monitorado.
  • Para interromper o monitoramento, pressione Esc.
-wt <seconds> Verifique em um intervalo específico
  • Verifique o status do destino identificado por -wport ou no intervalo representado pelo valor /<seconds>."-wpid
  • O <valor de segundos> deve estar entre um e 1.200 (inclusive).
  • O valor padrão é 60.
  • Você não pode usar -wt sozinho ou em conjunto com -local.
-l <filename.txt> Gerar um arquivo de log
  • O <valor filename.txt> representa o nome e a extensão do arquivo de log. Esse valor não pode incluir espaços.
  • Quando o comando é executado, o PortQry cria o arquivo de log no diretório em que ele está instalado.
  • Se o arquivo já existir, o PortQry solicitará que você confirme que deseja substituí-lo (a menos que você também use o -y parâmetro).
-y Substituir o arquivo de log anterior
  • Quando você usa -y junto com -lo , o PortQry substitui o arquivo de log existente sem solicitar que você confirme a ação.
  • Se a cadeia de caracteres de comando PortQry não incluir -l, o PortQry ignorará -y.
-v Produza uma saída detalhada O PortQry fornece detalhes adicionais para a saída da tela (e para o arquivo de log, se usado).

Comentários para parâmetros no modo local

  • Os -localparâmetros , -wport, e -wpid são mutuamente exclusivos. Você pode usar apenas um desses parâmetros em uma única cadeia de caracteres de comando PortQry.
  • O -q parâmetro não funciona no modo local.
  • Em alguns casos, o PortQry pode relatar que o processo ocioso do sistema (PID 0) está usando algumas portas TCP. Esse comportamento pode ocorrer se um programa local se conectar a uma porta TCP e depois parar. Mesmo que o programa não esteja mais em execução, a conexão TCP do programa com a porta pode ser deixada em um estado de "espera cronometrada" por vários minutos. Nesse caso, o PortQry pode detectar que a porta está em uso, mas não pode identificar o programa que está usando a porta porque o PID foi lançado. Por padrão, a porta permanece em um estado de "Espera Temporizada" pelo dobro do tempo de vida máximo do segmento.
  • Para cada processo, o PortQry relata o máximo de informações que pode acessar. O acesso a algumas informações é restrito. Por exemplo, o acesso às informações do módulo para os processos Idle e CSRSS é proibido porque suas restrições de acesso impedem que o código no nível do usuário os abra. Para obter melhores resultados, execute o comando de modo local no contexto do administrador local ou de uma conta que tenha credenciais semelhantes.
  • Quando você usa um ou -wport -wpid junto com -l, use a tecla Esc para interromper e sair do PortQry em vez de CTRL+C. Você deve pressionar Esc para certificar-se de que o PortQry fecha corretamente o arquivo de log e sai. Se você pressionar CTRL+C em vez de Esc para interromper o PortQry, o arquivo de log poderá ficar vazio ou corrompido.

Usando o PortQry no modo interativo

Ao solucionar problemas de conectividade entre computadores, talvez seja necessário digitar muitos comandos repetitivos. Tais ações podem ser feitas mais facilmente usando o PortQry no modo interativo.

O modo interativo é semelhante à funcionalidade interativa no utilitário DNS Nslookup ou no utilitário WINS Nblookup.

Para iniciar o PortQry no modo interativo, use o -i parâmetro. Por exemplo, execute o seguinte comando:

portqry -i

A saída desse comando é semelhante ao seguinte trecho:

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)
>

Comandos do modo interativo

Você pode usar os seguintes comandos no modo interativo:

Comando Descrição Comentários
node <name> ou n <name> Definir o destino a ser consultado
  • O <valor name> representa o nome ou endereço IP do computador a ser consultado. Esse valor não pode incluir espaços.
  • O valor padrão é 127.0.0.1 (o computador local).
query ou q Enviar consulta
  • Consulta o destino atual, usando as configurações atuais.
  • O protocolo padrão é tcp.
  • A porta de destino padrão é a porta TCP 80.
  • A porta de origem padrão é a porta 0 (uma porta efêmera).
  • Você pode usar um dos vários atalhos com o query comando para executar qualquer uma das várias consultas comuns. Para obter uma lista dos atalhos disponíveis, consulte Atalhos de consulta do modo interativo.
set <option>=<value> Definir o valor de uma opção de consulta
  • Neste comando, <option> representa o nome da opção a ser definida e< value> representa o novo valor da opção.
  • Para ver uma lista dos valores atuais das opções disponíveis, insira set all.
  • Para obter uma lista das opções disponíveis, consulte Opções do modo interativo.
exit Sair do modo interativo

Atalhos de consulta do modo interativo

Você pode usar os atalhos a seguir junto com o query comando para executar consultas comuns sem precisar definir opções de porta e protocolo. Use a seguinte sintaxe:

q <shortcut>

Observação

Neste comando, <o atalho> representa um dos atalhos da tabela a seguir. Se você omitir o atalho, o comando consultará a q porta TCP 80.

Atalho Portas a serem consultadas
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 Portas 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

Por exemplo, entrar q dns no modo interativo é equivalente a executar portqry -n 127.0.0.1 -p both -e 135 no modo de linha de comando regular.

Opções de modo interativo

Você pode usar o set comando para definir opções como a porta de origem ou o atraso lento do link. Use a seguinte sintaxe:

set <option>=<value>

Observação

Neste comando, <option> representa o nome da opção a ser definida e< value> representa o novo valor da opção.

Opção Descrição Comentários
set all Exibir os valores atuais das opções
set port=<port_number>
set e=<port_number>
Especifique a porta de destino O <valor port_number> representa a porta a ser consultada no computador de destino.
set sport=<port_number>
set sp=<port_number>
Especifique a porta de origem
  • O <valor port_number> representa a porta que o PortQry usa para enviar a consulta.
  • O PortQry não pode usar uma porta que outro processo já está usando.
  • Se você especificar um número de porta zero, o PortQry usará uma porta efêmera.
set protocol=<protocol>
set p=<protocol>
Especifique o protocolo a ser usado O <valor do protocolo> representa o tipo de porta a ser consultada (tcp, udp, ou both).
set cn=<community_name> Especificar uma comunidade SNMP
  • O <valor community_name> representa o nome da comunidade SNMP a ser consultada.
  • Se o serviço SNMP não estiver escutando na porta de destino, o PortQry ignorará -cno .
  • O nome padrão da comunidade é public.
set nr Ativar ou desativar a pesquisa reversa de nome
  • Por padrão, se você tiver definido um endereço IP como destino da consulta, o PortQry resolverá o endereço IP para um nome. Se você alterar essa opção, o PortQry pulará a etapa de resolução de nomes.
  • Para ativar a pesquisa reversa de nome novamente, execute set nr uma segunda vez.
set sl Ativar ou desativar o atraso de link lento
  • Se você alterar essa opção, o PortQry dobrará o tempo que aguarda uma resposta de uma porta UDP antes que o PortQry determine que a porta NÃO está ESCUTANDO ou que está FILTRADA. Quando você consulta links de rede lentos ou não confiáveis, o tempo de espera normal pode ser muito curto para receber uma resposta.
  • Para desativar o atraso lento do link novamente, execute set sl uma segunda vez.

Suponha que você queira consultar um computador que tenha o endereço IP 10.0.1.10. No prompt de comando do modo interativo, digite n 10.0.1.10. Esse comando produz uma saída semelhante ao seguinte trecho:

Default Node: 10.0.1.10

>

Para enviar uma consulta DNS, digite q dns no prompt de comando do modo interativo. Esse comando produz uma saída semelhante ao seguinte trecho:

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

>

Personalizando a associação entre portas e serviços

Por padrão, todo computador baseado no Windows tem um arquivo de Serviços localizado na pasta %SYSTEMROOT%\System32\Drivers\Etc . O PortQry usa esse arquivo para resolver números de porta para seus nomes de serviço correspondentes. O PortQry usa essas informações para selecionar o formato de suas consultas. Você pode editar esse arquivo para direcionar o PortQry para enviar mensagens formatadas para uma porta alternativa. Por exemplo, a seguinte entrada aparece em um arquivo típico de Serviços:

ldap              389/tcp                           #Lightweight Directory Access Protocol

Você pode editar essa entrada de porta ou adicionar uma entrada adicional. Para forçar o PortQry a enviar consultas LDAP para a porta 1025, modifique a entrada da seguinte maneira:

ldap              1025/tcp                           #Lightweight Directory Access Protocol

Exemplos

Os exemplos a seguir demonstram como usar o PortQry e seus parâmetros:

Modo local

Modo de linha de comando

Consultar o computador local

A saída de portqry -local se assemelha ao seguinte trecho:

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  

Consultar o computador local quando o acesso pode ser restrito

Ao executar o PortQry no modo local, como no exemplo anterior, você pode ver uma saída semelhante ao trecho a seguir. Essa saída indica que o contexto de segurança que o PortQry está usando não tem permissões suficientes para acessar todas as informações solicitadas.

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

======================================================

Monitorar uma ID de processo usando um intervalo específico

O comando a seguir monitora um processo específico:

portqry.exe -wpid 1276 -wt 2 -v -l pid.txt

Como resultado, o PortQry executa as seguintes ações:

  • Identifica o processo que tem o PID 1276 e verifica o status das portas que ele está usando a cada dois segundos até que você pressione Esc.
  • Cria o arquivo de log pid.txt. Se um arquivo com esse nome já existir, o PortQry solicitará que você confirme que deseja substituir o arquivo.
  • Registra qualquer saída no arquivo de log, incluindo a saída extra detalhada.

O conteúdo do arquivo de log é semelhante ao seguinte trecho:

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)

Especificar um destino e um protocolo

Observação

Cada um dos exemplos nesta seção consulta a porta 80, a porta padrão.

O comando a seguir consulta a porta TCP padrão em um computador especificado usando seu FQDN (nome de domínio totalmente qualificado):

portqry -n myDomainController.example.com -p tcp

O comando a seguir consulta a porta UDP padrão em um computador especificado usando o nome do computador:

portqry -n myServer -p udp

O comando a seguir consulta as portas TCP e UDP padrão de um computador especificado usando seu endereço IP:

portqry -n 192.168.1.20 -p both

O comando a seguir executa a mesma consulta que o comando anterior, mas ignora a etapa de resolução de nomes:

portqry -n 192.168.1.20 -p both -nr

O comando a seguir consulta a porta TCP padrão de um servidor Web:

portqry -n www.widgets.microsoft.com

Especificar uma ou mais portas de destino

O comando a seguir testa o serviço SMTP de um servidor de e-mail consultando a porta TCP 25:

portqry -n mail.example.com -p tcp -e 25

O comando a seguir consulta a porta TCP 60897 e a porta UDP 60897 de um computador que tem o endereço IP 192.168.1.20:

portqry -n 192.168.1.20 -p both -e 60897

O comando a seguir consulta as portas UDP 139, 1025 e 135 (nessa sequência) no computador "myServer":

portqry -n myServer -p udp -o 139,1025,135

O comando a seguir consulta o intervalo de portas da porta 135 à porta 139 (inclusive) no computador "myServer":

portqry -n myServer -p udp -r 135:139

Especificar um arquivo de log para a saída do PortQry

O comando a seguir consulta a porta TCP 143 em mail.widgets.microsoft.com e registra a saída no arquivo portqry.txt . Se o arquivo já existir, o PortQry o substituirá sem solicitar confirmação.

portqry -n mail.widgets.microsoft.com -p tcp -e 143 -l portqry.txt -y

Consulta por um link lento

O comando a seguir consulta as portas TCP 143, 110 e 25 em mail.widgets.microsoft.com. Para cada porta de destino, o PortQry espera o dobro do tempo normal por uma resposta.

  portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25 -sl

Especificar uma porta de origem

O comando a seguir usa a porta UDP 3001 (se estiver disponível) no computador local para enviar uma consulta à porta UDP 53 em 192.168.1.20. Se um serviço estiver escutando nessa porta e responder à consulta, ele enviará a resposta para a porta UDP 3001 no computador local.

portqry -p udp -e 53 -sp 3001 -n 192.168.1.20

O comando a seguir usa a porta UDP 3000 (se estiver disponível) no computador local para enviar uma consulta à porta UDP 389 no myDomainController.contoso.com. Por padrão, o serviço LDAP deve estar escutando nessa porta. Se o serviço LDAP responder à primeira consulta, o PortQry usará uma porta de origem efêmera para enviar a consulta formatada e receber as respostas.

portqry -n myDomainController.contoso.com -e 389 -sp 3000

Use um arquivo em lote para executar o PortQry no modo silencioso

O texto a seguir é um exemplo de um arquivo em lote que executa o PortQry no modo silencioso:

:Top
portqry -n 169.254.18.22 -e 443 -nr -l pqlog.txt -q
:end

Quando esse arquivo em lotes é executado, o PortQry produz um arquivo de log chamado pqlog.txt. O conteúdo desse arquivo é semelhante ao seguinte:

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 de consulta 135 (serviço RPC)

O comando a seguir consulta a porta UDP 135 no computador myServer. Por padrão, o serviço RPC deve estar escutando nessa porta.

portqry -n myServer -p udp -e 135

Como resultado, o PortQry executa as seguintes ações:

  • O PortQry usa o arquivo Services na pasta %SYSTEMROOT%\System32\Drivers\Etc para resolver a porta UDP 135 para um serviço. Usando a configuração padrão, o PortQry resolve a porta para o serviço de mapeador de ponto de extremidade RPC (Epmap).
  • O PortQry envia um datagrama de usuário não formatado para a porta UDP 135 no computador de destino.
    PortQry não recebe uma resposta da porta de destino. Isso ocorre porque o serviço mapeador de ponto de extremidade RPC responde apenas a uma consulta RPC formatada corretamente. PortQry relata que a porta está LISTENING ou FILTERED.
  • O PortQry cria uma consulta RPC formatada corretamente que solicita todos os pontos de extremidade que estão atualmente registrados com o mapeador de ponto de extremidade RPC. O PortQry envia essa consulta para a porta UDP 135 no computador de destino.
  • Dependendo da resposta, o PortQry executa uma das seguintes ações:
    • Se o PortQry receber uma resposta a essa consulta, o PortQry retornará toda a resposta ao usuário e relatará que a porta está LISTENING.
    • Se o PortQry não receber uma resposta a essa consulta, ele relatará que a 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

A partir dessa saída, você pode determinar não apenas se o serviço está escutando na porta, mas também quais serviços ou programas estão registrados no banco de dados do mapeador de ponto de extremidade RPC no computador de destino. A saída inclui o identificador exclusivo universal (UUID) para cada programa, o nome anotado (se houver), o protocolo que cada programa usa, o endereço de rede ao qual o programa está vinculado e o ponto final do programa entre colchetes.

Observação

Quando você especifica a -r opção no comando PortQry para verificar um intervalo de portas, o PortQry não consulta o mapeador de ponto de extremidade RPC para obter informações de ponto de extremidade. Este parâmetro acelera a varredura de uma variedade de portas.