Como descobrir se um endereço / porta específico está acessível?

10

Preciso de um utilitário simples que permita verificar se um PC, conectado a uma rede local, é capaz de alcançar um endereço especificado : porta usando protocolo especificado como TCP ou UDP

O SO da máquina que usarei para fazer a verificação é o Windows XP.

Drake
fonte
Você deve verificar o nosso psexec da Microsoft Sysinternals. Isso permitirá que você execute um processo em um determinado computador usando credenciais fornecidas.
Music2myear

Respostas:

11

Use simplesmente telnet:

telnet hostname port

Se você obtiver uma conexão, algo responderá nessa porta.

Se você receber uma mensagem de erro, nenhum programa está escutando nessa porta ou o nome do host é inválido:

Connecting To hostname...Could not open connection to the 
host, on port <port>: Connect failed
Snark
fonte
+1, telnet ou o todo-poderoso netcat (nc), mas você precisa obtê-lo de "algum lugar", para que o telnet esteja bem.
Akira
1
@snark qual protocolo é usado para fazer esse teste? TCP, UDP ou outro?
Drake
O TCP é usado, pois o telnet estabelece uma conexão. O UDP não possui conexão, então você não pode dizer se alguém está ouvindo ou não.
Snark
obrigado. Portanto, não há como usar uma ferramenta para verificar se o UDP é permitido na saída em uma determinada porta? Apenas usando o aplicativo desejado e ver se está funcionando?
Drake
3

O nmap deve ser capaz de lidar com isso.

CaseyIT
fonte
2
se você pudesse fornecer um exemplo junto com essa sugestão, seria ótimo. Talvez algo parecido com isto funcione:nmap -v IP_ADDRESS -Pn -p PORT
Chris
3

Você pode usar o iperf para verificar se as portas UDP estão acessíveis ou não.

Exemplo: Testando se a porta 5093 UDP está aberta no servidor remoto 10.0.0.1

C:\>iperf -u -p 5093 -c 10.0.0.1
------------------------------------------------------------
Client connecting to 10.0.0.1, UDP port 5093
Sending 1470 byte datagrams
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
[320] local 10.16.61.182 port 54574 connected with 10.0.0.1 port 5093
[ ID] Interval       Transfer     Bandwidth
[320]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec
[320] **Sent 893 datagrams**

Como você pode ver, o cliente transferiu 893 datagramas com sucesso, o que significa que a porta está realmente aberta. Caso o firewall esteja bloqueando a porta, você deve ler uma mensagem como esta:

Read failed: Connection reset by peer
Rafa Uemura
fonte