背景 :这是一个常见的问题,我们可以在谷歌上搜索“ping 可以但 http 不行”
ping 不是可靠的网络连接测试。
ping 工作仅意味着 IP 堆栈足以处理 ICMP Echo 请求(与 SSH 和 Web 服务器所需的相比,这占系统的比例并不大)。我们可能会遇到我所说的“部分恐慌”(内核崩溃,但 IP 代码仍在运行)、内存耗尽,或者我们的 SSH/HTTPd 进程可能因不明原因而崩溃。
资源
- 服务器不响应 SSH 和 HTTP,但 ping 可以
- http://forums.opensuse.org/english/get-technical-help-here/network-internet/403023-ping-works-but-nothing-else-does.html
- https://superuser.com/questions/203667/can-ping-fine-but-no-browsing
我的问题 :有任何用于 ping HTTP 的命令行工具吗?
答案1
有许多命令行工具可以作为命令行 HTTP 或简单的 TCP 客户端。 netcat
并且telnet
(是的,nmap
)可以告诉您 TCP 端口是否响应,或者curl
可以wget
处理尝试完整的 HTTP 请求。
但是如果您遇到服务故障的问题,为什么不采用真正的监控解决方案呢?
答案2
curl --head http://ipaddress/
最接近 ping,因为它是服务器响应 HTTP 请求的最低限度的检查。
任何有价值的监控系统都内置有此功能。Nagios 是免费的,如果我没记错的话
答案3
有一个小程序可以使用 TCP 数据包测试远程主机的性能,它的名字是回响。我认为你在寻找什么