系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

tracert

逐跳显示到目标经过的路由器,定位路径中断和绕路。

补充说明

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

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. tracert 输出的 * 一定表示该跳故障吗?为什么?
  2. 为什么 tracert 不能直接测 https://example.com/path?应该输入什么?
  3. 去程 tracert 正常、回程却不通,可能吗?tracert 能证明什么?
答案
  1. 不一定;很多路由器不回复 ICMP 或对 TTL 超时限速,星号只表示没收到该次回复。
  2. 它只接受主机名或 IP,不解析 URL 的协议、端口和路径;应输入 example.com。
  3. 可能,路由和防火墙常导致路径不对称;tracert 只证明去程的 ICMP 路径,不能证明回程。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令