概述 MTR(My TraceRoute)是Linux系统中的一款强有力的网络诊断工具,它融合了traceroute(路径追踪)和ping(持续探测)的功能,可以实时分析网络路径的性能问题。
MTR的主要功能1.路径追踪与性能测量动态路由分析:逐跳(hop-by-hop)发送数据包,并记录每个中间路由器(如网关、网桥)的响应时间和丢包率。持续监测:类似于ping持续探测目标主机,但提供平均延迟、最小/最大延迟、延迟标准差等详细统计数据,帮助识别网络抖动。
2.实时可视化诊断输出结果每秒刷新,直观显示各节点的网络质量变化,非常适合诊断间歇性丢包或延迟波动。
3.协议的灵活性默认使用ICMP协议,但可通过参数切换为udp或TCP,绕过防火墙限制。支持IPv4/IPv6双协议栈,适应现代网络环境。
目前大多数 Linux 发行版本都预装了 MTR。如果您的 Linux 云服务器上没有安装 MTR,可以通过以下命令进行安装:
代码语言:txt复制“`txt yum install mtr
对于Ubuntu 操作系统: <p>代码语言:txt<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制txt sudo apt-get install mtr</code>
MTR 参数说明-h/–help:显示帮助菜单。
-v/–version:显示 MTR 版本信息。
-r/–report:以报告形式输出结果。
-p/–split:与 –report 相对,分别列出每次跟踪的结果。
-c/–report-cycles:设置每秒发送的数据包数量,默认是10。
-s/–psize:设置数据包的大小。
-n/–no-dns:不对 IP 地址进行域名解析。
-a/–address:设置发送数据包的 IP 地址,主要用于单一主机多个 IP 地址的场景。
-4:使用IPv4请求
-6:使用IPv6请求
-T(大写T字母):指定TCP协议
-u(小写u字母):指定UDP协议
-P(大写P字母):指定端口
MTR输出信息列解释:HOST:节点的 IP 地址或域名。
Loss%:丢包率。
Snt:每秒发送的数据包数量。
Last:最近一次的响应时间。
Avg:平均响应时间。
Best:最短的响应时间。
Wrst:最长的响应时间。
StDev:标准偏差,偏差值越高,说明各个数据包在该节点的响应时间差异越大。
使用示例以源服务器访问目标 IP 为119.29.29.29的服务器为例。
简单拓扑链路:本地源端linux系统电脑(或本地源端服务器)——>目标服务器 119.29.29.29
在源端服务器上以文字报告形式输出 MTR 的诊断报告,执行以下命令。
代码语言:txt复制txt mtr 119.29.29.29 –report mtr 119.29.29.29 -r