traceroute输出中每行开头的数字代表跳数(Hop),其后三个毫秒值(如“1.234 ms 1.456 ms 1.678 ms”)才是该跳的往返延迟(RTT);出现“*”表示该节点未响应ICMP超时包,可能因防火墙策略丢包而非断连。

Linux怎么查看网络路径跳数延迟追踪

traceroute 输出里哪一列代表跳数延迟

每一行最前面的数字,表示的就是第几跳(Hop);后面紧跟着的三个毫秒值,才是这一跳真正需要关注的往返时延。中间出现的 IP 或主机名,很容易让人分神,但判断网络情况时,重点其实在那三组 xx.xxx ms 上——它们对应的是三次彼此独立的探测结果,也就是 RTT(Round-Trip Time)。至于某一跳里出现 *,含义也别理解错了:这通常只是该节点没有返回 ICMP 超时包,并不代表链路已经中断,更常见的情况是策略层面的丢包或限制响应。

为什么 traceroute -n 是必须加的参数

默认 traceroute 会对每个返回的 IP 做反向 DNS 查询,这会拖慢整个过程,尤其在跨国路径或 DNS 不稳时,某跳可能卡住好几秒才继续,甚至因解析失败把整行显示成 ??? 或空字段。加 -n 后输出全是 IP,执行快、结果干净、时间戳可靠。

ICMP 模式(-I)比默认 UDP 更容易穿透防火墙

现实里,这种情况其实很常见:不少企业出口、云平台安全组以及运营商设备,默认会放行 ICMP Echo Reply(也就是 ping 回包),但对 UDP 端口往往卡得更严,尤其是 traceroute 默认使用的 33434+ 这类高位端口更容易被拦截。把参数切到 -I 的 ICMP 模式之后,普通用户权限就可以直接运行,不必再用 sudo,而且整体响应率通常也会更高。

mtr 比 traceroute 更适合定位抖动和间歇性丢包

traceroute 是单次快照,mtr 是持续观测——它每秒发包、实时刷新,能暴露 traceroute 容易漏掉的波动问题。关键看三列:Loss%(非 0 就可疑)、A vg(连续 ≥100ms 要查)、StDev(标准差 >30ms 说明抖动大)。

真实网络里没有“标准路径”,同一命令多次执行结果可能不同。重点不是记住所有参数,而是理解每跳延迟变化背后意味着什么——是设备过载?策略限速?还是单纯 ICMP 被丢?别只抄命令,得看懂数字背后的链路状态。
本文转载于:https://www.php.cn/faq/2979119.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。