È possibile "ping" url: port? (OS X-GeekTool)


20

Sto cercando di usare GeekTool (pannello di pref Mac ... fondamentalmente incorpora solo l'output di un comando / script della shell sul desktop ... http://lifehacker.com/#!244026/geek-to-live--monitor -your-mac-and-more-with-geektool ) per monitorare un computer / server remoto, e sto riscontrando dei problemi nel determinare il modo migliore per verificare se un computer è su / giù.

Sto usando no-ip come reindirizzamento DNS gratuito ... ma questo mi aiuta solo con l'IP pubblico del router. La macchina che voglio è dietro il router e quindi non può essere "pingata" direttamente.

Ho impostato il port forwarding per la porta 8080 che porta alla macchina che desidero. C'è un modo per eseguire essenzialmente il ping attraverso la porta 8080 per vedere se la macchina è attiva e in esecuzione? Ho provato telnet, ma a quanto pare non funziona (per quanto riguarda l'output) in GeekTool. Sto gestendo un sito Web a 8080, quindi suppongo che voglio solo sapere se / quando diminuisce.

Grazie in anticipo ... se posso fornire ulteriori chiarimenti fatemi sapere.

(ho capito il mio problema ... vedi sotto)


2
pingè un protocollo ICMP, mentre le porte sono concetti TCP e UDP. Tutti e 3 sono protocolli distinti su IP. Ciò significa che un pacchetto IP contenente TCP non può contenere ICMP e viceversa. Significa anche che l'intestazione TCP (con la porta) non è presente in un pacchetto ping ICMP.
MSalters il

Risposte:


24

Per controllare una porta specifica, è possibile utilizzare telnet:

telnet 127.0.0.1 8080

(La porta segue l'IP / nome host con uno spazio, non due punti.)

Se viene visualizzato un errore immediato, la porta non è disponibile. Se telnet si blocca, la connessione alla porta è stata eseguita correttamente. Ctrl+ Cper uccidere telnet, quindi.

Tuttavia, ciò può aiutare o meno a risolvere il problema del port forwarding. Ti porta solo a quell'IP e quella porta.


Questo farebbe il lavoro fatto ... ma non funziona con GeekTool: /. Apprezzo l'aiuto.
loeschg,

2
Potrebbe essere necessario eseguire brew install telnetper installare telnet.
Lucas Bustamante,

6

C'è un'utilità di hping che ti consente di eseguire il ping delle porte TCP. Questo è disponibile anche tramite homebrew (brew install hping).

backdrift.org fornisce semplici istruzioni su come utilizzare hping per questo scopo

$ 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

0

È possibile utilizzare wget, curlecc. Per verificare che il sito Web stia rispondendo.


1
Questo può solo controllare una porta del servizio web.
244 ragazzo,

@ 244boy La domanda diceva "Sto gestendo un sito Web a 8080", quindi ho pensato che fosse un modo ragionevole per verificare.
Neil,

0

Telnet svolge il lavoro, ma non riesco a integrarlo con GeekTool. Ho finito per fare un ping mysqladmin sul computer remoto . Il sito Web ha un back-end db, quindi questo (più o meno) restituisce le informazioni che sto cercando. Grazie per tutto l'aiuto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.