Como posso determinar se uma porta está aberta em um servidor Windows?

I'estou tentando instalar um site sob uma porta alternativa em um servidor, mas a porta pode ser fechada por um firewall. Existe uma maneira de pingar para fora ou para dentro, em uma porta específica, para ver se ela está aberta?

Solução

Assumindo que é uma porta TCP (em vez de UDP) que você'está tentando usar:

  1. No próprio servidor, utilize netstat -an para verificar quais portas estão escutando.

  2. De fora, basta utilizar telnet host port (ou telnet host:port em sistemas Unix) para ver se a conexão é recusada, aceita ou se há timeouts.

Nesse último teste, então em geral:

  • A ligação recusada_ significa que nada está a funcionar naquela porta.
  • significa que algo está a correr naquela porta.
  • tempo esgotado_ significa que um firewall está bloqueando o acesso

No Windows 7 ou Windows Vista a opção padrão 'telnet' não é reconhecida como um comando interno ou externo, programa operável ou arquivo de lote. Para resolver isto, basta ativá-lo: Clique em *IniciarPainel de controle*ProgramasAtivar ou desativar recursos do Windows. Na lista, role para baixo e selecione Cliente da Rede* e clique em OK.

Comentários (7)

Se a telnet não estiver disponível, baixe PuTTY. É um cliente Telnet, SSH, etc. muito superior e será útil em muitas situações, não apenas nesta, especialmente se você estiver administrando um servidor.

Comentários (1)

Queres uma ferramenta para o fazer? Há um website em http://www.canyouseeme.org/. Caso contrário, você precisa de outro servidor para ligar de volta para ver se uma porta está aberta...

Comentários (0)