自测脚本:一条命令测线路

不用装任何东西,一条命令就能给这台机器做一次到国内方向的线路体检。这篇讲怎么跑、数字怎么看、以及为什么必须在你自己的机器上测。

一、先拿脚本测一遍(30 秒)

在你自己的服务器上执行这三行之一,就会做一次到国内方向的线路体检:

# 方式一:直接跑(不落盘)
curl -fsSL https://ping.4w.ee/tools/line-check.sh | bash

# 方式二:先看脚本内容再跑(推荐 —— 别盲跑网上的脚本)
curl -fsSL https://ping.4w.ee/tools/line-check.sh -o line-check.sh
less line-check.sh        # 看一眼它到底干什么
bash line-check.sh

# 方式三:只想快速测延迟(约 20 秒)
bash line-check.sh --quick

脚本做什么:向 5 个公开的国内节点发 ICMP 包统计延迟/抖动/丢包, 再跑一次到香港节点的路由,最后给一段「怎么读这些数字」的说明。
脚本不做什么:不改任何配置、不装任何东西、不上传任何数据到我们这儿。 它只用系统自带的 ping(有 mtr 会多测一次路由)。

二、为什么要在自己机器上测,而不是在网页上点一下

市面上不少「在线 ping」是从它们的服务器去 ping 你填的 IP —— 测的是「那个服务器 → 你的 IP」,跟你的实际使用方向可能完全相反。

方向很重要,因为网络是非对称的:去程走一条线、回程可能走另一条,两家运营商的国际出口也不一样。 所以:

本站的监控页测的是前者(国内 12 个机房作为探测点);上面那个脚本测的是后者。 两个方向都测过,才算对这条线路有完整认识。

三、脚本给出的数字怎么看

现象含义怎么办
最小/平均/最大 三个数很接近线路稳定好——这就是你要的
平均比最小高出很多
(如最小 40、平均 120)
抖动大,可能有绕路或拥塞 换个时段复测;看脚本第 3 步的路由
只有个别目标丢包可能是那个目标在限速 ICMP 忽略它,看其它目标是否一致
多个目标都丢 >3%线路本身有问题 换时段复测;若一直如此,该考虑换线路
某个目标 100% 不通可能只是 ICMP 被挡了 用 TCP 方式(tcping 到 443 端口)复核,别急着下结论

四、三个必须知道的局限

  1. ICMP ≠ 实际速度。 ping 只反映网络层的往返时间。 有些线路 ICMP 很快但 TCP 被限速,也有反过来的。要测速度得用 iperf3 或实际下载。
  2. DNS 服务器会限速 ICMP。 223.5.5.5 这类公共 DNS 的首要任务是解析域名, 对 ping 的响应优先级不高,所以它的数字只能横向比,别当绝对值。
  3. 时段差异可能比线路差异还大。 晚 19:00–24:00 的国际出口是共享的, 同一台机器白天 40ms、晚上 200ms 很常见。务必两个时段各测一次。

五、想要持续数据?看本站监控

脚本给的是一次快照。要看「这条线路长期稳不稳、晚高峰掉不掉」, 得看持续采集的数据 —— 本站 12 台机房每 5 分钟采一次,页面上能直接看到 30 小时与 10 天的曲线。

看 12 台机房的实时对比 → 晚高峰丢包怎么判断

接着看