A ferramenta PortQry 2.0

RESUMO

Este artigo discute os novos recursos e funcionalidades disponíveis na ferramenta de varredura de portas em linha de comando PortQry versão 2.0.

A ferramenta PortQry versão 1.22 é um utilitário de conectividade TCP/IP que é incluída nas Ferramentas de Suporte do Microsoft Windows Server 2003. A Microsoft lançou uma nova versão do PortQryV2.exe. Esta nova versão inclui todos os recursos e funcionalidades de versões anteriores e tem novos recursos e funcionalidades. O PortQryV2.exe está disponível a partir do Centro de Downloads do Microsoft. Para obter o PortQryV2.exe, visite o seguinte site da Microsoft:

http://www.microsoft.com/downloads/details.aspx?familyid=89811747-C74B-4638-A2D5-AC828BDC6983&displaylang=en

  Topo

Visão Geral

O PortQry é uma ferramenta de linha de comando que pode lhe ajudar a resolver problemas de conectividade TCP/IP. Este utilitário reporta o status de portas TCP e UDP (User Datagram Protocol) em um computador local ou um computador remoto. O PortQry versão 2.0 também fornece informações detalhadas sobre o uso de portas locais no computador. O PortQry versão 2.0 roda nos seguintes sistemas operacionais:

  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Microsoft Windows 2000

  Topo

Relatório de status de portas

O PortQry relata o status da porta das seguintes formas:

  • LISTENING Esta resposta indica que o processo está escutando na porta em questão. O PortQry recebeu uma resposta da porta alvo.

  • NOT LISTENING Esta resposta indica que nenhum processo está escutando na porta alvo. O PortQry recebeu uma das seguintes mensagens ICMP (Internet Control Message Protocol) da porta alvo:  

    Destination unreachable
    Port unreachable

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

  Topo

Recursos do PortQry 2.0

Dependendo do processo que escuta em uma porta UDP, algumas vezes é difícil determinar o status da porta UDP. Quando uma mensagem não formatada de comprimento zero ou de comprimento fixo é enviada para uma porta UDP, a porta pode ou não responder. Se a porta responde, seu status é LISTENING. Se você recebe uma mensagem "Destino inalcançável" de uma porta UDP, ou se um reset TCP de resposta é retornado a partir de uma porta TCP, o status é NOT LISTENING. Ferramentas típicas de varredura de portas relatam uma porta como LISTENING se a porta alvo UDP não retorna uma mensagem ICPM "Destino inalcançável". Este resultado pode não ser preciso devido a uma ou ambas as razões abaixo:

  • Quando não há resposta para um datagrama direcionado, a porta pode parecer como FILTERED.
  • Muitos serviços não respondem para um datagrama não formatado que é enviado a ele.

Tipicamente, apenas uma mensagem corretamente formatada que usa a camada de sessão ou a camada de aplicação do protocolo que está escutando permite que o programa entenda a resposta a partir da porta alvo.

Quando você está solucionando problemas de conectividade, especialmente em um ambiente que contém um ou mais firewalls, é útil saber se a porta está sendo filtrada ou se está escutando. O PortQry inclui alguns recursos especiais para ajudar a determinar isso em portas selecionadas. Se não houver respostas a partir de uma porta alvo UDP, o PortQry relata que a porta está em LISTENING ou FILTERED. O PortQry então envia uma mensagem corretamente formatada que o serviço ou aplicativo escutando entenda. O PortQry usa a camada correta de sessão ou protocolo na camada de aplicação para determinar se a porta está escutando. O PortQry usa o arquivo Services que está localizado em %SYSTEMROOT%\System32\Drivers\Etc para determinar qual serviço está escutando em cada porta.

Nota Este arquivo é armazenado em cada computador com o Microsoft Windows Server 2003, Windows XP, e Windows 2000.

Como o PortQry é usado como uma ferramenta de resolução de problemas, é esperado que os usuários o utilizem para resolver um problema em particular possuam conhecimento específico em relação ao ambiente computacional. O PortQry 2.0 suporta os seguintes protocolos na camada de aplicação e sessão:

  • Lightweight Directory Access Protocol (LDAP)
  • Remote Procedure Calls (RPC)
  • Domain Name System (DNS)
  • NetBIOS Name Service
  • Simple Network Management Protocol (SNMP)
  • Internet Security and Acceleration Server (ISA)
  • SQL Server 2000 Named Instances
  • Trivial File Transfer Protocol (TFTP)
  • Layer Two Tunneling Protocol (L2TP)

Adicionalmente, o PortQry 2.0 pode determinar com precisão se mais portas UDP estão abertas do que o PortQry 1.22.

  Topo

Suporte a LDAP

O PortQry pode enviar uma consulta LDAP usando tanto TCP como UDP e interpretar a resposta do servidor LDAP de forma correta. O PortQry analisa gramaticalmente, formata e retorna a reposta do servidor LDAP para o usuário. Por exemplo, digite o comando seguinte e pressione ENTER:

portqry -n myserver -p udp -e 389

O PortQry realizará as seguintes ações:

  1. O PortQry utiliza o arquivo Services em %SYSTEMROOT%\System32\Drivers\Etc para resolver a porta UDP 389. Se o PortQry resolve a porta para o serviço LDAP, o PortQry envia um datagrama não formatado para a porta UDP 389 no computador de destino. O PortQry não recebe uma resposta da porta alvo porque o serviço LDAP só responde a consultas LDAP corretamente formadas.
  2. O PortQry reporta que a porta está em LISTENING ou FILTERED.
  3. O PortQry envia uma consulta LDAP corretamente formada para a porta UDP 389 no computador de destino.
  4. Se o PortQry recebe a resposta desta consulta, ele retorna a resposta completa para o usuário e reporta que a porta está em estado
    LISTENING.

    Se o PortQry não recebe uma resposta para esta consulta, ele reporta que a porta está no estado FILTERED.

Exemplo de saída

 UDP
port 389
(unknown service):
LISTENING or
FILTERED Sending
LDAP query
to UDP
port 389...
LDAP query
response: currentdate:
12/13/2003 05:42:40
(unadjusted GMT)
subschemaSubentry: CN=

Aggregate,CN= Schema,CN= Configuration,DC= domain,DC= example,DC=com dsServiceName: CN=

NTDS Settings,CN= myserver,CN= Servers,CN= Default-First-Site-Name,
CN=Sites,CN=Configuration,DC=domain,DC=example,DC=com
namingContexts: DC=domain,DC=example,DC=com
defaultNamingContext: DC=domain,DC=example,DC=com
schemaNamingContext: CN=Schema,CN=Configuration,DC=domain,DC=example,DC=com
configurationNamingContext: CN=Configuration,DC=domain,DC=example,DC=com
rootDomainNamingContext: DC=domain,DC=example,DC=com
supportedControl: 1.2.840.113556.1.4.319
supportedLDAPVersion: 3
supportedLDAPPolicies: MaxPoolThreads
highestCommittedUSN: 4259431
supportedSASLMechanisms: GSSAPI
dnsHostName: myserver.domain.example.com
ldapServiceName: domain.example.com:myserver$@domain.EXAMPLE.COM
serverName: CN=myserver,CN=Servers,CN=Default-First-Site-Name,CN=Sites,
CN=Configuration,DC=domain,DC=example,DC=com
supportedCapabilities: 1.2.840.113556.1.4.800
isSynchronized: TRUE
isGlobalCatalogReady: TRUE
domainFunctionality: 0
forestFunctionality: 0
domainControllerFunctionality: 2

======== End of LDAP query response ========

UDP port 389 is LISTENING

Neste exemplo, você determina que a porta 389 está escutando. Além disso, você pode determinar qual serviço LDAP está escutando na porta 389 e detalhes sobre o serviço.

  Topo

Suporte a RPC

O PortQry pode enviar uma consulta RPC usando tanto TCP como UDP e interpretar a resposta a esta consulta de forma correta. Esta consulta retorna todos os pontos de extremidades que estão atualmente registrados no mapeador de pontos de extremidades do RPC. O PortQry analisa gramaticalmente, formata e então retorna a resposta do mapeador de pontos de extremidades RPC para o usuário. Por exemplo, digite o seguinte comando e pressione ENTER:

portqry -n myserver -p udp -e 135

O PortQry realiza então as seguintes ações:

  1. O PortQry utiliza o arquivo Services em %SYSTEMROOT%\System32\Drivers\Etc para resolver a porta UDP 135. Se o PortQry resolve a porta para o serviço Mapeador de Ponto de Extremidade RPC (Epmap), o PortQry envia um datagrama não formatado para a porta UDP 135 no computador de destino. O PortQry não recebe uma resposta da porta alvo porque o serviço mapeador de pontos de extremidade RPC somente responde para uma consulta corretamente formada RPC.

  2. O PortQry relata que a porta está em estado LISTENING ou FILTERED.

  3. O PortQry envia uma consulta corretamente formada RPC para a porta UDP 135 do computador de destino. Esta consulta retorna todos os pontos de extremidade que estão atualmente registrados o mapeador de pontos de extremidades.

  4. Se o PortQry receber uma resposta para a consulta, o PortQry retorna a resposta toda para o usuário e relata que a porta está no estado
    LISTENING.

    Se o PortQry não receber a resposta para a consulta, ele reporta que a porta está no estado FILTERED.

Exemplo de saída

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

Neste exemplo, você determinou que a porta 135 estava escutando. Além disso, você pode determinar quais serviços ou programas estão registrados na base de dados do mapeador de pontos de extremidades do RPC no computador de destino. A saída inclui o UUID (universal unique identifier) para cada programa, o nome (se existir), o protocolo que cada programa usa, o endereço de rede que o programa está acessando e o ponto de extremidade do programa.

Nota Quando você especifica a opção -r no comando PortQry.exe para varrer uma faixa de portas, o Mapeador de Pontos de Extremidade RPC não é consultado. Isto torna a varredura de uma faixa de portas mais rápida.

  Topo

Suporte a DNS

O PortQry pode enviar uma consulta DNS corretamente formada usando tanto TCP como UDP. O PortQry envia uma consulta DNS para o seguinte nome totalmente qualificado de domínio (FQDN):

portqry.microsoft.com

O PortQry espera então por uma resposta do servidor DNS de destino. Se o servidor retornar uma resposta, o PortQry determina que a posta está em estado LISTENING.

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

  Topo

Suporte a serviço de nomes NetBIOS

Por padrão, o serviço de nomes NetBIOS escuta na porta UDP 137. Quando o PortQry determina que esta porta está em estado LISTENING ou FILTERED, o PortQry realiza as seguintes ações para determinar se a porta está realmente escutando:

  1. Se o NetBIOS está disponível no computador onde você está executando o PortQry, o PortQry envia uma consulta de status NetBIOS para o computador de destino.
  2. Se o computador de destino responder a consulta, o PortQry relata que a porta está em estado LISTENING e retorna o endereço MAC (media access control) do computador de destino para o usuário.

Se o NetBIOS não estiver disponível no computador onde o PortQry está sendo executado, ele não tentará enviar uma consulta de status NetBIOS para o computador de destino.   Topo

Suporte a SNMP

O suporte a SNMP é um novo recurso do PortQry 2.0. Por padrão, o serviço SNMP escuta na porta UDP 161. Para determinar se a porta 161 está escutando, o PortQry envia uma consulta que é formatada corretamente e o serviço a aceita. O serviço SNMP é configurado com um nome de comunidade ou uma seqüência que você precisa saber para obter uma resposta do servidor. Com o PortQry, você pode especificar os nomes da comunidade quando faz a consulta na porta. Por padrão, o PortQry usa a comunidade "Public". Para especificar um nome de comunidade diferente, use a opção -cn. Quando você especifica um nome de comunidade no comando PortQry.exe, use pontos de exclamação entre o nome da comunidade. Por exemplo, para especificar uma comunidade chamada secure123, digite o seguinte comando:

portqry -n 127.0.0.1 -e 161 -p udp -cn !secure123!

Exemplo de saída

Querying target system called:

127.0.0.1

querying...

UDP port 161 (snmp service): LISTENING or FILTERED

community name for query:

secure123

Sending SNMP query to UDP port 161...

UDP port 161 is LISTENING

  Topo

Suporte ao ISA Server

O suporte ao Microsoft ISA Server é um novo recurso do PortQry 2.0. Por padrão, o ISA Server usa a porta TCP 1745 para se comunicar com os clientes Winsock proxy e os clientes de Firewall. Os computadores que possuem o cliente Winsock proxy ou o cliente de Firewall instalados usam estas portas para solicitar serviços ao ISA Server e para fazer o download de informações de configuração. Tipicamente, estes serviços incluem a resolução de nomes e outros serviços que não são baseados em HTTP (por exemplo, conexões Winsock). Para determinar se estas portas estão escutando, o PortQry envia uma consulta que é formada corretamente e é aceita pelo ISA Server.

Exemplo de saída

Por exemplo, digitando o seguinte comando:

portqry -n myproxy-server -p udp -e 1745

Você receberá a seguinte saída:

Querying target system called:

myproxy-server

Attempting to resolve name to IP address...


Name resolved to 169.254.24.86

querying...

UDP port 1745 (unknown service): LISTENING or FILTERED

Sending ISA query to UDP port 1745...

UDP port 1745 is LISTENING

Quando o PortQry consulta a porta TCP 1745, o PortQry faz o download do arquivo mspclnt.ini do servidor ISA se o arquivo estiver disponível nesta porta. O arquivo Mspclnt.ini contém informações sobre a configuração que os clientes Winsock e Firewall utilizam.

Exemplo de saída
TCP port 1745 (unknown service): LISTENING

Sending ISA query to TCP port 1745...


ISA query response:

10.0.0.0        10.255.255.255
127.0.0.1       127.0.0.1
169.254.0.0     169.254.255.255
192.168.0.0     192.168.255.255
127.0.0.0       127.255.255.255

;
; This file should not be edited.
; Changes to the client configuration should only be made using ISA Management.
;
[Common]
myproxy-server.example.com
Set Browsers to use Auto Detect=1
AutoDetect ISA Servers=1
WebProxyPort=8080
Port=1745
Configuration Refresh Time (Hours)=2
Re-check Inaccessible Server Time (Minutes)=10
Refresh Give Up Time (Minutes)=15
Inaccessible Servers Give Up Time (Minutes)=2
[Servers Ip Addresses]
Name=myproxy-server
[My Config]
Path1=\\myproxy-server\mspclnt\

======== End of ISA query response ========

  Topo

Suporte ao SQL Server 2000

O suporte ao Microsoft SQL Server 2000 é um novo recurso do PortQry 2.0. O PortQry envia consultas na porta UDP 1434 para verificar todas as instâncias nomeadas que estão no servidor SQL Server 2000. O PortQry envia uma consulta que é formada de forma correta e aceita pelo SQL Server 2000 para determinar se a porta está escutando.

Exemplo de saída

Por exemplo, digitando o seguinte comando:

portqry -n 192.168.1.20 -e 1434 -p udp

Você recebe a seguinte saída:

Querying target system called:

192.168.1.20

querying...

UDP port 1434 (ms-sql-m service): LISTENING or FILTERED

Sending SQL Server query to UDP port 1434...

Server's response:

ServerName SQL-Server1
InstanceName MSSQLSERVER
IsClustered No
Version 8.00.194
tcp 1433
np \\SQL-Server1\pipe\sql\query

==== End of SQL Server query response ====

UDP port 1434 is LISTENING

  Topo

Suporte a TFTP

O suporte a TFTP é um novo recurso do PortQry 2.0. Por padrão, o TFTP escuta na porta UDP 69. O PortQry envia uma consulta que é formada corretamente e o servidor TFTP aceita para determinar se a porta está escutando.

Exemplo de saída

Por exemplo, digitando o seguinte comando:

portqry -n myserver.example.com -p udp -e 69

Você recebe a seguinte saída:

Querying target system called:

myserver.example.com

Attempting to resolve name to IP address...


Name resolved to 169.254.23.4

querying...

UDP port 69 (tftp service): LISTENING or FILTERED

Sending TFTP query to UDP port 69...

UDP port 69 is LISTENING

  Topo

Suporte a L2TP

O suporte a L2TP é um novo recurso do PortQry 2.0. Os servidores de Roteamento e Acesso Remoto e outros servidores VPN (rede privada virtual) escutam na porta UDP 1710 por conexões entrantes L2TP. O PortQry envia uma consulta que é formada corretamente e aceita pelo servidor VPN para determinar se a porta está escutando.

Exemplo de saída

Por exemplo, digitando o seguinte comando:

portqry -n vpnserver.example.com -e 1701-p udp

Você recebe a seguinte saída:

Querying target system called:

vpnserver

Attempting to resolve name to IP address...

Name resolved to 169.254.12.225

querying...

UDP port 1701 (l2tp service): LISTENING or FILTERED

Sending L2TP query to UDP port 1701...

UDP port 1701 is LISTENING

  Topo

Customizando portas utilizadas pelas consultas

Por padrão, todos os computadores com Windows Server 2003, Windows XP e Windows 2000 possui um arquivo Services localizado na pasta %SYSTEMROOT%\System32\Drivers\Etc. O PortQry usa este arquivo para resolver números de portas a seus correspondentes serviços. O conteúdo deste arquivo dita as portas que o PortQry envia mensagens formatadas quando você usa o comando PortQry.exe. Você pode editar este arquivo para direcionar o PortQry para enviar mensagens formatadas para uma porta alternativa. Por exemplo, a seguinte entrada aparece em um arquivo Services típico:

ldap              389/tcp                           #Lightweight Directory Access Protocol

Você pode editar esta entrada ou adicionar uma nova entrada. Para fazer com que o PortQry envie consultas LDAP para a porta 1025, modifique a entrada para a seguinte:

ldap              1025/tcp                           #Lightweight Directory Access Protocol

  Topo

Informações adicionais retornadas sobre os serviços

O PortQry exibe informações estendidas que algumas portas retornam. O PortQry verifica estas "informações estendidas" nas portas quando os seguintes serviços escutarem:

  • Simple Mail Transfer Protocol (SMTP)
  • Microsoft Exchange POP3
  • Microsoft Exchange IMAP4
  • Serviço de Publicação FTP
  • Serviços do ISA Server

Por exemplo, por padrão, o serviço FTP escuta na porta TCP 21. Quando o PortQry determina que a porta TCP 21 no computador de destino está no estado LISTENING, ele usa a informação do arquivo Services para determinar se o serviço FTP está escutando nesta porta.

Nota Você pode alterar o serviço que o PortQry determina que está escutando modificando o arquivo Services. Para maiores informações, leia a seção "Customizando portas utilizadas pelas consultas" neste artigo.

Neste cenário, o PortQry tenta usar a conta Anonymous para efetuar logon no servidor FTP. O resultado desta tentativa indica se o servidor FTP aceita conexões anônimas. O PortQry retorna a resposta do servidor.

Exemplo 1: Digite um comando similar ao abaixo e pressione ENTER:

portqry -n MyFtpServer -p tcp -e 21

Você receberá uma resposta similar a seguinte:

TCP port 21 (ftp service): LISTENING

Data returned from port:
220 Microsoft FTP Service

331 Anonymous access allowed, send identity (e-mail name) as password.

No Exemplo 1, você pode determinar o tipo de servidor FTP que está escutando na porta em questão e se o servidor FTP está configurado para permitir conexões anônimas.

Exemplo 2: Digite um comando similar ao abaixo e pressione ENTER:

portqry -n MyMailServer -p tcp -e 25

Você receberá uma resposta similar a seguinte:

TCP port 25 (smtp service): LISTENING

Data returned from port:
220 MyMailServer.domain.example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.0 ready at Mon, 15 Dec 2003 10:24:50 -0800

No Exemplo 2, você pode determinar o tipo de servidor SMTP que está escutando na porta em questão.

  Topo

Opções de linha de comando do PortQry

Você pode usar as seguintes opções de linha de comando do PortQry:

  • -n (nome): Este parâmetro é necessário. Use este parâmetro para especificar o computador de destino. Você pode especificar o nome do host ou o endereço IP do host. Entretanto, você não pode usar espaços no nome do host ou no endereço IP. O PortQry resolve o nome do host ao endereço IP. Se o PortQry não resolver o nome, a ferramenta reporta um erro e é fechada. Se você entrar com um endereço IP, o PortQry resolve para o nome do host. Se a resolução falhar, o PortQry relata um erro, mas continua a processar o comando.

    Exemplos

    portqry -n meuservidor
    portqry -n www.widgets.microsoft.com
    portqry -n 192.168.1.10

  • -p (protocolo): Este parâmetro é opcional. Use este parâmetro para especificar o tipo de porta ou protocolo que é usado para se conectar a porta alvo no computador de destino. Se você não especificar o protocolo, o PortQry usa TCP como o protocolo. Parâmetros válidos

    • TCP (padrão): Especifica TCP como protocolo.
    • UDP: Especifica UDP como protocolo.
    • BOTH: Especifica tanto o TCP como o UDP como protocolos. Quando é usada esta opção, o PortQry consulta tanto a porta TCP como a porta UDP.

    Exemplos

    portqry -n meucontroladordedominio.example.com -p tcp
    portqry -n Meuservidor -p udp
    portqry -n 192.168.1.20 -p both
    portqry -n www.widgets.microsoft.com (este comando usa o padrão tcp.)  

  • -e (endpoint): Este parâmetro é opcional. Use este parâmetro para especificar o ponto final (ou o número da porta) no computador de destino. Deve ser uma porta válida entre 1 e 65535 inclusive. Você não pode usar este parâmetro junto com o parâmetro -o ou o parâmetro -r. Se você não especificar uma porta, o PortQry consulta a porta 80.

    Exemplos

    portqry -n myserver -p udp -e 139
    portqry -n mail.example.com -p tcp -e 25
    portqry -n myserver (este comando usa a porta padrão 80.)
    portqry -n 192.168.1.20 -p both -e 60897

  • -o (ordem): Este parâmetro é opcional. Use este parâmetro para especificar um certo número de portas que será consultado em uma ordem particular. Você não pode usar este parâmetro junto com o parâmetro -e ou junto com o parâmetro -r. Quando você usar este parâmetro, use vírgulas para delimitar os números das portas. Você pode entrar com os números das portas em qualquer ordem. Entretanto, você não pode deixar espaços entre os números das portas e as vírgulas.

    Exemplos

    portqry -n myserver -p udp -o 139,1025,135
    portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25
    portqry -n 192.168.1.20 -p both -o 100,1000,10000

  • -r (range/faixa): Este parâmetro é opcional. Use este parâmetro para especificar uma faixa de portas para consultar em uma ordem seqüencial. Você não pode usar este parâmetro junto com o parâmetro -e ou junto com o parâmetro -o. Quando você usa este parâmetro, use um ponto e vírgula para delimitar a porta inicial e a porta final. Especifique uma porta inicial menor do que a porta final. Adicionalmente, você não pode incluir espaços entre as portas e o ponto e vírgula. Quando usar este parâmetro, o Mapeador de Pontos de Extremidades RPC (Mapper RPC) não é consultado.

    Exemplos

    portqry -n myserver -p udp -r 135;139
    portqry-n www.widgets.microsoft.com -p tcp -r 10;20
    portqry -n 192.168.1.20 -p both -r 25;120

  • -l (log): Este parâmetro é opcional. Use este parâmetro para especificar um arquivo de log para registrar a saída gerada pelo PortQry. Quando você usa este parâmetro, especifique o arquivo de log junto com a extensão. Você não pode incluir espaços no nome do arquivo de log. O arquivo de log é criado na pasta que o PortQry é executado. O PortQry gera o arquivo de log no formato de texto. Se um log existente com o mesmo nome existir, você será questionado sobre sobrescrever o arquivo quando executar o comando PortQry.

    Exemplos

    portqry -n myserver -p udp -r 135;139 -l myserverlog.txt
    portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25 -l portqry.log
    portqry -n 192.168.1.20 -p both -e 500 -l ipsec.txt -y

  • -y (sim, sobrescrever): Este parâmetro é opcional. Use este parâmetro junto com o parâmetro -l para suprimir o prompt de "overwrite" quando um arquivo de log existe com o mesmo nome do que você especificou no comando. Quando você usar este parâmetro, o PortQry irá sobrescrever o log existente sem lhe questionar.

    Exemplos

    portqry -n myserver -p udp -r 135;139 -l myserverlog.txt -y
    portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25 -l portqry.log -y

  • -sl (slow link/link lento): Este parâmetro é opcional. Use este parâmetro para que o PortQry espere mais por respostas de consultas UDP. Como o UDP é um protocolo não orientado a conexão, o PortQry não pode determinar se a porta é lenta para responder ou está filtrada. Esta opção dobra o tempo que o PortQry espera por uma resposta na porta UDP antes do PortQry determinar que a porta está no estado NOT LISTENING ou está no estado FILTERED. Use esta opção quando você consultar a porta UDP em um link lento ou um link não confiável.

    Exemplos

    portqry -n myserver -p udp -r 135;139 -l myserver.txt -sl
    portqry -n mail.widgets.microsoft.com -p tcp -o 143,110,25 -sl
    portqry -n 192.168.1.20 -p both -e 500 -sl

  • -nr (no reverse name lookup): Este parâmetro é opcional. Use o parâmetro para passar direto a resolução reversa do nome que o PortQry realiza quando você especifica um endereço IP junto com o parâmetro -n. Por padrão, quando você especifica um endereço IP junto com o parâmetro -n, o PortQry tenta mapear o endereço IP ao nome do host. Este processo consome tempo, especialmente se a ferramenta não conseguir resolver o nome. Quando você especifica o parâmetro -nr, o PortQry não faz esta resolução reversa no nome do host. Em vez disso, o PortQry consulta as portas imediatamente. O parâmetro -nr é ignorado se você especificar o nome do host no parâmetro -n.

    Exemplos

    portqry -n 192.168.22.21 -p udp -r 135:139 -l myserver.txt -s -nr
    portqry -n 10.1.1.10 -p tcp -o 143,110,25 -s -nr
    portqry -n 169.254.18.22 -p both -e 500 -s -nr

  • -q (quiet mode/modo silencioso): Este parâmetro é opcional. Use este parâmetro para que o PortQry suprima toda a saída de mensagens de erros na tela. Este parâmetro é especialmente útil quando você configura o PortQry para um arquivo de lote. Dependendo do status da porta, este parâmetro retorna as seguintes saídas:

    • 0 (zero) é retornado se a porta de destino estiver em estado LISTENING.
    • 1 é retornado se a porta estiver com estado NOT LISTENING.
    • 2 é retornado se a porta estiver com estado LISTENING ou FILTERED.

    Você só pode usar este parâmetro junto com o parâmetro -e. Você não pode usá-lo junto com o parâmetro -o ou o parâmetro -r. Além disso, você não pode usá-lo com o parâmetro -p quando definir o parâmetro -p para Both.

    Importante Quando você usa o parâmetro -q junto com parâmetro -l, o PortQry sobrescreve um arquivo de log existente que possua o mesmo nome sem perguntar se pode fazer isso.

    Exemplo de arquivo de lote

    :Top
    portqry -n 169.254.18.22 -e 135 -p tcp -q
    if errorlevel = 2 goto filtered
    if errorlevel = 1 goto failed
    if errorlevel = 0 goto success
    goto end
    
    :filtered
    Echo Port is listening or filtered
    goto end
    
    :failed
    Echo Port is not listening
    Goto end
    
    :success
    Echo Port is listening
    goto end
    
    :end
    
  • -cn (community name/nome da comunidade): Este parâmetro é opcional. Use-o para especificar a seqüência ou nome da comunidade a usar na consulta SNMP. Com este parâmetro, você precisa passar a seqüência da comunidade entre pontos de exclamação (!). Este parâmetro é ignorado se você não consultar a porta que o SNMP está escutando.

    Exemplos

    portqry -n myserver -p udp -e 161 -l myserver.txt -cn !sequência_snmp!
    portqry -n www.widgets.microsoft.com -p both -r 150:170 -sl -cn !nome_da_comunidade!

  • -sp (source port/porta de origem): Este parâmetro é opcional. Use-o para especificar a porta inicial de origem usada quando você se conectar nas portas UDP e TCP especificadas no computador de destino. Esta funcionalidade é útil para ajudá-lo a testar as regras do firewall ou roteador que filtra o tráfego baseado nas portas de origem.

    Exemplo

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

    Neste exemplo, o PortQry usa a porta UDP 3001 no computador local para enviar a consulta. Respostas a esta consulta irão para a porta UDP 3001 no computador local. O PortQry não pode usar uma porta especificada se outro processo já estiver usando a porta. Neste cenário, o PortQry retorna a seguinte mensagem de erro:

    Cannot use specified source port.
    Port is already in use.
    Specify a port that is not in use and run the command again.

    O PortQry usa a porta especificada quando ele envia a consulta inicial ao computador de destino. O PortQry também usa esta porta especificada se ele tenta usar protocolos como FTP, SMTP, POP, IMAP, DNS, SNMP, ISA Server e outros protocolos para consultar o computador de destino. Estas são as exceções para esta regra:

    RPC (portas TCP e UDP 135)
    LDAP (porta UDP 389)
    NetBIOS Adapter status query (porta UDP 137)
    Internet Security Association and Key Management Protocol (ISAKMP) (porta UDP 500)

    Nestes casos excepcionais, o PortQry usa a porta de origem especificada para a consulta inicial. Quando ele tenta consultar o computador de destino através de um dos protocolos acima, ele consulta o computador de destino através da porta efêmera de origem. Por exemplo, se você especificar a porta de origem igual a 3000 quando consulta a porta UDP 389 (LDAP), o PortQry usa a porta UDP 3000 se estiver disponível para o datagrama inicial UDP que é enviado para a porta LDAP. Quando o PortQry envia a consulta LDAP para a porta LDAP, o PortQry usa uma porta efêmera ao invés da porta de origem especificada. (Neste exemplo, a porta especificada é a 3000). Quando o PortQry usa uma porta efêmera para consultas específicas, o PortQry envia a seguinte mensagem:  

    Using ephemeral source port

    Com o ISAKMP/IPSec, o agente da diretiva IPSec pode apenas enviar respostas a partir de consultas que retornam para a porta UDP 500. Neste caso, é melhor para o PortQry usar a porta UDP 500 como porta de origem da consulta. Se o agente da diretiva IPSec estiver rodando no computador onde o PortQry é executado, a porta UDP 500 estará indisponível porque o agente da diretiva estará usando a porta. Neste caso, o PortQry retorna a seguinte mensagem:  

    Cannot use source port 500, this port is already in use. Remote ISAKMP/IPSec services may only communicate with source port 500. Temporarily turn off the 'IPSEC Policy Agent' or the 'IPSEC Services' on the system you are running PortQry from and run the command again

    example: net stop PolicyAgent
    run Portqry to query ISAKMP
    net start PolicyAgent

  Topo

Recursos Adicionais

O PortQry 2.0 inclui os seguintes recursos novos:

  • Modo Interativo do PortQry
  • Modo local do PortQry

Modo interativo do PortQry

Com o PortQry 1.22, os usuários podem consultar portas a partir da linha de comando. Quando você resolve problemas de conectividade entre computadores, você deve digitar muitos comandos repetidos. Com o PortQry 2.0, você pode executar os comandos desta forma, mas ele também possui um modo interativo. O modo interativo é similar a funcionalidade interativa no utilitário de DNS Nslookup ou o utilitário Nblookup do WINS.

Para iniciar o PortQry no modo interativo, use a opção -i. Por exemplo, digite portqry -i. Ao fazer isso, você receberá o seguinte retorno:

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)

Você pode usar outros parâmetros juntos com o parâmetro -i, para alterar as configurações que o PortQry usa. Por exemplo, digite um comando similar ao seguinte e pressione ENTER:

portqry -i -e 53 -n 192.168.1.20 -p both –sp 2030

Você receberá a seguinte saída:

Portqry Interactive Mode

Type 'help' for a list of commands

Default Node: 192.168.1.20

Current option values:
   end port=    53
   protocol=    BOTH
   source port= 2300

  Topo

Modo local do PortQry

O modo local do PortQry é desenhado para lhe dar informações detalhadas sobre as portas TCP e UDP no computador local onde o PortQry é executado. O PortQry usa os seguintes três comandos disponíveis no modo local:

  • portqry.exe -local Quando você executa este comando, o PortQry tenta enumerar todas as portas TCP e UDP mapeadas que estão atualmente ativas no computador local. Esta saída é similar a saída que o comando netstat.exe -an gera.

    Exemplo de saída

    TCP/UDP Port Usage
    
    96 active ports found
    
    Port  		Local IP	State		 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
    UDP 161  	0.0.0.0 			 *:*
    TCP 445  	0.0.0.0 	LISTENING	 0.0.0.0:34836
    TCP 445  	169.254.149.9 	ESTABLISHED	 169.254.53.54:4443
    TCP 445  	169.254.149.9 	ESTABLISHED	 169.254.112.122:2111
    TCP 445  	169.254.149.9 	ESTABLISHED	 169.254.112.199:1188
    TCP 445  	169.254.149.9 	ESTABLISHED	 169.254.113.96:1221
    TCP 445  	169.254.149.9 	ESTABLISHED	 169.254.200.222:3762
    UDP 445  	0.0.0.0 			 *:*
    UDP 500  	169.254.149.9 			 *:*
    TCP 593  	0.0.0.0 	LISTENING	 0.0.0.0:59532
    UDP 1029  	0.0.0.0 			 *:*
    TCP 1040  	127.0.0.1 	LISTENING	 0.0.0.0:18638
    UDP 1045  	0.0.0.0 			 *:*
    TCP 1048  	127.0.0.1 	LISTENING	 0.0.0.0:2240
    TCP 1053  	127.0.0.1 	LISTENING	 0.0.0.0:26649
    TCP 1061  	127.0.0.1 	LISTENING	 0.0.0.0:26874
    TCP 1067  	127.0.0.1 	LISTENING	 0.0.0.0:2288
    TCP 1068  	0.0.0.0 	LISTENING	 0.0.0.0:2048
    TCP 1088  	127.0.0.1 	LISTENING	 0.0.0.0:35004
    UDP 1089  	0.0.0.0 			 *:*
    TCP 1091  	127.0.0.1 	LISTENING	 0.0.0.0:43085
    TCP 1092  	0.0.0.0 	LISTENING	 0.0.0.0:2096
    TCP 1094  	127.0.0.1 	LISTENING	 0.0.0.0:51268
    TCP 1097  	127.0.0.1 	LISTENING	 0.0.0.0:2104
    TCP 1098  	0.0.0.0 	LISTENING	 0.0.0.0:43053
    TCP 1108  	0.0.0.0 	LISTENING	 0.0.0.0:2160
    TCP 1108  	169.254.149.9 	ESTABLISHED	 169.254.12.210:1811
    TCP 1117  	127.0.0.1 	LISTENING	 0.0.0.0:26819
    TCP 1118  	0.0.0.0 	LISTENING	 0.0.0.0:43121
    TCP 1119  	0.0.0.0 	LISTENING	 0.0.0.0:26795
    TCP 1121  	0.0.0.0 	LISTENING	 0.0.0.0:26646
    UDP 1122  	0.0.0.0 			 *:*
    TCP 1123  	0.0.0.0 	LISTENING	 0.0.0.0:35013
    UDP 1126  	0.0.0.0 			 *:*
    TCP 1137  	127.0.0.1 	LISTENING	 0.0.0.0:34820
    TCP 1138  	0.0.0.0 	LISTENING	 0.0.0.0:26696
    TCP 1138  	169.254.149.9 	CLOSE WAIT	 169.254.5.103:80
    TCP 1170  	127.0.0.1 	LISTENING	 0.0.0.0:34934
    TCP 1179  	127.0.0.1 	LISTENING	 0.0.0.0:59463
    TCP 1228  	127.0.0.1 	LISTENING	 0.0.0.0:2128
    UDP 1352  	0.0.0.0 			 *:*
    TCP 1433  	0.0.0.0 	LISTENING	 0.0.0.0:2064
    UDP 1434  	0.0.0.0 			 *:*
    TCP 1670  	0.0.0.0 	LISTENING	 0.0.0.0:2288
    TCP 1670  	169.254.149.9 	ESTABLISHED	 169.254.233.87:445
    TCP 1686  	127.0.0.1 	LISTENING	 0.0.0.0:51309
    UDP 1687  	127.0.0.1 			 *:*
    TCP 1688  	0.0.0.0 	LISTENING	 0.0.0.0:2135
    TCP 1688  	169.254.149.9 	CLOSE WAIT	 169.254.113.87:80
    TCP 1689  	0.0.0.0 	LISTENING	 0.0.0.0:51368
    TCP 1689  	169.254.149.9 	CLOSE WAIT	 169.254.113.87:80
    TCP 1693  	169.254.149.9 	TIME WAIT	 169.254.121.106:445
    UDP 1698  	0.0.0.0 			 *:*
    TCP 1728  	127.0.0.1 	LISTENING	 0.0.0.0:2077
    TCP 1766  	127.0.0.1 	LISTENING	 0.0.0.0:35061
    TCP 2605  	127.0.0.1 	LISTENING	 0.0.0.0:2069
    TCP 3302  	127.0.0.1 	LISTENING	 0.0.0.0:2048
    TCP 3372  	0.0.0.0 	LISTENING	 0.0.0.0:18612
    TCP 3389  	0.0.0.0 	LISTENING	 0.0.0.0:18542
    TCP 3389  	169.254.149.9 	ESTABLISHED	 169.254.112.67:2796
    TCP 3389  	169.254.149.9 	ESTABLISHED	 169.254.113.96:4603
    TCP 3389  	169.254.149.9 	ESTABLISHED	 169.254.201.100:3917
    UDP 3456  	0.0.0.0 			 *:*
    TCP 3970  	0.0.0.0 	LISTENING	 0.0.0.0:35012
    TCP 3970  	169.254.149.9 	CLOSE WAIT	 169.254.5.138:80
    TCP 3972  	0.0.0.0 	LISTENING	 0.0.0.0:51245
    TCP 3972  	169.254.149.9 	CLOSE WAIT	 169.254.5.138:80
    TCP 4166  	127.0.0.1 	LISTENING	 0.0.0.0:2208
    UDP 4447  	0.0.0.0 			 *:*
    TCP 4488  	127.0.0.1 	LISTENING	 0.0.0.0:10358
    UDP 4500  	169.254.149.9 			 *:*
    TCP 4541  	127.0.0.1 	LISTENING	 0.0.0.0:10442
    TCP 4562  	0.0.0.0 	LISTENING	 0.0.0.0:2192
    TCP 4562  	169.254.149.9 	ESTABLISHED	 169.254.0.40:1025
    UDP 4563  	0.0.0.0 			 *:*
    UDP 4564  	0.0.0.0 			 *:*
    TCP 4566  	0.0.0.0 	LISTENING	 0.0.0.0:51257
    TCP 4566  	169.254.149.9 	ESTABLISHED	 169.254.12.18:1492
    TCP 4568  	127.0.0.1 	LISTENING	 0.0.0.0:26665
    TCP 4569  	0.0.0.0 	LISTENING	 0.0.0.0:43186
    TCP 4569  	169.254.149.9 	CLOSE WAIT	 169.254.4.38:80
    TCP 4756  	0.0.0.0 	LISTENING	 0.0.0.0:51268
    UDP 4758  	0.0.0.0 			 *:*
    TCP 8953  	0.0.0.0 	LISTENING	 0.0.0.0:26667
    TCP 42510  	0.0.0.0 	LISTENING	 0.0.0.0:51323
    UDP 43508  	169.254.149.9 			 *:*
    
    Port Statistics
    
    TCP mappings: 74
    UDP mappings: 22
    
    TCP ports in a LISTENING state: 	51 = 68.92%
    TCP ports in a ESTABLISHED state: 	14 = 18.92%
    TCP ports in a CLOSE WAIT state: 	6 = 8.11%
    TCP ports in a TIME WAIT state: 	3 = 4.05%
    

    Em computadores que suportam o mapeamento de Identificadores de processo (Process ID ou PID), a saída inclui o ID do processo que está usando a porta no computador local. Se a opção "verbose" é usada (-v), a saída também inclui os nomes dos serviços que o ID do processo pertence e lista todos os módulos que o processo carregou. Acesso a algumas informações são restritas. Por exemplo, o acesso a informações do módulo para os processos Tempo Ocioso do Sistema e CSRSS é proibido porque suas restrições de acesso evitam que código no nível de usuário acessem os mesmos. Para resultados melhores, execute o comando Portqry -local no contexto do administrador local ou uma conta similar. O seguinte exemplo de arquivo de log ilustra o nível de relatório que você pode receber executando o comando Portqry -local:

    TCP/UDP Port to Process Mappings
    
    55 mappings found
    
    PID:Process		Port		Local IP	State		 Remote IP:Port
    0:System Idle		TCP 4442  	169.254.113.96 	TIME WAIT	 169.254.5.136:80
    0:System Idle		TCP 4456  	169.254.113.96 	TIME WAIT	 169.254.5.44:445
    4:System		TCP 445  	0.0.0.0 	LISTENING	 0.0.0.0:2160
    4:System		TCP 139  	169.254.113.96 	LISTENING	 0.0.0.0:24793
    4:System		TCP 1475  	169.254.113.96 	ESTABLISHED	 169.254.8.176:445
    4:System		UDP 445  	0.0.0.0 			 *:*
    4:System		UDP 137  	169.254.113.96 			 *:*
    4:System		UDP 138  	169.254.113.96 			 *:*
    424:winlogon.exe	TCP 1200  	169.254.113.96 	CLOSE WAIT	 169.254.5.44:389
    424:winlogon.exe	UDP 1100  	0.0.0.0 			 *:*
    484:lsass.exe		TCP 1064  	0.0.0.0 	LISTENING	 0.0.0.0:2064
    484:lsass.exe		UDP 500  	0.0.0.0 			 *:*
    484:lsass.exe		UDP 1031  	0.0.0.0 			 *:*
    484:lsass.exe		UDP 4500  	0.0.0.0 			 *:*
    668:svchost.exe		TCP 135  	0.0.0.0 	LISTENING	 0.0.0.0:16532
    728:svchost.exe		TCP 3389  	0.0.0.0 	LISTENING	 0.0.0.0:45088
    800			UDP 1026  	0.0.0.0 			 *:*
    800			UDP 1027  	0.0.0.0 			 *:*
    836:svchost.exe		TCP 1025  	0.0.0.0 	LISTENING	 0.0.0.0:43214
    836:svchost.exe		TCP 1559  	169.254.113.96 	CLOSE WAIT	 169.254.5.44:389
    836:svchost.exe		UDP 1558  	0.0.0.0 			 *:*
    836:svchost.exe		UDP 123  	127.0.0.1 			 *:*
    836:svchost.exe		UDP 3373  	127.0.0.1 			 *:*
    836:svchost.exe		UDP 123  	169.254.113.96 			 *:*
    1136:mstsc.exe		TCP 2347  	169.254.113.96 	ESTABLISHED	 172.30.137.221:3389
    1136:mstsc.exe		UDP 2348  	0.0.0.0 			 *:*
    1276:dns.exe		TCP 53  	0.0.0.0 	LISTENING	 0.0.0.0:2160
    1276:dns.exe		TCP 1087  	0.0.0.0 	LISTENING	 0.0.0.0:37074
    1276:dns.exe		UDP 1086  	0.0.0.0 			 *:*
    1276:dns.exe		UDP 2126  	0.0.0.0 			 *:*
    1276:dns.exe		UDP 53  	127.0.0.1 			 *:*
    1276:dns.exe		UDP 1085  	127.0.0.1 			 *:*
    1276:dns.exe		UDP 53  	169.254.113.96 			 *:*
    1328:InoRpc.exe		TCP 42510  	0.0.0.0 	LISTENING	 0.0.0.0:220
    1328:InoRpc.exe		UDP 43508  	169.254.113.96 			 *:*
    1552:CcmExec.exe	UDP 1114  	0.0.0.0 			 *:*
    1896:WINWORD.EXE	TCP 3807  	169.254.113.96 	CLOSE WAIT	 169.254.237.37:3268
    1896:WINWORD.EXE	UDP 3806  	0.0.0.0 			 *:*
    1896:WINWORD.EXE	UDP 1510  	127.0.0.1 			 *:*
    2148:IEXPLORE.EXE	TCP 4446  	169.254.113.96 	ESTABLISHED	 169.254.113.92:80
    2148:IEXPLORE.EXE	UDP 4138  	127.0.0.1 			 *:*
    3200:program.exe	TCP 1906  	169.254.113.96 	ESTABLISHED	 169.254.0.40:1025
    3200:program.exe	TCP 4398  	169.254.113.96 	ESTABLISHED	 169.254.209.96:1433
    3200:program.exe	TCP 4438  	169.254.113.96 	ESTABLISHED	 169.254.209.96:1433
    3592:OUTLOOK.EXE	TCP 1256  	169.254.113.96 	ESTABLISHED	 169.254.1.105:1025
    3592:OUTLOOK.EXE	TCP 2214  	169.254.113.96 	CLOSE WAIT	 169.254.237.37:3268
    3592:OUTLOOK.EXE	TCP 2971  	169.254.113.96 	ESTABLISHED	 169.254.5.216:1434
    3592:OUTLOOK.EXE	TCP 4439  	169.254.113.96 	ESTABLISHED	 169.254.47.242:1788
    3592:OUTLOOK.EXE	UDP 1307  	0.0.0.0 			 *:*
    3592:OUTLOOK.EXE	UDP 1553  	0.0.0.0 			 *:*
    3660:IEXPLORE.EXE	TCP 4452  	169.254.113.96 	ESTABLISHED	 169.254.9.74:80
    3660:IEXPLORE.EXE	TCP 4453  	169.254.113.96 	ESTABLISHED	 169.254.9.74:80
    3660:IEXPLORE.EXE	TCP 4454  	169.254.113.96 	ESTABLISHED	 169.254.230.88:80
    3660:IEXPLORE.EXE	UDP 4451  	127.0.0.1 			 *:*
    4048:program2.exe		UDP 3689  	127.0.0.1 			 *:*
    
    Port Statistics
    
    TCP mappings: 27
    UDP mappings: 28
    
    TCP ports in a LISTENING state: 	9 = 33.33%
    TCP ports in a ESTABLISHED state: 	12 = 44.44%
    TCP ports in a CLOSE WAIT state: 	4 = 14.81%
    TCP ports in a TIME WAIT state: 	2 = 7.41%
    
    
    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)
    
    PID	Port		Local IP	State		 Remote IP:Port
    0	TCP 4442  	169.254.113.96 	TIME WAIT	 169.254.5.136:80
    0	TCP 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
    
    ======================================================
    
    Process ID: 4 (System Process)
    
    PID	Port		Local IP	State		 Remote IP:Port
    4	TCP 445  	0.0.0.0 	LISTENING	 0.0.0.0:2160
    4	TCP 139  	169.254.113.96 	LISTENING	 0.0.0.0:24793
    4	TCP 1475  	169.254.113.96 	ESTABLISHED	 169.254.8.176:445
    4	UDP 445  	0.0.0.0 			 *:*
    4	UDP 137  	169.254.113.96 			 *:*
    4	UDP 138  	169.254.113.96 			 *:*
    
    Port Statistics
    
    TCP mappings: 3
    UDP mappings: 3
    
    TCP ports in a LISTENING state: 	2 = 66.67%
    TCP ports in a ESTABLISHED state: 	1 = 33.33%
    
    
    Could not access module information for this process
    
    ======================================================
    
    Process ID: 352 (smss.exe)
    
    Process doesn't appear to be a service
    
    
    Port Statistics
    
    TCP mappings: 0
    UDP mappings: 0
    
    
    Loaded modules:
    \SystemRoot\System32\smss.exe (0x48580000)
    
    C:\WINDOWS\system32\ntdll.dll (0x77F40000)
    ======================================================
    
    Process ID: 484 (lsass.exe)
    
    Service Name: Netlogon
    Display Name: Net Logon
    Service Type: shares a process with other services
    
    Service Name: PolicyAgent
    Display Name: IPSEC Services
    Service Type: shares a process with other services
    
    Service Name: ProtectedStorage
    Display Name: Protected Storage
    
    Service Name: SamSs
    Display Name: Security Accounts Manager
    Service Type: shares a process with other services
    
    PID	Port		Local IP	State		 Remote IP:Port
    484	TCP 1064  	0.0.0.0 	LISTENING	 0.0.0.0:2064
    484	UDP 500  	0.0.0.0 			 *:*
    484	UDP 1031  	0.0.0.0 			 *:*
    484	UDP 4500  	0.0.0.0 			 *:*
    
    Port Statistics
    
    TCP mappings: 1
    UDP mappings: 3
    
    TCP ports in a LISTENING state: 	1 = 100.00%
    
    Loaded modules:
    C:\WINDOWS\system32\lsass.exe (0x01000000)
    
    C:\WINDOWS\system32\ntdll.dll (0x77F40000)
    C:\WINDOWS\system32\kernel32.dll (0x77E40000)
    C:\WINDOWS\system32\ADVAPI32.dll (0x77DA0000)
    C:\WINDOWS\system32\RPCRT4.dll (0x77C50000)
    C:\WINDOWS\system32\LSASRV.dll (0x742C0000)
    C:\WINDOWS\system32\msvcrt.dll (0x77BA0000)
    C:\WINDOWS\system32\Secur32.dll (0x76F50000)
    C:\WINDOWS\system32\USER32.dll (0x77D00000)
    C:\WINDOWS\system32\GDI32.dll (0x77C00000)
    C:\WINDOWS\system32\SAMSRV.dll (0x741D0000)
    C:\WINDOWS\system32\cryptdll.dll (0x766E0000)
    C:\WINDOWS\system32\DNSAPI.dll (0x76ED0000)
    C:\WINDOWS\system32\WS2_32.dll (0x71C00000)
    C:\WINDOWS\system32\WS2HELP.dll (0x71BF0000)
    C:\WINDOWS\system32\MSASN1.dll (0x76190000)
    C:\WINDOWS\system32\NETAPI32.dll (0x71C40000)
    C:\WINDOWS\system32\SAMLIB.dll (0x5CCF0000)
    C:\WINDOWS\system32\MPR.dll (0x71BD0000)
    C:\WINDOWS\system32\NTDSAPI.dll (0x766F0000)
    C:\WINDOWS\system32\WLDAP32.dll (0x76F10000)
    C:\WINDOWS\system32\IMM32.DLL (0x76290000)
    C:\WINDOWS\system32\LPK.DLL (0x62D80000)
    
    ======================================================
    
    Process ID: 668 (svchost.exe)
    
    Service Name: RpcSs
    Display Name: Remote Procedure Call (RPC)
    Service Type: shares a process with other services
    
    PID	Port		Local IP	State		 Remote IP:Port
    668	TCP 135  	0.0.0.0 	LISTENING	 0.0.0.0:16532
    
    Port Statistics
    
    TCP mappings: 1
    UDP mappings: 0
    
    TCP ports in a LISTENING state: 	1 = 100.00%
    
    Loaded modules:
    C:\WINDOWS\system32\svchost.exe (0x01000000)
    
    C:\WINDOWS\system32\ntdll.dll (0x77F40000)
    C:\WINDOWS\system32\kernel32.dll (0x77E40000)
    C:\WINDOWS\system32\ADVAPI32.dll (0x77DA0000)
    C:\WINDOWS\system32\RPCRT4.dll (0x77C50000)
    c:\windows\system32\rpcss.dll (0x75700000)
    C:\WINDOWS\system32\msvcrt.dll (0x77BA0000)
    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\Secur32.dll (0x76F50000)
    C:\WINDOWS\system32\IMM32.DLL (0x76290000)
    C:\WINDOWS\system32\LPK.DLL (0x62D80000)
    C:\WINDOWS\system32\USP10.dll (0x73010000)
    C:\WINDOWS\system32\mswsock.dll (0x71B20000)
    C:\Program Files\Microsoft Firewall Client\wspwsp.dll (0x55600000)
    C:\WINDOWS\system32\iphlpapi.dll (0x76CF0000)
    C:\WINDOWS\System32\wshqos.dll (0x57B60000)
    C:\WINDOWS\system32\wshtcpip.dll (0x71AE0000)
    C:\WINDOWS\system32\CLBCatQ.DLL (0x76F90000)
    C:\WINDOWS\system32\OLEAUT32.dll (0x770E0000)
    C:\WINDOWS\system32\ole32.dll (0x77160000)
    C:\WINDOWS\system32\COMRes.dll (0x77010000)
    C:\WINDOWS\system32\VERSION.dll (0x77B90000)
    C:\WINDOWS\system32\msi.dll (0x76300000)
    C:\WINDOWS\system32\WTSAPI32.dll (0x76F00000)
    C:\WINDOWS\system32\WINSTA.dll (0x76260000)
    C:\WINDOWS\system32\NETAPI32.dll (0x71C40000)
    C:\WINDOWS\system32\USERENV.dll (0x75970000)
    ======================================================
    
    
    ========= end of log file ========= 
    

    Você pode usar esta informação para determinar quais portas são associadas com um programa ou serviço particular no computador local. Em alguns casos, o PortQry pode reportar que o processo Tempo Ocioso do Sistema (PID 0) está usando algumas portas TCP. Este comportamento pode ocorrer se um programa local se conecta a uma porta TCP e então para. A conexão do programa a porta pode ser deixada em um estado "Timed Wait" mesmo que o programa não esteja mais em execução. Neste caso, o PortQry pode detectar que a porta está em uso. Entretanto, o PortQry não pode identificar o programa que está usando a porta porque o programa foi encerrado. O PID foi liberado. A porta pode ficar em um estado "Timed Wait" por vários minutos mesmo que o processo tenha sido encerrado. Por padrão, a porta se mantém em um estado "Timed Wait" por duas vezes o tempo de vida máximo do segmento.  

  • portqry.exe -wport número_porta (watch port/verificar porta): Com o comando watch port, o PortQry pode verificar a porta especificada por alterações. Estas alterações incluem um aumento ou diminuição no número de conexões a porta ou uma alteração no estado da conexão de qualquer uma das conexões. Por exemplo, digite o seguinte comando e pressione ENTER:

    portqry -wport 53

    Como resultado, o PortQry verifica a porta TCP e UDP 53. O PortQry reporta quando qualquer nova conexão TCP for feita nesta porta. A ferramenta também reporta uma ou mais das seguintes alterações de estado para a porta TCP especificada:

    CLOSE_WAIT
    CLOSED
    ESTABLISHED
    FIN_WAIT_1
    LAST_ACK
    LISTEN
    SYN_RECEIVED
    SYN_SEND
    TIMED_WAIT

    Por exemplo, se um estado da conexão é alterado de ESTABLISHED para CLOSE_WAIT, uma alteração de estado ocorreu. Quando o estado é alterado, o PortQry exibe a tabela de conexão da porta. O POrtQry reporta se um programa está escutando na porta UDP, mas não reporta se a porta UDP recebeu datagramas.

    Parâmetros Opcionais

    • -v (verbose): Para informações adicionais sobre o estado, inclua o parâmetro -v na linha de comando. Quando você usa este parâmetro, o PortQry exibe ainda os módulos que estão usando as portas. Por exemplo, digite portqry.exe -wport 135 -v.  

    • -wt (watch time/tempo de verificação): Por padrão, o PortQry verifica por alterações na porta especificada a cada 60 segundos. Para configurar este intervalo, use o parâmetro -wt. Por exemplo, digite o seguinte comando e pressione ENTER:

      portqry.exe -wport 135 -v -wt 2

      Como resultado, o PortQry verificará a porta TCP 135 e a porta UDP 135 por alterações a cada 2 segundos. Você pode especificar um intervalo de tempo entre 1 e 1200 (inclusive). Com este parâmetro, você pode monitorar alterações a cada 1 segundo, indo até cada 20 minutos.  

    • -l (arquivo de log): Para registrar a saída do comando de verificação de portas (Watch port), use o parâmetro -l. Por exemplo, digite o seguinte comando e pressione ENTER:

      portqry.exe -wport 2203 -v -wt 30 -l test.txt

      Como resultado, um arquivo de log similar ao seguinte será gerado:

       Portqry Version 2.0 Log File
      
       System Date: Sat Oct 04 08:54:06 2003
      
       Command run:
        portqry -wport 135 -v -l test.txt
      
       Local computer name:
      
        host123
      
       Watching port: 135
      
       Checking for changes every 60 seconds
      
       verbose output requested
      
       ============
       System Date: Sat Oct 04 08:54:07 2003
      
      
       ======================================================
      
       Process ID: 952 (svchost.exe)
      
       Service Name: RpcSs
       Display Name: Remote Procedure Call (RPC)
       Service Type: shares a process with other services
      
       PID	Port		Local IP	State		 Remote IP:Port
       952	TCP 135  	0.0.0.0 	LISTENING	 0.0.0.0:45198
       952	UDP 135  	0.0.0.0 			 *:*
      
       Port Statistics
      
       TCP mappings: 1
       UDP mappings: 1
      
       TCP ports in a LISTENING state: 	1 = 100.00%
      
       Loaded modules:
       D:\WINDOWS\system32\svchost.exe (0x01000000)
      
       D:\WINDOWS\System32\ntdll.dll (0x77F50000)
       D:\WINDOWS\system32\kernel32.dll (0x77E60000)
       D:\WINDOWS\system32\ADVAPI32.dll (0x77DD0000)
       D:\WINDOWS\system32\RPCRT4.dll (0x78000000)
       D:\WINDOWS\system32\rpcss.dll (0x75850000)
       D:\WINDOWS\system32\msvcrt.dll (0x77C10000)
       D:\WINDOWS\system32\WS2_32.dll (0x71AB0000)
       D:\WINDOWS\system32\WS2HELP.dll (0x71AA0000)
       D:\WINDOWS\system32\USER32.dll (0x77D40000)
       D:\WINDOWS\system32\GDI32.dll (0x77C70000)
       D:\WINDOWS\system32\Secur32.dll (0x76F90000)
       D:\WINDOWS\system32\userenv.dll (0x75A70000)
       D:\WINDOWS\system32\mswsock.dll (0x71A50000)
       D:\WINDOWS\System32\wshtcpip.dll (0x71A90000)
       D:\WINDOWS\system32\DNSAPI.dll (0x76F20000)
       D:\WINDOWS\system32\iphlpapi.dll (0x76D60000)
       D:\WINDOWS\System32\winrnr.dll (0x76FB0000)
       D:\WINDOWS\system32\WLDAP32.dll (0x76F60000)
       D:\WINDOWS\system32\rasadhlp.dll (0x76FC0000)
       D:\WINDOWS\system32\CLBCATQ.DLL (0x76FD0000)
       D:\WINDOWS\system32\ole32.dll (0x771B0000)
       D:\WINDOWS\system32\OLEAUT32.dll (0x77120000)
       D:\WINDOWS\system32\COMRes.dll (0x77050000)
       D:\WINDOWS\system32\VERSION.dll (0x77C00000)
       ============
       System Date: Sat Oct 04 08:56:08 2003
      
      
       ======================================================
      
       Process ID: 952 (svchost.exe)
      
       Service Name: RpcSs
       Display Name: Remote Procedure Call (RPC)
       Service Type: shares a process with other services
      
       PID	Port		Local IP	State		 Remote IP:Port
       952	TCP 135  	0.0.0.0 	LISTENING	 0.0.0.0:45198
       952	UDP 135  	0.0.0.0 			 *:*
       952	UDP 135  	0.0.0.0 			 *:*
      
       Port Statistics
      
       TCP mappings: 1
       UDP mappings: 2
      
       TCP ports in a LISTENING state: 	1 = 100.00%
      
       Loaded modules:
       D:\WINDOWS\system32\svchost.exe (0x01000000)
      
       D:\WINDOWS\System32\ntdll.dll (0x77F50000)
       D:\WINDOWS\system32\kernel32.dll (0x77E60000)
       D:\WINDOWS\system32\ADVAPI32.dll (0x77DD0000)
       D:\WINDOWS\system32\RPCRT4.dll (0x78000000)
       D:\WINDOWS\system32\rpcss.dll (0x75850000)
       D:\WINDOWS\system32\msvcrt.dll (0x77C10000)
       D:\WINDOWS\system32\WS2_32.dll (0x71AB0000)
       D:\WINDOWS\system32\WS2HELP.dll (0x71AA0000)
       D:\WINDOWS\system32\USER32.dll (0x77D40000)
       D:\WINDOWS\system32\GDI32.dll (0x77C70000)
       D:\WINDOWS\system32\Secur32.dll (0x76F90000)
       D:\WINDOWS\system32\userenv.dll (0x75A70000)
       D:\WINDOWS\system32\mswsock.dll (0x71A50000)
       D:\WINDOWS\System32\wshtcpip.dll (0x71A90000)
       D:\WINDOWS\system32\DNSAPI.dll (0x76F20000)
       D:\WINDOWS\system32\iphlpapi.dll (0x76D60000)
       D:\WINDOWS\System32\winrnr.dll (0x76FB0000)
       D:\WINDOWS\system32\WLDAP32.dll (0x76F60000)
       D:\WINDOWS\system32\rasadhlp.dll (0x76FC0000)
       D:\WINDOWS\system32\CLBCATQ.DLL (0x76FD0000)
       D:\WINDOWS\system32\ole32.dll (0x771B0000)
       D:\WINDOWS\system32\OLEAUT32.dll (0x77120000)
       D:\WINDOWS\system32\COMRes.dll (0x77050000)
       D:\WINDOWS\system32\VERSION.dll (0x77C00000)
       ============
      
       escape key pressed: stopped watching port 135
       System Date: Sat Oct 04 09:09:12 2003
      
      
       ========= end of log file ========= 
      
  • portqry.exe -wpid número_processo (watch PID/verificar PID): Com o comando watch PID, o PortQry verifica o processo especificado por alterações. Estas alterações podem incluir um aumento ou redução no número de conexões a porta ou uma alteração no estado da conexão em qualquer uma das conexões. Este comando suporta os mesmos parâmetros opcionais do comando watch port. Por exemplo, digite o seguinte comando e pressione ENTER: 

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

    Como resultado, um arquivo de log similar ao seguinte será gerado:

       PortQry Version 2.0 Log File
    
       System Date: Tue Oct 07 14:01:13 2003
    
       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: Tue Oct 07 14:01:14 2003
    
    
       ======================================================
    
       Process ID: 1276 (dns.exe)
    
       Service Name: DNS
       Display Name: DNS Server
       Service Type: runs in its own process
    
       PID	Port		Local IP	State		 Remote IP:Port
       1276	TCP 53  	0.0.0.0 	LISTENING	 0.0.0.0:2160
       1276	TCP 1087  	0.0.0.0 	LISTENING	 0.0.0.0:37074
       1276	UDP 1086  	0.0.0.0 			 *:*
       1276	UDP 2126  	0.0.0.0 			 *:*
       1276	UDP 53  	127.0.0.1 			 *:*
       1276	UDP 1085  	127.0.0.1 			 *:*
       1276	UDP 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)
       C:\WINDOWS\system32\WLDAP32.dll (0x76F10000)
       C:\WINDOWS\System32\DNSAPI.dll (0x76ED0000)
       C:\WINDOWS\System32\NTDSAPI.dll (0x766F0000)
       C:\WINDOWS\System32\Secur32.dll (0x76F50000)
       C:\WINDOWS\system32\SHLWAPI.dll (0x77290000)
       C:\WINDOWS\System32\iphlpapi.dll (0x76CF0000)
       C:\WINDOWS\System32\MPRAPI.dll (0x76CD0000)
       C:\WINDOWS\System32\ACTIVEDS.dll (0x76DF0000)
       C:\WINDOWS\System32\adsldpc.dll (0x76DC0000)
       C:\WINDOWS\System32\credui.dll (0x76B80000)
       C:\WINDOWS\system32\SHELL32.dll (0x77380000)
       C:\WINDOWS\System32\ATL.DLL (0x76A80000)
       C:\WINDOWS\system32\ole32.dll (0x77160000)
       C:\WINDOWS\system32\OLEAUT32.dll (0x770E0000)
       C:\WINDOWS\System32\rtutils.dll (0x76E30000)
       C:\WINDOWS\System32\SAMLIB.dll (0x5CCF0000)
       C:\WINDOWS\System32\SETUPAPI.dll (0x765A0000)
       C:\WINDOWS\system32\IMM32.DLL (0x76290000)
       C:\WINDOWS\System32\LPK.DLL (0x62D80000)
       C:\WINDOWS\System32\USP10.dll (0x73010000)
       C:\WINDOWS\System32\netman.dll (0x76D80000)
       C:\WINDOWS\System32\RASAPI32.dll (0x76E90000)
       C:\WINDOWS\System32\rasman.dll (0x76E40000)
       C:\WINDOWS\System32\TAPI32.dll (0x76E60000)
       C:\WINDOWS\System32\WINMM.dll (0x76AA0000)
       C:\WINDOWS\system32\CRYPT32.dll (0x761B0000)
       C:\WINDOWS\system32\MSASN1.dll (0x76190000)
       C:\WINDOWS\System32\WZCSvc.DLL (0x76D30000)
       C:\WINDOWS\System32\WMI.dll (0x76CC0000)
       C:\WINDOWS\System32\DHCPCSVC.DLL (0x76D10000)
       C:\WINDOWS\System32\WTSAPI32.dll (0x76F00000)
       C:\WINDOWS\System32\WINSTA.dll (0x76260000)
       C:\WINDOWS\System32\ESENT.dll (0x69750000)
       C:\WINDOWS\System32\WZCSAPI.DLL (0x730A0000)
       C:\WINDOWS\system32\mswsock.dll (0x71B20000)
       C:\WINDOWS\System32\wshtcpip.dll (0x71AE0000)
       C:\WINDOWS\System32\winrnr.dll (0x76F70000)
       C:\WINDOWS\System32\rasadhlp.dll (0x76F80000)
       C:\WINDOWS\system32\kerberos.dll (0x71CA0000)
       C:\WINDOWS\System32\cryptdll.dll (0x766E0000)
       C:\WINDOWS\system32\msv1_0.dll (0x76C90000)
       C:\WINDOWS\System32\security.dll (0x71F60000)
    
       escape key pressed: stopped watching PID 1276
       System Date: Tue Oct 07 14:01:16 2003
    
    
    
       ========= end of log file ========= 
    

Com o comando -wport, você pode verificar uma única porta por alterações, enquanto com o comando -wpid, você pode verificar todas as portas usadas pelo processo especificado. Um processo pode estar usando muitas portas, o PortQry irá verificar alterações em todas elas.

Importante Quando usar tanto o comando -wport como o -wpid junto com o parâmetro de log (-l), você deverá pressionar a tela ESC para parar o PortQry e ele fechar corretamente o arquivo de log e sair. Se você pressionar CTRL+C para parar o PortQry ao invés de ESC, o arquivo de log não será fechado corretamente. Neste cenário, o arquivo de log pode ser corrompido ou ficar vazio.

  Topo  

REFERÊNCIAS

Para informações adicionais sobre como usar o PortQry, clique nos seguintes artigos da Base de Conhecimento Microsoft:

310099 Description of the Portqry.exe command-line utility

310456 How to use Portqry to troubleshoot Active Directory connectivity issues

310298 How to use Portqry.exe to troubleshoot Microsoft Exchange Server connectivity issues

310513 How to make Portqry.exe only report listening ports

  Topo