A ferramenta PortQry 2.0
- RESUMO
- REFERÊNCIAS
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:
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
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 unreachableFILTERED 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.
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.
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:
- 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.
- O PortQry reporta que a porta está em LISTENING ou FILTERED.
- O PortQry envia uma consulta LDAP corretamente formada para a porta UDP 389 no computador de destino.
- 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:
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.
O PortQry relata que a porta está em estado LISTENING ou FILTERED.
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.
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:
- 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.
- 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
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 ========
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
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
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
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
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
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
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_WAITPor 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.
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