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结合使用,您可以对网络架构、网络品质等有一个完整了解。

推荐阅读

相关推荐
Android系统攻城狮7 小时前
Linux PipeWire深度解析之pw_context_add_spa_lib调用流程与实战(二十九)
linux·运维·服务器·音频进阶·pipewire音频进阶
Dovis(誓平步青云)7 小时前
《如何在CentOS 7中添加Plex官方软件源:解决文件磁盘难管理难题》
linux·运维·服务器·后端·生成对抗网络·centos
草莓熊Lotso7 小时前
【Linux网络】深入理解Linux IO多路复用:select服务器完善、内核原理与poll实战
linux·运维·服务器·c语言·网络·c++
byte轻骑兵7 小时前
BlueZ源码编译环境配置全指南:Linux桌面原生编译 + 嵌入式ARM交叉编译 + 定制裁剪与调试实战
linux·arm开发·蓝牙·bluez·电脑蓝牙
纪伊路上盛名在7 小时前
NVML ERROR_ RM has detected an NVML_RM version mismatch
linux·数据库·gpu·驱动
醉逍遥_祥7 小时前
Linux进程与NuttX任务(Linux Processes vs NuttX Tasks)
linux·单片机·嵌入式软件
网安老伯8 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
迷茫中的自我8 小时前
GitHub Actions自动化运维实战:从CI/CD到云原生部署
运维·自动化·github
XH华8 小时前
Linux系统第二章:常见的Linux指令(上)
linux·运维·服务器
nVisual8 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件