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