我正在尝试使用 GeekTool(Mac 首选项窗格...基本上只是在桌面上嵌入 shell 命令/脚本的输出...http://lifehacker.com/#!244026/geek-to-live--monitor-your-mac-and-more-with-geektool) 来监控远程机器/服务器,我在确定如何最好地检查机器是否启动/关闭时遇到了一些困难。
我使用 no-ip 作为免费 DNS 重定向...但这只能帮助我获取路由器的公共 IP。我想要的机器位于路由器后面,因此无法直接“ping”到。
我已为端口 8080 设置了端口转发,该端口可通向我想要的机器。有没有办法通过端口 8080 来查看机器是否已启动并正在运行?我试过 telnet,但这在 GeekTool 中显然不起作用(就输出而言)。我在 8080 上运行一个网站,所以我想我只是想知道它是否/何时会关闭。
提前谢谢...如果我可以提供更多说明,请告诉我。
(弄清楚了我的问题...见下文)
答案1
要检查特定端口,您可以使用 telnet:
telnet 127.0.0.1 8080
(端口跟在 IP/主机名后面有一个空格,而不是冒号。)
如果立即出现错误,则表示端口不可用。如果 telnet 挂起,则表示您已成功连接到该端口。Ctrl+C终止 telnet,然后。
不过,这可能有助于解决端口转发问题,也可能无济于事。它只是将您带到该 IP 和端口。
答案2
有平允许您 ping TCP 端口的实用程序。它也可以通过 homebrew (brew install hping) 使用。
backdrift.org给出了如何使用 hping 实现此目的的简单说明
$ 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
答案3
您可以使用wget
等curl
来检查网站是否响应。
答案4
Telnet 可以完成这项工作,但我无法将其与 GeekTool 集成。我最终对远程机器进行了 mysqladmin ping。该网站有一个数据库后端,因此这(或多或少)返回了我正在寻找的信息。感谢大家的帮助!