关键不是看整体执行时间长,而是识别哪一跳延迟突增、丢包或响应异常:第4跳15ms→第5跳180ms表明问题在第5跳或其链路,连续星号多因icmp禁用而非故障,加-n/-q 5/-w 2/-t -p 443等参数提升准确性。

Linux中用traceroute排查路由慢,关键不是看“整体执行时间长”,而是识别路径中哪一跳延迟突增、丢包或响应异常——这才是真正拖慢业务访问的节点。
重点看每跳延迟变化,不是总耗时
traceroute输出里,连续三组毫秒值(如 12.3 ms 14.1 ms 13.8 ms)代表该跳三次探测的往返时间。真正要盯的是:
— 第4跳平均15ms,第5跳突然跳到180ms → 问题大概率出在第5跳设备或它通往第6跳的链路
— 连续两跳以上延迟比前几跳高出5倍以上(比如从20ms升到120ms+),常说明骨干网拥塞或策略限速
— 同一跳结果波动剧烈(如 18ms / 132ms / 41ms),比稳定高延迟更可能指向瞬时队列拥塞或QoS整形
别把星号(*)全当故障
星号只表示该跳没回ICMP超时消息,原因多样:
— 前2–3跳全是*:家用路由器或ISP边界设备常禁用ICMP响应,属正常配置
— 中间某段连续*(如第7–9跳),但前后跳有响应:多为运营商核心节点屏蔽traceroute探测,不影响真实业务
— 从某跳起全部*(如第5跳开始全*),且第4跳有响应:需立刻ping目标IP确认是否已断连
加几个参数让结果更准、更快
默认行为容易被干扰,推荐组合使用:
— -n:跳过DNS反向解析,避免因DNS慢或失败卡住输出
— -q 5:每跳发5个包,比默认3个更能反映真实丢包和延迟趋势
— -w 2:设超时为2秒,防止某跳无响应时干等3秒(默认)
— -T -p 443:用TCP模拟HTTPS流量,绕过UDP被防火墙拦截的情况(尤其云环境)
交叉验证比单次结果更可靠
一次traceroute只是快照,建议:
— 对同一目标重复执行2–3次,看延迟突增点是否稳定出现在同一跳
— 用mtr www.example.com持续探测,观察丢包率与延迟随时间的变化曲线
— 查异常跳IP的归属(如用whois 202.97.x.x或访问bgp.he.net),确认是否跨运营商(如电信→联通),这类跳转天然伴随延迟升高











