tracert 是什么
tracert 是 Windows 自带的路径探测工具,原理与 Linux 的 traceroute 相同:靠逐级增大生存时间字段让沿途设备回送超时差错,从而画出到目标的完整路径。区别在探测方式——tracert 默认用 ICMP 回显请求,Linux 默认用 UDP 高端口,所以同一网络里两个工具的中间跳结果可能不一样。它在终端排障中很好用,因为不需要额外安装任何东西。
基本信息
| 适用平台 | Windows 全系列自带,无需安装;命令行或 PowerShell 中直接执行 |
|---|---|
| 默认行为 | 每跳发三个探针,最多三十跳,默认会做反向名称解析 |
| 探测方式 | ICMP 回显请求,与 Linux 默认的 UDP 探测不同 |
| 配套工具 | pathping 在路径基础上再做一段时间统计,适合看逐跳丢包 |
常用参数
| 参数 | 作用 | 使用建议 |
|---|---|---|
| -d | 不做反向名称解析 | 现场排障首选项,输出速度差别很大 |
| -h 15 | 限制最大跳数 | 跨境访问可先限制到 20 跳以内 |
| -w 500 | 设置单个探针等待毫秒数 | 弱网链路先把等待调小,避免长时间卡住 |
| -4 / -6 | 强制使用 IPv4 或 IPv6 | 双栈环境中用来确认走的是哪套协议 |
| -S 地址 | 指定源地址 | 多网卡终端上验证出口选择 |
| -j 主机列表 | 松散源路由 | 现代网络极少支持,一般不用 |
常用写法
常用写法
tracert -d 8.8.8.8 # 不解析名称,快速看路径
tracert -h 15 -w 500 10.9.9.9 # 最多 15 跳,每探针等待 500 毫秒
tracert -4 www.example.com # 强制走 IPv4
tracert 10.0.0.5 | Select-Object -First 12 # 只保留前面几跳,节省输出
pathping -q 50 -p 250 10.0.0.5 # 逐跳做一段时间统计,看哪一跳开始丢包输出逐列读法
| 列 | 含义 | 异常表现 |
|---|---|---|
| 跳数序号 | 经过的第几台三层设备 | 序号很快到达目标说明路径短,突然增多说明绕行 |
| 三个时间值 | 三个探针各自的往返时间 | 某一跳开始整体抬升,瓶颈在该跳之后 |
| 地址或名称 | 该设备的接口地址或解析出的名称 | 同一跳显示多个地址说明存在负载分担 |
| 请求超时星号 | 该探针没有收到差错报文 | 整行星号但后续跳正常,通常只是设备不回应 |
tracert 每个探针都要等待,链路差时整条命令可能跑几十秒;先用 -d 关掉解析、再用 -w 缩小等待,能明显加快。
Windows 防火墙默认可能不放行入站回显请求,让对方 ping 或 tracert 你这台机器时,第一跳之后全是超时并不代表网络故障,要用业务端口反向验证。