自测脚本:一条命令测线路
不用装任何东西,一条命令就能给这台机器做一次到国内方向的线路体检。这篇讲怎么跑、数字怎么看、以及为什么必须在你自己的机器上测。
一、先拿脚本测一遍(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 端口)复核,别急着下结论 |
四、三个必须知道的局限
- ICMP ≠ 实际速度。 ping 只反映网络层的往返时间。 有些线路 ICMP 很快但 TCP 被限速,也有反过来的。要测速度得用 iperf3 或实际下载。
- DNS 服务器会限速 ICMP。 223.5.5.5 这类公共 DNS 的首要任务是解析域名, 对 ping 的响应优先级不高,所以它的数字只能横向比,别当绝对值。
- 时段差异可能比线路差异还大。 晚 19:00–24:00 的国际出口是共享的, 同一台机器白天 40ms、晚上 200ms 很常见。务必两个时段各测一次。
五、想要持续数据?看本站监控
脚本给的是一次快照。要看「这条线路长期稳不稳、晚高峰掉不掉」, 得看持续采集的数据 —— 本站 12 台机房每 5 分钟采一次,页面上能直接看到 30 小时与 10 天的曲线。