Ping 检测测的是什么
Ping 干的事很简单:向目标发一个 ICMP Echo Request,等它回一个 Echo Reply,算出往返耗时。

Ping 检测首页:多节点并发探测,输出延迟、丢包与抖动
但它的边界也很清楚:只覆盖网络层。 不涉及 DNS 解析,不涉及 TLS 握手,也不涉及页面渲染。所以 Ping 通不代表网站一定能打开,Ping 不通也不代表网站不可用——这两句话是理解 Ping 的前提。
三个数字
一次 Ping 检测会给出三组信息:
- RTT(往返延迟):发出到收回的时间,单位毫秒
- 丢包率:发出去的包有多少没回来
- 抖动:最大延迟与最小延迟的差值,反映稳定性
延迟看的是「快不快」,丢包看的是「稳不稳」,抖动看的是「稳不稳得住」。三个一起看,才是完整判断。
ICMP 到底测了什么
从你的节点到目标之间,要经过十几跳路由。ICMP 包走的是这条路径的网络层,沿途每一跳的排队、转发、拥塞都会体现到 RTT 上。
所以 Ping 的结果本质上是链路质量的度量:距离越远、跳数越多、互联越差,数字越大。
它不关心目标上跑的是 Nginx 还是 Apache,也不关心证书有没有过期。这些都属于上面的层。
为什么 Ping 通但网站打不开
四种常见情况:
- 端口没开放:80/443 被防火墙挡了,ICMP 却放行
- DNS 解析错误:IP 通,域名指错了地方
- 证书过期或被拒:浏览器直接拦截
- 后端服务挂了:网关在,应用不在,返回 502
这四件事 Ping 全都测不出来。反过来说,Ping 报异常时也不能直接判定「网站挂了」,得往上走一层确认。
为什么 Ping 不通但网站正常
因为很多服务器出于安全考虑关了 ICMP。
这是行业惯例——ICMP 常被用于探测和放大攻击,云厂商和机房的默认策略里经常直接丢弃。这时候 Ping 全部超时,但网站一点问题没有。
遇到这种情况,用 TCPing 打业务端口:它走 TCP 握手,不依赖 ICMP,能测出真实的连通性。
它适合回答什么
- 这台机器的网络通不通
- 到各地的链路质量怎么样
- 丢包是不是集中在某些地区
- 延迟抖动是不是变大了
不适合回答:网站能不能打开、页面加载多快、证书有没有问题、服务端处理要多久。
分清楚这条线,就不会拿着 Ping 结果去解释一个它根本管不到的问题。