admin管理员组

文章数量:1035494

linux系统如何安装使用MTR收集路径测试信息?

简介

MTR(全称My TraceRoute)是Linux系统中一个强大的网络诊断工具,它结合了traceroute(路径追踪)和ping(持续探测)的功能,能够实时分析网络路径的性能问题。

MTR的核心功能

1.路径追踪 + 性能测量

  • 动态路由分析:逐跳(hop-by-hop)发送数据包,记录每个中间路由器(如网关、网桥)的响应时间、丢包率。
  • 持续监测:像ping一样持续探测目标主机,但提供平均延迟、最小/最大延迟、延迟标准差等详细统计,帮助识别网络抖动。

2.实时可视化诊断

  • 输出结果每秒刷新,直观显示各节点的网络质量变化,尤其适合诊断间歇性丢包或延迟波动

3.协议灵活性

  • 默认使用ICMP协议,但可通过参数切换为UDP或TCP,绕过防火墙限制。
  • 支持IPv4/IPv6双协议栈,适应现代网络环境。

目前现有的 Linux 发行版本都预装了 MTR,如果您的 Linux 云服务器没有安装 MTR,则可以执行以下命令进行安装:

安装

CentOS 操作系统:

代码语言:txt复制
yum install mtr

Ubuntu 操作系统:

代码语言:txt复制
sudo apt-get install mtr

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(大写T字母):指定端口

MTR输出的信息列解读:

HOST:节点的 IP 地址或域名。

Loss%:丢包率。

Snt:每秒发送的数据包的数量。

Last:最近一次的响应时间。

Avg:平均响应时间。

Best:最短的响应时间。

Wrst:最长的响应时间。

StDev:标准偏差,偏差值越高,说明各个数据包在该节点的响应时间相差越大。

使用示例

源服务器去访问 目标 IP 为119.29.29.29的服务器为例。

简单拓扑链路:本地源端linux系统电脑(或者本地源端服务器)——>目标服务器 119.29.29.29

以文字报告形式输出 MTR 的诊断报告

在源端服务器执行以下命令。

代码语言:txt复制
mtr 119.29.29.29 --report
mtr 119.29.29.29 -r

以上2种命令使用方式都支持,都是一个功能。

返回类似如下信息:

禁止将IP解析为域名输出

代码语言:txt复制
mtr 119.29.29.29 -rn

以UDP协议指定端口追踪输出报告

代码语言:txt复制
mtr -rn -uP 53 119.29.29.29

最后发现没有回显途径的路径信息,这个不回显不一定是有影响,抓包看是没有中间节点响应,怀疑是运营商限制以UDP协议访问。

以TCP协议指定端口追踪输出报告

代码语言:txt复制
mtr -rn -TP 53 119.29.29.29

这个中间节点没有回显,但是最后一跳有回显,并且没有丢包,说明目标端是开放了tcp 53端口。

抓包看没有中间节点去响应tcp 53,所以不会回显,正常情况。

总结:

MTR通过整合路径追踪和持续性能测量,成为网络诊断的“瑞士军刀”。其动态更新和详细统计功能,尤其适合复杂网络环境下的故障定位和性能优化。用户可通过调整参数灵活应对不同场景,如快速排查、长期监控或协议兼容性测试。

linux系统如何安装使用MTR收集路径测试信息?

简介

MTR(全称My TraceRoute)是Linux系统中一个强大的网络诊断工具,它结合了traceroute(路径追踪)和ping(持续探测)的功能,能够实时分析网络路径的性能问题。

MTR的核心功能

1.路径追踪 + 性能测量

  • 动态路由分析:逐跳(hop-by-hop)发送数据包,记录每个中间路由器(如网关、网桥)的响应时间、丢包率。
  • 持续监测:像ping一样持续探测目标主机,但提供平均延迟、最小/最大延迟、延迟标准差等详细统计,帮助识别网络抖动。

2.实时可视化诊断

  • 输出结果每秒刷新,直观显示各节点的网络质量变化,尤其适合诊断间歇性丢包或延迟波动

3.协议灵活性

  • 默认使用ICMP协议,但可通过参数切换为UDP或TCP,绕过防火墙限制。
  • 支持IPv4/IPv6双协议栈,适应现代网络环境。

目前现有的 Linux 发行版本都预装了 MTR,如果您的 Linux 云服务器没有安装 MTR,则可以执行以下命令进行安装:

安装

CentOS 操作系统:

代码语言:txt复制
yum install mtr

Ubuntu 操作系统:

代码语言:txt复制
sudo apt-get install mtr

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(大写T字母):指定端口

MTR输出的信息列解读:

HOST:节点的 IP 地址或域名。

Loss%:丢包率。

Snt:每秒发送的数据包的数量。

Last:最近一次的响应时间。

Avg:平均响应时间。

Best:最短的响应时间。

Wrst:最长的响应时间。

StDev:标准偏差,偏差值越高,说明各个数据包在该节点的响应时间相差越大。

使用示例

源服务器去访问 目标 IP 为119.29.29.29的服务器为例。

简单拓扑链路:本地源端linux系统电脑(或者本地源端服务器)——>目标服务器 119.29.29.29

以文字报告形式输出 MTR 的诊断报告

在源端服务器执行以下命令。

代码语言:txt复制
mtr 119.29.29.29 --report
mtr 119.29.29.29 -r

以上2种命令使用方式都支持,都是一个功能。

返回类似如下信息:

禁止将IP解析为域名输出

代码语言:txt复制
mtr 119.29.29.29 -rn

以UDP协议指定端口追踪输出报告

代码语言:txt复制
mtr -rn -uP 53 119.29.29.29

最后发现没有回显途径的路径信息,这个不回显不一定是有影响,抓包看是没有中间节点响应,怀疑是运营商限制以UDP协议访问。

以TCP协议指定端口追踪输出报告

代码语言:txt复制
mtr -rn -TP 53 119.29.29.29

这个中间节点没有回显,但是最后一跳有回显,并且没有丢包,说明目标端是开放了tcp 53端口。

抓包看没有中间节点去响应tcp 53,所以不会回显,正常情况。

总结:

MTR通过整合路径追踪和持续性能测量,成为网络诊断的“瑞士军刀”。其动态更新和详细统计功能,尤其适合复杂网络环境下的故障定位和性能优化。用户可通过调整参数灵活应对不同场景,如快速排查、长期监控或协议兼容性测试。

本文标签: linux系统如何安装使用MTR收集路径测试信息