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

推荐阅读

相关推荐
JunLan~2 小时前
Rocky Linux 系统安装/部署 Docker
linux·docker·容器
方竞3 小时前
Linux空口抓包方法
linux·空口抓包
sun0077004 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
海岛日记4 小时前
centos一键卸载docker脚本
linux·docker·centos
AttackingLin4 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
吃肉不能购5 小时前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化
学Linux的语莫5 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
qq_312920116 小时前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器