首页/系统/Linux 运维命令速查/tracepath 免 root 路径探测
网络命令82 条

tracepath 免 root 路径探测

iputils 自带的轻量路由追踪:无需特权、顺带报告每跳 MTU(PMTU),排查隧道/PPPoE 的 MTU 问题特别对症。

Linux 运维命令速查系统更新于 2026-10-13

tracepath 免 root 探路

tracepath 属于 iputils,是轻量的路径探测工具:逐跳发出探测包并打印每跳地址与往返延迟,同时报告探测到的路径 MTU(PMTU),还会提示非对称路由。普通用户即可运行,不需要 root 权限,因此在容器、跳板机、受限账号里排查「网络通但服务连不上」特别顺手。

基本信息

适用平台Linux(iputils)多数发行版默认安装;macOS 需另行安装
语法tracepath [-n] [-m 最大跳数] 目标
特点无需 root、默认走 UDP 探测、附带 PMTU 报告
对比traceroute 可指定协议与端口(如 -T 走 TCP),tracepath 更省权限

典型使用场景

  • 排查 MTU 问题:VPN、隧道、PPPoE 环境下大包不通但小包通
  • 确认访问某个地址实际经过哪些跳、在哪一跳开始丢包
  • 验证策略路由、专线切换后路径是否符合预期
  • 在没有 root 权限的容器或跳板机上做基础路径诊断
  • 对比两条链路走到同一目标时的延迟差异

常用示例

常用示例
tracepath -n 8.8.8.8              # 不做反向解析,输出更快
tracepath -n -m 10 app.internal   # 最多探测 10 跳
tracepath -n --mtu 1400 target    # 指定初始报文大小观察 PMTU 收敛
tracepath -n target | head -n 15  # 路径很长时先看前几跳
ping -M do -s 1472 -c 3 target    # 复验 1500 字节通路是否可行
tracepath -n 10.0.0.8             # 与内网目标对比,判断问题在内部还是外部

输出逐列读法

输出项含义异常信号
跳数与地址经过的路由器编号及地址某跳开始连续超时说明该处丢包或屏蔽探测
延迟该跳往返时间中后段突增可能是拥塞或跨网
asymm提示探测路径不对称返回路径与去程不同,排障要两边都看
pmtu探测到的路径 MTU数值小于链路 MTU 说明有设备限制报文大小
Resume 行继续探测时从该跳往下走与上次结果不一致说明路由有变化
tracepath 默认用 UDP 探测,部分设备对 ICMP 与 UDP 的处理策略不同;输出里的 pmtu 是探测推测值,与业务实际路径不一致时(多路径或策略路由)要用 ping -M do 复验。
加 -n 关闭反向域名解析可以显著加快输出,排查时几乎总该加上;否则每一跳都要等 DNS 超时。

易错点

  • 只支持 UDP 或 ICMP 探测,TCP 业务端口不通的场景要用 traceroute -T 或 tcptraceroute
  • 把中间跳超时当成故障:不少路由器不回复探测包,只要后续跳有响应就不算断
  • pmtu 只是推测值,直接据此下调业务 MTU 可能过度保守,先用 ping -M do 逐级复验
  • 没加 -n 时输出很慢,容易误以为网络卡住

数据来源与参考

  • man 8 tracepath(iputils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌