traceroute 通过逐跳增加 TTL 值并捕获 ICMP 超时响应来追踪路由路径;支持 -n(跳过 DNS)、-6(IPv6)、-I(ICMP 模式)、-T(TCP 模式)等参数适配不同网络环境,mtr 则适用于实时监控丢包与延迟。

用 traceroute 命令就能追踪数据包从本机到目标地址的完整路由路径。它通过逐跳增加 TTL 值,捕获每台中间路由器返回的 ICMP “超时”响应,从而还原整条路径。
基础追踪:快速查看默认路径
这是最常用的方式,适合初步判断链路是否通、卡在哪一跳:
- 确保已安装 traceroute:Ubuntu/Debian 运行
sudo apt install traceroute;CentOS/RHEL 使用sudo yum install traceroute或sudo dnf install traceroute - 执行命令:
traceroute example.com或traceroute 8.8.8.8 - 输出中每行代表一跳:跳数、节点 IP(或主机名)、三次探测的往返时间(单位 ms);出现
*表示该跳无响应(可能屏蔽 ICMP 或丢包)
跳过 DNS 解析:更快更稳定
默认 traceroute 会对每个返回 IP 做反向 DNS 查询,容易拖慢速度甚至失败(尤其在 DNS 异常或防火墙限制时):
- 加
-n参数直接显示 IP:traceroute -n example.com - 结果中不再尝试解析域名,所有节点都以纯 IP 形式呈现,减少干扰,提升准确性
适配不同网络环境
根据目标协议或网络策略,可切换探测方式:
- IPv6 网络用:
traceroute -6 example.com或traceroute6 example.com - 绕过 UDP 被拦截的情况(如企业防火墙常禁 UDP):
traceroute -I example.com(改用 ICMP,类似 ping) - 测试 TCP 服务(如网站)是否可达:
traceroute -T -p 443 example.com(走 TCP 443 端口) - 限制最大跳数防卡死:
traceroute -m 20 example.com(最多查 20 跳)
替代工具:需要持续观测时选 mtr
如果想实时看延迟波动和丢包率(比如排查间歇性卡顿),mtr 更合适:
- 安装:
sudo apt install mtr(Debian/Ubuntu)或sudo yum install mtr(RHEL/CentOS) - 运行:
mtr -n example.com(加-n同样跳过 DNS) - 界面会动态刷新,每跳显示当前丢包率、最近延迟、平均延迟等,按
q退出











