网络诊断教程：ping、traceroute 与 mtr 定位故障

网络诊断教程：ping、traceroute 与 mtr "网络卡了"是世界上最含糊的故障描述。ping、traceroute、mtr 三个命令可以帮你把"卡"拆解成具体环节：是连不上、丢包还是延迟高，问题出在哪一跳。本教程依据 iputils 与 mtr 官方手册整理。一、ping：最基础的连通性测试 ping example.com # 持续 ping，Ctrl+C 停止 ping -c 5 example.com # 只发 5 个包 ping -i 0.5 example.com # 每 0.5 秒一次（间隔小于 0.2 需要 root）重点看结果统计：time= 是往返延迟，packet loss 是丢包率。健康网络对国内目标延迟应在几十毫秒、丢包 0%。注意：ping 不通不一定是网络断了——很多服务器会禁用 ICMP 响应。ping 不通时用 curl -I 再验证一次。二、traceroute：看路径经过了哪里 traceroute example.com 每一行是路径上的一个"跳"（路由器）。三个时间分别是三次探测的往返延迟：中间跳显示 * * *：常见现象，很多路由器不响应探测包，不代表故障，只要后续跳正常就行某一跳开始持续超时且后面全断：问题大概率在这一跳附近排查运营商线路问题时，把各跳 IP 归属地（ip 查询）看一眼，就能定位是哪段网络慢。三、mtr：ping + traceroute 合体 mtr 把上面两个结合成实时刷新的报表，是定位丢包的利器： mtr example.com # 实时刷新界面 mtr -r -c 100 example.com # 报告模式：测 100 个包后输出统计重点看两列： Loss%：每一跳的丢包率 Avg：平均延迟判断丢包在哪一跳的小技巧：如果某跳丢包率高，但它后面的跳丢包率恢复到 0%，那是该路由器限速 ICMP 不理你（假丢包）；如果从某跳开始后面所有跳都持续丢包，问题真的在那一段。四、常见结论对照表现象可能原因 ping 不通但网站能开服务器禁 ICMP，正常全程延迟高、丢包 0% 线路绕远（看 traceroute 是否绕路）某跳之后全丢包该段线路故障或被墙只在晚高峰丢包运营商出口拥塞 DNS 慢但 ping IP 快域名解析问题，用 dig 排查五、总结需求命令测连通与延迟 ping -c 5 目标看路径 traceroute 目标定位丢包 mtr -r -c 100 目标 Windows 对应 ping / tracert / pathping 诊断套路：ping 定性 → traceroute 定位段 → mtr 定位点。三个命令跑完，"网络卡"就变成了可汇报、可追责的具体结论。