traceroute 命令可追踪数据包路径,通过加 -n 跳过 dns 解析、-i/-t 切换协议、-m/-q/-w 参数优化跳数/探测次数/等待时间,提升准确性与效率;mtr 则提供实时刷新的增强版追踪。

直接用 traceroute 命令就能看到数据包从你机器到目标地址经过了哪些节点,关键不是“能不能跑”,而是怎么让结果更准、更快、更有用。
基础追踪:三步跑起来
只要终端里敲一行命令,路径就出来了:
- 先确认是否已安装:Ubuntu/Debian 执行
sudo apt install traceroute;CentOS/RHEL/Fedora 用sudo yum install traceroute或sudo dnf install traceroute - 输入
traceroute www.baidu.com(或任意域名、IP),回车执行 - 输出中每行代表一跳,开头数字是跳数,后面是该节点 IP(或主机名)和三次往返延迟(单位 ms),星号
*表示没收到响应
跳过 DNS 解析:快且干净
默认 traceroute 会对每个返回的 IP 做反向 DNS 查询,既慢又可能失败——尤其在内网或 DNS 不稳时。加 -n 就能绕开这步:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- 命令变成
traceroute -n www.baidu.com - 输出全是 IP 地址,不卡顿,也避免因解析失败导致某跳显示异常
换协议穿透限制节点
有些路由器或防火墙会屏蔽 UDP 探测包(默认协议),但允许 ICMP 或 TCP 回应。这时换协议往往能“唤醒”沉默的中间节点:
- 用 ICMP:加
-I,例如traceroute -I www.baidu.com,普通用户权限即可运行 - 用 TCP:加
-T(注意大小写),如traceroute -T -n 8.8.8.8,适合探测被 UDP 拦截但开放 HTTP 的出口
控制输出长度和稳定性
默认最多试 30 跳,有时目标很近,等满 30 跳纯属浪费时间;某跳偶尔丢包也可能误导判断:
- 限制最大跳数:用
-m 15,比如traceroute -m 15 -n example.com - 增加每跳探测次数:用
-q 5替代默认的 3 次,提升延迟统计可靠性,特别适合排查抖动或间歇性丢包 - 缩短单跳等待时间:加
-w 2(单位秒),防止某跳长时间无响应拖慢整体过程
如果需要持续观察丢包率和延迟波动,mtr 是更进一步的选择——它把 traceroute 和 ping 合在一起,实时刷新,装好就能用:sudo apt install mtr(Debian/Ubuntu)或 sudo yum install mtr(CentOS/RHEL)。










