上网时突然打不开网页,或者视频卡顿、游戏延迟高,很多人第一反应是重启路由器。其实,在Windows或Linux系统里,用一条简单的命令行路由跟踪命令就能查出问题出在哪一环。
tracert 和 traceroute 是什么?
在Windows系统中,tracert(Trace Route的缩写)是用来追踪数据包从你电脑到目标网站所经过的每一跳路由。Linux和macOS中对应的命令是traceroute,功能基本一样。它们能告诉你数据走到哪一步变慢了,甚至卡住了。
比如你连百度很慢,运行一下命令,可能发现前几跳都正常,但从某个运营商节点开始延迟飙升,那问题大概率不在你家网络,而是中间链路出了问题。
基本用法示例
在Windows打开命令提示符(cmd),输入:
tracert www.baidu.com
在Linux或macOS终端中,则使用:
traceroute www.taobao.com
你会看到类似这样的输出:
1 1ms 1ms 1ms 192.168.1.1
2 10ms 9ms 11ms 10.10.0.1
3 25ms 24ms 26ms 202.97.10.21
...
每一行代表一个中转点,显示了IP地址和三次请求的响应时间。如果某一行出现“请求超时”或星号(*),说明该节点不返回ICMP信息,这常见于某些防火墙设置,不一定代表故障。
实际应用场景
朋友曾抱怨家里看腾讯视频总缓冲,但测速又显示带宽充足。我让他跑了个tracert v.qq.com,发现第6跳开始延迟从30ms飙到200ms以上,而下一跳正好是本地城域网出口。联系运营商后确认是高峰期拥塞,换了条线路后问题解决。
还有一种情况是访问国外网站特别慢。用tracert一查,可能发现数据包绕了大半个中国才出国,这就是典型的路由不合理。虽然普通用户改不了路由,但至少能判断是不是自家网络的问题。
小贴士
有些网站会屏蔽跟踪请求,比如直接tracert google.com可能全程超时。这不是你上不去的原因,而是对方服务器不回应这类探测。这时候可以尝试跟踪其IP地址,或者结合ping命令辅助判断。
另外,Windows还有一个增强版工具pathping,结合了ping和tracert的功能,能更准确分析每一跳的丢包率,适合复杂网络环境排查。