traceroute怎么用?Windows路由追踪、星号和高延迟怎么看
traceroute 是路由追踪工具,用来观察从测试设备到目标地址沿途获得回应的网络跳点。Windows 内置的对应命令叫 tracert。它适合补充网络路径线索,但中间出现星号,或某一跳延迟很高,都不能单独证明那台路由器正在丢弃你的业务流量。
排查节点卡顿时,要把路径结果、目标连接和实际应用表现放在一起。先确认测试从哪里发起、目标是什么,再看异常是否影响后续跳点和终点,最后用同一网络下的业务测试作对照。
Windows怎么运行路由追踪
在命令提示符或终端中运行下面的命令。example.com 是格式示例,实际测试时换成自己的目标域名或 IP。
tracert /d example.com
/d 表示不把中间跳点 IP 解析为名称,便于更快查看地址。想限制最大跳数和每次等待时间,可以使用:
tracert /d /h 20 /w 1000 example.com
这里将最大跳数设为 20、等待时间设为 1000 毫秒,只是便于短时观察的示例。较短的等待时间可能让慢回应变成星号;到第 20 跳仍未看到目标,也可能只是上限不足。因此不要把这一组参数当成判定故障的标准。
参数可以在微软 tracert 官方文档核对。Linux 和 macOS 的工具名称、默认探测协议与选项可能不同,不能把 Windows 参数直接复制过去使用。
每行数字和星号分别代表什么
工具逐步增加探测包的 TTL,让不同距离的路由设备有机会返回响应。输出里每一行的跳数描述探测距离,时间描述相关响应的往返等待,最后的地址是返回响应的设备地址。
同一跳显示的几次时间,是几次探测的结果。它们不会自动拼成“每段链路花了多少毫秒”的精确账单。回应本身也要返回你的电脑,这段等待同样被计入。
星号表示那次探测在等待时间内没有获得相应回应。设备可能没有回复这类消息,或回复受到限制;路径与返回路径也可能有问题。看到星号时,首先要问:后面的跳点和最终目标还回应吗?
若第六跳全是星号,第七跳及目标却正常回应,就有依据认为探测并未在第六跳永久停止。此时应结合终点和业务表现判断,不能直接把第六跳列为故障设备。
为什么中间跳延迟高后面却正常
下面是解释读法的假设示例,并非本站线路实测:
| 跳数 | 探测时间 | 首先观察什么 |
|---|---|---|
| 4 | 20、22、21 毫秒 | 这一跳回应较快 |
| 5 | 180、190、185 毫秒 | 单跳回应变慢 |
| 6 | 25、26、24 毫秒 | 后续没有延续同样的高值 |
| 终点 | 30、32、31 毫秒 | 终点仍较稳定 |
这种形态不能证明第五跳给所有流量增加了约 160 毫秒等待。路由设备处理探测回复的方式,可能与转发经过它的业务包不同。
Cloudflare 的 MTR 说明解释了中间设备限制 ICMP 回复的情况:探测报告里可以出现明显的中间跳“丢包”,而数据仍正常到达终点。这个原因提醒我们区分回应探测与转发流量,不能把每个百分比都当成业务丢包率。
如果高延迟从某处开始,在后续多跳和终点持续出现,并且实际应用也同时卡顿,这条线索才更值得继续核对。不过,仍需重复测试、保留目标和网络信息,不能只凭一次截图定位到某个运营商设备。
tracert和pathping怎么搭配
tracert 适合快速查看路径回应。Windows 的 pathping 可以在发现路径后继续收集探测统计,耗时通常更长。
pathping /n example.com
/n 用于避免名称解析。运行后不要只看前面的路径列表就立即关掉窗口,应等待统计阶段完成。具体选项和结果解释见微软 pathping 文档。
微软示例也区分了针对路由设备本身的回应损失与链路损失。读取统计时应查看损失是否延续到后续跳点和终点,不能见到一行高值就认定这台设备无法转发流量。
| 观察到的现象 | 可以保留的线索 | 接下来怎么做 |
|---|---|---|
| 中间有星号,后续与终点回应正常 | 某些跳点没有回应探测 | 结合终点和实际业务,不急着换线路 |
| 单跳高延迟,后续恢复较低值 | 该跳回应较慢 | 重复测,避免把单跳回应当作链路新增延迟 |
| 后续全部无回应 | 探测从某处以后未获得回复 | 核对目标是否限制探测,并做端口或应用测试 |
| 终点结果反复异常,业务同时卡顿 | 问题与端到端表现有关 | 对照时段、网络与节点,保留完整结果 |
| 在线测试正常,本地异常 | 发起位置或路径可能不同 | 优先保留本地测试,比较目标 IP 是否相同 |
测VPN节点和测网站不是同一条路径
测试节点 IP,主要是在观察到节点入口的探测路径;访问网站时,可能还要经过代理服务器到网站的另一段连接。只测前一段,无法说明后一段也同样正常。
此外,HTTP 或 SOCKS 系统代理一般不会把普通 tracert 的 ICMP 探测当成网页请求转发。开启客户端不等于追踪结果已经经过远端节点。TUN、路由与排除规则又可能改变实际路径,测试时应记录它们的状态。
接管范围可以继续看TUN模式与系统代理的区别。如果需要确认节点的实际 TCP 入口能否建立连接,可以搭配tcping和ping的区别里的命令;使用 UDP 协议时,还要验证对应应用或 UDP 转发。
路由追踪也不能直接证明某线路是直连、中转或某种专线。探测路径提供线索,业务如何承载仍需要服务配置与可靠信息支撑。关于这些线路名称,见直连、中转和IPLC的区别。
给客服提供哪些信息更有用
把“网络很卡”的反馈补成以下记录,会更容易复现:测试时间及其时区、所在网络、目标 IP、节点协议与端口、代理和 TUN 状态、完整命令输出,以及同一时段实际失败的应用。
可以在发生问题时与恢复时各保留一份结果。换网络作对照时尽量使用同一个目标 IP,避免域名解析变化导致测试对象也变了。在线工具通常从其服务器发起探测,位置不同的结果可以补充参考,却不能替代本地证据。
不要把中间某个 IP 的归属地标签当成完整的物理路径证明。 地址数据库、设备命名和真实转发位置并非总是一致。提交前也应处理自己的公网地址和其他敏感信息,避免在公开群里贴完整记录。
常见问题
traceroute和tracert有什么区别?
它们都用于路由追踪。Windows 内置工具名为 tracert,其他系统常见 traceroute;具体参数、默认探测协议和输出行为可能不同,使用前核对当前工具帮助。
traceroute全是星号就是断网吗?
不能仅据此判断。探测可能未获得回应,而目标业务仍可用。需要核对实际应用、端口测试和当前路由配置;不同测试验证的环节不同。
中间跳显示丢包,但终点正常要换节点吗?
先结合业务表现。中间设备可能限制探测回复;若后续与终点稳定、应用也正常,单凭这一行没有足够理由认定线路故障。
traceroute能看回程路由吗?
一次从本机发起的追踪不能完整列出返回路径。回应需要回来,但正反方向可能不同;Cisco 的说明也区分了 traceroute 与记录往返路径的其他方式。
跳数少的节点一定更快吗?
不一定。跳数、链路距离、拥堵、处理方式和业务路径是不同信息。选择线路时应比较同一业务在实际使用时段的表现,不能只按追踪行数排序。