首页/网络/协议速查/mtr:持续的路径质量统计

mtr:持续的路径质量统计

把 traceroute 与 ping 结合:逐跳持续统计丢包率与延迟,定位「哪一跳开始丢」;分屏交互或报告模式均可。

协议速查网络更新于 2026-10-13

mtr 是什么

mtr 把 traceroute 与 ping 合成一个工具:按 TTL 递增逐跳探测目标,并对每一跳持续发探测包,实时统计丢包率、往返延迟与抖动。它回答的是「从哪一跳开始变差」这个问题——单次 traceroute 只给出路径,mtr 给的是路径上每一跳的质量。Linux/macOS 上叫 mtr,Windows 上对应 WinMTR,报告模式输出可直接贴进工单。

基本信息

适用平台Linux(mtr 包)、macOS(brew)、Windows(WinMTR)
报告模式-r 输出可复制文本,-w 宽格式
次数与间隔-c 探测轮数、-i 间隔秒数
探测协议默认 ICMP,可选 --tcp --port 443 / --udp
附加信息-z 显示 ASN,-b 同时显示 IP 与域名
权限普通用户可用;部分选项需 root 或 CAP_NET_RAW

典型使用场景

  • 定位跨运营商丢包:判断问题出在本地出口、中间骨干还是对端机房
  • 链路割接或带宽调整前后做同样参数的对比测试
  • 用户投诉「网站慢」时先看路径质量,再决定是否查应用
  • 排查路由环路或路径异常:观察跳数是否异常变多
  • 为工单留下可复现的客观数据,避免只凭主观描述

常用命令

常用命令
mtr -rwzc 100 1.1.1.1                 # 报告模式:100 轮,-z 显示 ASN
mtr -rwzc 50 --tcp --port 443 target   # 用 TCP 443 探测,绕开 ICMP 限速
mtr -rwz -i 0.5 -c 200 target          # 加密节奏,采样更多
mtr -u target                          # UDP 模式
mtr -n -r target                       # -n 不解析域名,输出更干净

输出逐列读法

列含义正常与异常
Loss%该跳的丢包率中间跳偏高尚可能是 ICMP 限速
Snt已发送探测包数太少时统计不可信
Last最近一次往返延迟波动大说明抖动明显
Avg平均往返延迟与相邻跳差值即该跳引入的延迟
Best/Wrst最小/最大延迟差距大是队列拥塞的信号
StDev延迟标准差越大越不稳定,影响交互体验
ASN-z 显示的运营商编号用于识别运营商边界
判读的核心规则:中间跳丢包但其后各跳都正常,说明那一跳只是对 ICMP 应答做了限速,不是真实丢包;只有从某一跳开始、一直到最后一跳都丢,才说明该段真的有丢包。
长时间高频探测会产生不小流量,对非自有目标应保持克制,避免被对方的防护系统判定为扫描;生产监控建议低频、分布式发起。

易错点

  • 直接用 ICMP 模式的丢包率下结论:很多设备对 ICMP 限速,应用 --tcp --port 443 交叉验证后再判断
  • 只看 Avg 不看 StDev 与 Best/Wrst:平均延迟正常但抖动很大的链路体验照样差
  • 拿一次结果当结论:网络质量有时段性,需要在高峰期与低峰期分别采样对比
  • 只测本机到目标一个方向:实际路径常是不对称的,回程问题要反向再测一遍

数据来源与参考

  • mtr 项目文档

相关工具

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