Ping equivalente para verificar se uma porta está aberta

9

Como verifico se uma porta está sempre ativa? Por exemplo, eu poderia usar

ping 192.168.1.1 -t > results.txt

Isso fará o ping 192.168.1.1 continuamente, para que eu possa monitorá-lo.
Existe uma ferramenta ou comando equivalente que eu poderia usar para isso?

Atualmente eu uso o telnet, mas às vezes o host o desconecta. Eu preciso de uma solução do Windows.

grassbl8d
fonte
É uma porta específica que você precisa verificar, por exemplo, a porta 80 para http ou a porta 21 para ftp, ou é um endereço IP específico que você precisa verificar, ou seja, para testar se o host está acessível. O último é o que o seu exemplo acima está fazendo.
8283 Chris
Estou querendo verificar uma porta específica, se estiver aberta.
grassbl8d
Como o ping "padrão" usa mensagens ICMP, e ao falar sobre portas, você provavelmente pensa em TCP / IP, há uma incompatibilidade que não pode ser fechada (ICMP e IP são protocolos muito diferentes). pingé a ferramenta errada para o monitoramento, você deve usar algo que gere o tipo de tráfego necessário para o serviço específico. Exemplo: para monitorar um site, você envia uma consulta HTTP, etc.
Patrick Mevzek 16/05

Respostas:

13

Você pode usar o netcat se houver uma versão do Windows - no Linux eu uso:

nc -z <host> <port>

Isso retorna 0 se a porta estiver aberta. Execute isso em um loop para torná-lo contínuo.

Se o Powershell estiver disponível, consulte https://web.archive.org/web/20111102182913/http://poshcode.org/85 para obter um exemplo.

Andrew
fonte
2
executar ping cada segundo um host em uma porta e regresso 0se com sucesso assim, 1outra coisa:while (:); do nc -z HOSTNAME_HERE PORT_HERE; echo $?; sleep 1; done
sjas
ligação não funciona mais
Clinton Ward
@ClintonWard Atualizado com um link arquivado :)
Andrew
5

Ou use o nmap em http://nmap.org , existe uma versão do Windows disponível.

host de porta nmap -p

ou, para hosts que não respondem a solicitações de ICMP,

host de porta nmap -P0 -p

rems
fonte
5

Você poderia usar o nping do nmap como:

C:\>nping --tcp -p 80 192.168.1.1

onde -pespecifica a porta a ser varrida (aqui: 80). Além disso, você pode usar -Hpara ocultar pacotes enviados, a favor de mostrar apenas respostas.

Murmel
fonte
0

O telnet <host> <port>verificará remotamente se <host>há um ouvinte TCP ativado <port>.

dmourati
fonte
0

Se você quer ir com utils linha de comando de ações, em seguida, TELNET irá se conectar a uma porta para você. Por outro lado, se houver serviço respondendo, o TELNET pode 'travar' enquanto espera que você forneça a sequência de comandos de escape.

Se você está aberto a instalação de novos utils linha de comando, em seguida, Paping obras como você quer . É multiplataforma e existe um instalador do Windows disponível.

Jesper M
fonte