Möglich, url: port zu "pingen"? (OS X-GeekTool)

19

Ich versuche, GeekTool zu verwenden (Mac-Einstellungsbereich ... bettet im Grunde nur die Ausgabe eines Shell-Befehls / Skripts auf dem Desktop ein ... http://lifehacker.com/#!244026/geek-to-live--monitor -Ihr-Mac-und-mehr-mit-Geektool ), um einen Remote-Computer / Server zu überwachen, und ich habe einige Probleme zu bestimmen, wie am besten überprüft werden kann, ob ein Computer hoch / runter ist.

Ich verwende no-ip als kostenlose DNS-Umleitung ... aber dies hilft mir nur bei der öffentlichen IP des Routers. Die von mir gewünschte Maschine befindet sich hinter dem Router und kann daher nicht direkt "pingen".

Ich habe eine Portweiterleitung für Port 8080 eingerichtet, die zu der gewünschten Maschine führt. Gibt es eine Möglichkeit, im Wesentlichen über Port 8080 zu pingen, um festzustellen, ob die Maschine betriebsbereit ist? Ich habe telnet ausprobiert, aber dies funktioniert anscheinend nicht (was die Ausgabe betrifft) in GeekTool. Ich betreibe eine Website bei 8080, also denke ich, ich möchte nur wissen, ob / wann sie ausfällt.

Vielen Dank im Voraus ... wenn ich mehr Klarheit geben kann, lass es mich wissen.

(mein Problem herausgefunden ... siehe unten)

loeschg
quelle
1
pingist ein ICMP-Protokoll, während Ports TCP- und UDP-Konzepte sind. Alle 3 sind unterschiedliche Protokolle zusätzlich zu IP. Das bedeutet, dass ein IP-Paket, das TCP enthält, kein ICMP enthalten kann und umgekehrt. Dies bedeutet auch, dass der TCP-Header (mit dem Port) in einem ICMP-Ping-Paket nicht vorhanden ist.
MSalters

Antworten:

23

Um einen bestimmten Port zu überprüfen, können Sie Telnet verwenden:

telnet 127.0.0.1 8080

(Der Port folgt auf die IP / den Hostnamen mit einem Leerzeichen und keinem Doppelpunkt.)

Wenn Sie eine sofortige Fehlermeldung erhalten, ist der Port nicht verfügbar. Wenn Telnet hängt, haben Sie erfolgreich eine Verbindung zum Port hergestellt. Ctrl+ Cum dann telnet zu töten.

Dies kann jedoch bei der Portweiterleitung hilfreich sein oder auch nicht. Sie gelangen nur zu dieser IP und diesem Port.

Gaff
quelle
Dies würde die Arbeit erledigen ... aber es funktioniert nicht mit GeekTool: /. Ich schätze die Hilfe.
Loeschg
1
Möglicherweise müssen Sie ausführen brew install telnet, um Telnet zu installieren.
Lucas Bustamante
6

Theres ist ein HPing- Dienstprogramm, mit dem Sie TCP-Ports anpingen können. Dies ist auch über Homebrew (Brew Install HPing) verfügbar.

backdrift.org enthält eine einfache Anleitung zur Verwendung von HPING für diesen Zweck

$ 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
quelle
0

Sie könnten verwenden wget, curlusw. zu überprüfen, ob die Website reagiert.

Neil
quelle
Dies kann nur einen Webservice-Port überprüfen.
244boy
@ 244boy Die Frage lautete "Ich betreibe eine Website mit der Nummer 8080", daher hielt ich es für eine vernünftige Möglichkeit, dies zu überprüfen.
Neil
0

Telnet erledigt den Job, aber ich kann das nicht in GeekTool integrieren. Am Ende habe ich einen mysqladmin-Ping an die entfernte Maschine gesendet . Die Website hat ein DB-Backend, daher gibt dieses (mehr oder weniger) die Informationen zurück, nach denen ich suche. Danke für all die Hilfe!

loeschg
quelle