逐跳显示到目标经过的路由器,定位路径中断和绕路。
tracert 从 TTL=1 开始发 ICMP Echo Request,每经过一跳 TTL 减一,路由器回 ICMP Time Exceeded,从而暴露路径上的每一跳;到达目标后回 Echo Reply。默认最多 30 跳、每跳探测 3 次、等待 4000 毫秒,输出每跳的三次时延和解析出的名称。
边界:它只发 ICMP,很多防火墙和路由器对 ICMP 限速或不回复,星号不代表该跳一定故障。路径可能不对称,tracert 只显示去程;它也不能测 TCP/UDP 端口、应用层状态或二层设备。逐跳丢包统计用 pathping,端口连通用 Test-NetConnection 或 curl。
Windows 10/11 都自带该命令;Linux 的 traceroute 默认常用 UDP 探测,行为不同。-d 关闭反向解析能显著加快输出,-4/-6 明确协议栈,-h 限制跳数。目标只接受主机名或 IP,不能直接粘贴 URL。
# 1. 默认跟踪到目标,最多 30 跳
C:\> tracert example.com
# 2. 关名称解析、限制 15 跳、每跳等 1 秒,快速看路径
C:\> tracert -d -h 15 -w 1000 example.com
# 3. 强制走 IPv4,避免名称优先解析到 IPv6
C:\> tracert -4 example.com
# 4. 强制走 IPv6,排查双栈环境下的另一条路径
C:\> tracert -6 example.com
# 5. 松散源路由只适合受控实验,多数网络会丢弃
C:\> tracert -j 192.168.1.1 10.0.0.1
* 但目标能 ping 通,通常是路由器不回复 ICMP 或做了限速;不要据此判断链路断开。用 pathping 看后续跳的统计,或直接测目标端口。* 不一定是网关故障,可能是本机防火墙拦 ICMP 或网关禁用了 TTL 超时回复;先 ping 网关,再看邻居和交换机端口。https://example.com/path 直接交给 tracert 会解析失败;只保留主机名 example.com,端口和路径不属于 tracert 的范围。-d,确认路径后再决定是否解析名称。-w 设得太小会把正常的高时延跳显示成 *;默认 4000 毫秒是有原因的,跨洲链路不要盲目降到 200。合上页面,先回答,再展开对照。
* 一定表示该跳故障吗?为什么?https://example.com/path?应该输入什么?example.com。
小程序版
微信扫码,随时查命令