Linux MTR(My TraceRoute)command

Internet上有许多小型网络测试工具:Ping、Traceroute、Dig、Host等。

但是,这些工具的功能都比较单一。今天会给大家分享一个包含ping和traceroute功能的工具:MTR

文章目录

什么是MTR?

MTR(My TraceRoute或Matt's TraceRoute)是一个网络诊断工具,结合了traceroute和ping的功能,用于诊断网络连接中的问题。在Linux系统中,MTR是一个强大的命令行工具,可提供非常详细的网络跟踪信息。

MTR可以提供哪些功能

MTR命令为可以实现以下功能:

  1. 路由跟踪(Traceroute)
    MTR可以跟踪数据包在网络中的传输路径,显示数据包经过的每个节点(路由器)以及到达目的地的延迟情况。
  2. 网络延迟测量
    MTR能够测量每个跃点(路由器)的延迟,并输出每个跃点的往返时间(RTT)和丢包率。
  3. 连续性测试
    通过连续发送数据包并检查回应,MTR可以持续测试网络连接的连通性,并监测网络节点的稳定性。
  4. 路径变化检测
    MTR可以检测网络路径的变化,比如发生路由器故障或网络拓扑结构变化时,它能追踪路径变化的发生和影响。
  5. 反向路由显示
    MTR能够显示反向路由信息,提供数据包返回的路由路径。
  6. 故障定位与网络分析
    通过分析MTR输出,可以帮助定位网络连接问题,诊断网络故障并进行网络性能分析。
  7. 可定制性
    MTR提供了多种选项和参数,可以根据需要调整跟踪的数据包数量、间隔时间、数据包大小等,以进行更精确的测试和分析。

Linux MTR可用选项

MTR可以在Windows、macOS、Linux上使用,今天主要分享在Linux中如何使用MTR。

如下是Linux上MTR命令的所有可用选项:

Option Description
-h--help Show all the available options.
-v--version Show the version of the MTR command.
-r--report This starts the report mode. In this mode, it will run the specified by "--c" number of times and show statistics at the end.
-w--report-wide Wide report mode. The difference with the previous is that it won't cut hostnames in the report.
-c COUNT--report-cycles COUNT Specify the number of pings.
-s BYTES--psize BYTES PACKETSIZE Set the size of the packets. If set to a negative number, it will send packets of random size.
-t--curses Force curses-based terminal interface.
-n--no-dns Show numeric IP numbers and no hostname resolving.
-g--gtk Force GTK+ interface.
-p--split Set the mtr command for the split-user interface.
-l--raw With the letter "L", you can set the use of the raw output format.
-a IP.ADD.RE.SS--address IP.ADD.RE.SS Bing outgoing packets' sockets to a particular interface.
-i SECONDS--interval SECONDS Set the time in seconds between each ICMP ECHO request.
-u Force UDP use instead of ICMP ECHO.
-4 Force IPv4 only.
-6 Force IPv6 only.

Linux MTR用法


bash 复制代码
mtr baidu.com

显示基本统计信息:每一跳(主机名)的时间和丢包率。packets 和 pings 数据会实时更新。


bash 复制代码
mtr -g baidu.com

增加"-g"参数,只显示IP地址,不显示主机名称。这样可以方便将IP地址和其他信息整合到一起分析。


bash 复制代码
mtr -b baidu.com

可以看到主机名和IP地址。地址在括号内。


bash 复制代码
mtr -c 10 baidu.com

在设置要发送的ping数(在本例中为10)。您可以将其设置为一个较大的数字,如1000,以便长时间检测网络连接情况。


bash 复制代码
mtr -rw -c 10 baidu.com >>mtr-google-log

或者

bash 复制代码
mtr -r -c 10 baidu.com >>mtr-google-log

获取MTR的输出内容,用"-r"或者"-rw"表示,>括号后表示输出的文件名。


bash 复制代码
mtr -i 10 baidu.com

"-c"参数设置ping的数量,"-i"参数设置ICMP ECHO ping之间的时间间隔。


bash 复制代码
mtr --T baidu.com

强制使用TCP协议而不是ICMP协议。"T"是大写。


bash 复制代码
mtr --u baidu.com

强制使用UDP协议而不是ICMP协议。"u"是小写。


bash 复制代码
mtr -m 35 216.58.223.78

--max-ttl NUMBER,最大跳数


bash 复制代码
mtr -r -s 50 baidu.com

可以定义ping的特定数据包大小。在这个MTR命令范例中,我们使用50个字节用于测试。


bash 复制代码
mtr --C baidu.com

MTR的输出结果可以用CSV格式文件保存。"C"是大写。


bash 复制代码
mtr --x baidu.com

MTR的输出结果可以用XML格式文件保存。


bash 复制代码
man mtr ##或者
mtr -help  ## 获取帮助

这两个命令可以为您提供有关MTR命令以及如何使用它的更多信息,如果您忘记MTR的用法,可以使用这两个指令帮助获取MTR的用法。

MTR是一个功能强大但用途广泛的网络监视和故障排除命令,与Traceroute、Ping、Nslookup、Host和Dig结合使用,您可以对网络架构、网络品质等有一个完整了解。

推荐阅读

相关推荐
g105655913916 分钟前
公有云_云运维服务
java·运维·服务器
码农小韩22 分钟前
Linux驱动理论(二)——Linux字符设备驱动
linux·嵌入式软件开发·linux操作系统·linux应用开发·linux驱动理论
well061229 分钟前
Linux粘滞位与Makefile机制深度解析
linux·运维·服务器
再写一行代码就下班38 分钟前
linux sh脚本在windows修改导致无法使用解决方式
java·linux·centos
hzxpaipai40 分钟前
杭州企业官网怎么建设?从策划到上线的5步建站方法
运维·服务器·前端·网络
哲霖软件44 分钟前
非标机械设备公司怎么做信息化?破解通用ERP水土不服难题
大数据·运维
额额额对了1 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
子木HAPPY阳VIP1 小时前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc1 小时前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu
AutumnWind04202 小时前
【Docker Compose 快速入门】
运维·docker·容器