Appearance
路由追踪 — 路径探测
路由追踪探测数据包从本机到目标所经过的每一跳(路由器),用于定位网络路径中的延迟和丢包点。
UDP 路由追踪
使用系统 traceroute 命令,默认发送 UDP 探测包。
参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 目标 (target) | string | 是 | — | IP 地址或域名 |
| 最大跳数 (max_hops) | integer | 否 | 30 | TTL 最大值(1-255) |
| 超时 (timeout) | integer | 否 | 5 | 每跳超时时间(秒) |
结果解读
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 1.234 ms 1.100 ms 1.050 ms
2 10.0.0.1 (10.0.0.1) 5.678 ms 5.500 ms 5.400 ms
3 * * *
4 72.14.215.120 (72.14.215.120) 15.200 ms 15.100 ms 14.900 ms
5 8.8.8.8 (8.8.8.8) 12.345 ms 12.200 ms 12.100 ms| 现象 | 含义 |
|---|---|
* * * | 该跳无响应(路由器禁用 ICMP TTL 超时回复或防火墙拦截) |
| 延迟突增 | 该跳可能存在拥塞或跨运营商链路 |
一直 * * * 后到达目标 | 中间节点限制 ICMP,不影响实际通信 |
| 停在某跳后无法到达目标 | 该跳之后路由不可达或目标防火墙丢弃包 |
TCP 路由追踪
使用 traceroute -T(TCP SYN 包),能穿透更多屏蔽 UDP 的防火墙。
参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 目标 (target) | string | 是 | — | IP 地址或域名 |
| 端口 (port) | integer | 否 | (系统默认) | 目标端口(1-65535) |
| 最大跳数 (max_hops) | integer | 否 | 30 | TTL 最大值(1-255) |
| 超时 (timeout) | integer | 否 | 5 | 每跳超时时间(秒) |
结果解读
与 UDP 模式类似,但使用 TCP SYN 探测。适合以下场景:
- 目标防火墙屏蔽 ICMP
- 需要验证到指定端口的路径
- UDP traceroute 被中间网络设备限流
判断标准
- 完整路径可达 → 最后一跳为目标 IP,各跳延迟平稳
- 某跳延迟突增 → 该跳是瓶颈,可能存在 congestion
- 中间多跳无响应 → 路由器不回复 ICMP TTL-exceeded(正常现象,看最后一跳是否可达)
- 目标不可达 → 在中间某跳后不再有回应,且未到达目标
注意事项
- 需要系统安装
traceroute命令 - 需要
CAP_NET_RAW权限 - UDP 模式受防火墙影响较大,TCP 模式兼容性更好