MTR是一个简单的跨平台命令行网络诊断工具,将常用的traceroute和ping程序的功能结合到一个工具中。与traceroute类似,mtr打印关于数据包从运行mtr的主机到用户指定目的主机的路由信息。
阅读更多: 如何在Linux中审计网络性能、安全性和故障排除
然而,mtr显示的信息比traceroute更丰富:它确定到远程机器的路径,同时打印所有网络跳数的响应百分比以及响应时间。
MTR是如何工作的?
运行mtr后,它会探测您指定的本地系统与远程主机之间的网络连接。首先确定主机之间每个网络跳数(桥接器、路由器和网关等)的地址,然后ping(发送一系列ICMP ECHO请求)以确定到每台机器的链接质量。
在此操作过程中,mtr实时输出有关每台机器的一些有用统计信息,默认情况下更新。
这个工具预装在大多数Linux发行版中,一旦您浏览下面解释的Linux网络诊断的10个mtr命令示例后,就会变得相当容易使用。
如果未安装mtr,您可以按照下面所示使用您的默认软件包管理器在您各自的Linux发行版上安装它。
$ sudo apt install mtr $ sudo yum install mtr $ sudo dnf install mtr
10个MTR网络诊断工具使用示例
1. 使用mtr的最简单示例是提供远程机器的域名或IP地址作为参数,例如google.com或216.58.223.78。这个命令会实时显示一个traceroute报告,直到您退出程序(通过按下q
或Ctrl + C
)。
$ mtr google.com OR $ mtr 216.58.223.78 Start: Thu Jun 28 12:10:13 2018 HOST: TecMint Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0 2.|-- 5.5.5.211 0.0% 5 0.7 0.9 0.7 1.3 0.0 3.|-- 209.snat-111-91-120.hns.n 80.0% 5 7.1 7.1 7.1 7.1 0.0 4.|-- 72.14.194.226 0.0% 5 1.9 2.9 1.9 4.4 1.1 5.|-- 108.170.248.161 0.0% 5 2.9 3.5 2.0 4.3 0.7 6.|-- 216.239.62.237 0.0% 5 3.0 6.2 2.9 18.3 6.7 7.|-- bom05s12-in-f14.1e100.net 0.0% 5 2.1 2.4 2.0 3.8 0.5
2. 您可以强制mtr显示数字IP地址而不是主机名(通常是FQDNs – 完全限定域名),使用如下的-n
标志。
$ mtr -n google.com Start: Thu Jun 28 12:12:58 2018 HOST: TecMint Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0 2.|-- 5.5.5.211 0.0% 5 0.9 0.9 0.8 1.1 0.0 3.|-- ??? 100.0 5 0.0 0.0 0.0 0.0 0.0 4.|-- 72.14.194.226 0.0% 5 2.0 2.0 1.9 2.0 0.0 5.|-- 108.170.248.161 0.0% 5 2.3 2.3 2.2 2.4 0.0 6.|-- 216.239.62.237 0.0% 5 3.0 3.2 3.0 3.3 0.0 7.|-- 172.217.160.174 0.0% 5 3.7 3.6 2.0 5.3 1.4
3. 如果您希望mtr同时显示主机名和数字IP号码,请使用如下的-b
标志。
$ mtr -b google.com Start: Thu Jun 28 12:14:36 2018 HOST: TecMint Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.0.1 0.0% 5 0.3 0.3 0.3 0.4 0.0 2.|-- 5.5.5.211 0.0% 5 0.7 0.8 0.6 1.0 0.0 3.|-- 209.snat-111-91-120.hns.n 0.0% 5 1.4 1.6 1.3 2.1 0.0 4.|-- 72.14.194.226 0.0% 5 1.8 2.1 1.8 2.6 0.0 5.|-- 108.170.248.209 0.0% 5 2.0 1.9 1.8 2.0 0.0 6.|-- 216.239.56.115 0.0% 5 2.4 2.7 2.4 2.9 0.0 7.|-- bom07s15-in-f14.1e100.net 0.0% 5 3.7 2.2 1.7 3.7 0.9
4. 要限制ping的次数到特定值,并在这些ping之后退出mtr,请使用-c
标志。如果您从Snt列观察,一旦达到指定的ping次数,实时更新就会停止,程序退出。
$ mtr -c5 google.com
5. 使用-r
标志将其设置为报告模式,这是一个有关网络质量统计的有用选项。您可以与-c
选项一起使用此选项来指定ping的次数。由于统计数据打印到std输出,您可以将其重定向到文件以供以后分析。
$ mtr -r -c 5 google.com >mtr-report
-w
标志启用宽报告模式以获得更清晰的输出。
$ mtr -rw -c 5 google.com >mtr-report
6. 您还可以按照您希望的方式重新排列输出字段,这是通过-o
标志实现的(请参阅mtr手册以了解字段标签的含义)。
$ mtr -o "LSDR NBAW JMXI" 216.58.223.78

7. ICMP ECHO请求之间的默认间隔为一秒,您可以通过改变值使用-i
标志来指定ICMP ECHO请求之间的间隔。
$ mtr -i 2 google.com
8. 您可以使用TCP SYN数据包或UDP数据报代替默认的ICMP ECHO请求,如下所示。
$ mtr --tcp test.com OR $ mtr --udp test.com
9. 要指定在本地系统和远程计算机之间探测的最大跳数(默认为30),请使用-m
标志。
$ mtr -m 35 216.58.223.78
10. 在探测网络质量时,您可以使用-s
标志设置以字节为单位的数据包大小。
$ mtr -r -s PACKETSIZE -c 5 google.com >mtr-report
有了这些示例,您应该可以使用mtr,请参阅手册以获取更多使用选项。
$ man mtr
还请查看有关Linux网络配置和故障排除的这些有用指南。
就是这样了!MTR是一个简单、易于使用且跨平台的网络诊断工具。在本指南中,我们已经解释了Linux中的10个mtr命令示例。如果您有任何问题或想法要与我们分享,请使用下面的评论表单。
Source:
https://www.tecmint.com/mtr-a-network-diagnostic-tool-for-linux/