traceroute 是定位网络路径中具体故障跳点的工具,通过逐跳rtt和星号标识识别延迟、丢包及中断位置,并结合ip段归属、参数调优(如-i、-t -p 443)及ping/mtr交叉验证提升诊断准确性。

traceroute 不是用来确认“通不通”的,而是帮你找出“卡在哪一跳”的关键工具。它把网络路径变成一张可读的逐跳地图,让延迟、丢包、绕行这些抽象问题,变成具体 IP 和毫秒数。
看懂每一跳的响应含义
每次 traceroute 输出中,一行代表一个跃点(Hop),通常显示三组时间值(如 12ms 11ms 13ms),这是对同一跳发送的 3 个探测包的往返时延(RTT)。重点看三点:
- 三个数值差异大(比如 5ms / 42ms / 180ms):说明该跳存在不稳定或拥塞
- 出现星号(* * *):该节点未返回 ICMP 超时消息,常见于防火墙屏蔽、设备配置不响应或负载过高,不等于故障,但需标记关注
- 某跳开始持续超时(* * *),后续所有跳全为 *:说明路径在此中断,问题大概率出在该跳设备或其上游
区分内网、运营商、目标侧问题
通过观察 IP 地址段和域名后缀,能快速圈定责任边界:
- 前几跳是私有地址(如 192.168.x.x、10.x.x.x、172.16–31.x.x):属于本地网络或企业内网,检查网关、交换机、ACL策略
- 中间多跳为某 ISP 的网段(如 203.0.113.x、112.120.x.x)或带 isp.net、broadband、core 等字样:问题可能在运营商骨干网,可截图向 ISP 报修
- 最后 1–2 跳 IP 与目标一致,但延迟高或丢包:问题在目标服务器自身或其接入网络,非你方责任
用对参数,避开常见干扰
默认 traceroute 在 Linux 下发 UDP 包(端口递增),部分防火墙会拦截;Windows 的 tracert 默认用 ICMP,更易通过。遇到全星号或结果异常,可主动调整:
- -I:强制使用 ICMP 探测(Linux),兼容性更好
- -T -p 443:改用 TCP SYN 包探测 443 端口,绕过 UDP 屏蔽,适合排查 HTTPS 服务
- -d:跳过 DNS 反向解析,避免因 DNS 延迟或失败导致输出卡顿
- -m 20:将最大跳数设为 20(默认 30),加快收束,适合已知路径较短的场景
结合 ping 与 mtr 做交叉验证
单次 traceroute 是快照,容易受瞬时抖动影响。建议按顺序操作:
- 先 ping 目标:确认基础连通性和整体延迟基线
- 再 traceroute:定位异常跃点
- 最后用 mtr(My Traceroute)持续运行:实时观察各跳丢包率与延迟波动,比静态 traceroute 更具诊断力










