Możliwe jest „pingowanie” adresu URL: port? (OS X-GeekTool)

20

Próbuję użyć GeekTool (okienko prefabrykowane Maca ... po prostu osadza dane wyjściowe polecenia / skryptu powłoki na pulpicie ... http://lifehacker.com/#!244026/geek-to-live--monitor -your-mac-and-more-with-geektool ), aby monitorować zdalne maszyny / serwer, i mam problem z ustaleniem, jak najlepiej sprawdzić, czy maszyna jest w górę / w dół.

Używam no-ip jako darmowego przekierowania dns ... ale to pomaga mi tylko z publicznym adresem IP routera. Maszyna, której chcę, znajduje się za routerem i dlatego nie może być bezpośrednio „pingowana”.

Mam skonfigurowane przekierowanie portów dla portu 8080, który prowadzi do żądanej maszyny. Czy istnieje sposób, aby zasadniczo pingować przez port 8080, aby sprawdzić, czy komputer jest uruchomiony? Próbowałem telnet, ale najwyraźniej nie działa (o ile dane wyjściowe) w GeekTool. Prowadzę stronę internetową pod 8080, więc myślę, że chcę tylko wiedzieć, czy / kiedy przestanie działać.

Z góry dziękuję ... jeśli mogę udzielić więcej wyjaśnień, daj mi znać.

(zrozumiałem mój problem ... patrz poniżej)

loeschg
źródło
2
pingjest protokołem ICMP, podczas gdy porty to pojęcia TCP i UDP. Wszystkie 3 są odrębnymi protokołami na szczycie IP. Oznacza to, że pakiet IP zawierający TCP nie może zawierać ICMP i odwrotnie. Oznacza to również, że nagłówek TCP (z portem) nie jest obecny w pakiecie ping ICMP.
MSalters

Odpowiedzi:

24

Aby sprawdzić konkretny port, możesz użyć telnet:

telnet 127.0.0.1 8080

(Port podąża za adresem IP / nazwą hosta spacją, a nie dwukropkiem.)

Jeśli pojawi się natychmiastowy błąd, port jest niedostępny. Jeśli telnet zawiesi się, oznacza to, że pomyślnie nawiązano połączenie z portem. Ctrl+ Caby zabić telnet.

Może to jednak pomóc, ale nie musi, problem z przekierowaniem portów. To tylko prowadzi do tego adresu IP i portu.

Gafel
źródło
Wykonałoby to zadanie ... ale nie działa z GeekTool: /. Doceniam pomoc.
loeschg
2
Może być konieczne uruchomienie, brew install telnetaby zainstalować telnet.
Lucas Bustamante
6

Tam jest hping narzędzie, które pozwala na portach TCP ping. Jest to również dostępne za pośrednictwem homebrew (instalacja do parzenia).

backdrift.org podaje proste instrukcje, jak używać hping w tym celu

$ 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
źródło
0

Można użyć wget, curlitd., Aby sprawdzić, czy strona odpowiada.

Neil
źródło
1
To może tylko sprawdzić port usługi internetowej.
244boy
@ 244boy Pytanie brzmiało: „Prowadzę stronę internetową pod 8080”, więc pomyślałem, że to rozsądny sposób na sprawdzenie.
Neil,
0

Telnet wykonuje zadanie, ale nie jestem w stanie zintegrować go z GeekTool. Skończyło się na pingowaniu mysqladmin na zdalną maszynę . Witryna ma zaplecze db, więc to (mniej więcej) zwraca informacje, których szukam. Dzięki za wszelką pomoc!

loeschg
źródło