Possível "pingar" url: port? (OS X-GeekTool)

20

Estou tentando usar o GeekTool (painel de prefixos do Mac ... basicamente incorpora a saída de um comando / script de shell na área de trabalho ... http://lifehacker.com/#!244026/geek-to-live--monitor -seu-mac-e-mais-com-geektool ) para monitorar máquinas / servidores remotos, e estou tendo alguns problemas para determinar a melhor forma de verificar se uma máquina está ativa / desativada.

Estou usando no-ip como um dns grátis redirecionar ... mas isso só me ajuda com o IP público do roteador. A máquina que eu quero está atrás do roteador e, portanto, não pode ser "executada" diretamente.

Tenho o encaminhamento de porta configurado para a porta 8080, que leva à máquina que eu quero. Existe uma maneira de executar ping na porta 8080 para verificar se a máquina está funcionando? Eu tentei o telnet, mas isso aparentemente não funciona (no que diz respeito à saída) no GeekTool. Estou executando um site no 8080, então acho que só quero saber se / quando ele será desativado.

Agradecemos antecipadamente ... se eu puder fornecer mais esclarecimentos, me informe.

(descobri o meu problema ... veja abaixo)

loeschg
fonte
2
pingé um protocolo ICMP, enquanto portas são conceitos de TCP e UDP. Todos os três são protocolos distintos além do IP. Isso significa que um pacote IP contendo TCP não pode conter ICMP e vice-versa. Isso também significa que o cabeçalho TCP (com a porta) não está presente em um pacote de ping ICMP.
MSalters

Respostas:

24

Para verificar uma porta específica, você pode usar o telnet:

telnet 127.0.0.1 8080

(A porta segue o IP / nome do host com um espaço, não dois pontos.)

Se você receber um erro imediato, a porta não estará disponível. Se o telnet travar, você se conectou com êxito à porta. Ctrl+ Cpara matar o telnet, então.

Porém, isso pode ou não ajudar no problema de encaminhamento de porta. Apenas leva você a esse IP e porta.

Gaff
fonte
Isso faria o trabalho ... mas não funciona com o GeekTool: /. Agradeço a ajuda.
loeschg
2
Pode ser necessário executar brew install telnetpara instalar o telnet.
Lucas Bustamante
6

um utilitário hping que permite executar ping em portas TCP. Isso também está disponível via homebrew (hp de instalação de fermentação).

backdrift.org fornece instruções simples sobre como usar o hping para esse fim

$ hping -S -p 80 google.com
HPING google.com (eth0 66.249.92.104): S set, 40 headers + 0 data bytes
len=44 ip=66.249.92.104 ttl=47 id=10442 sport=80 flags=SA seq=0 win=5720 rtt=97.7 ms
len=44 ip=66.249.92.104 ttl=47 id=40838 sport=80 flags=SA seq=1 win=5720 rtt=97.7 ms
len=44 ip=66.249.92.104 ttl=47 id=64607 sport=80 flags=SA seq=2 win=5720 rtt=97.7 ms
len=44 ip=66.249.92.104 ttl=47 id=10443 sport=80 flags=SA seq=3 win=5720 rtt=97.7 ms
^C
--- google.com hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 97.7/97.7/97.7 ms
Juha Palomäki
fonte
0

Você poderia usar wget, curletc, para verificar se o site está respondendo.

Neil
fonte
1
Isso só pode verificar uma porta de serviço da web.
244boy
@ 244boy A pergunta dizia "Estou executando um site no 8080", então achei que era uma maneira razoável de verificar.
30519 Neil
0

O Telnet faz o trabalho, mas não consigo integrar isso ao GeekTool. Acabei fazendo um ping mysqladmin na máquina remota . O site tem um back-end de banco de dados, portanto isso (mais ou menos) retorna as informações que estou procurando. Obrigado por toda a ajuda!

loeschg
fonte