MTR - Linux网络诊断工具

MTR是一种简单的跨平台命令行网络诊断工具,它将常用的traceroute和ping程序的功能组合到一个工具中。

MTR是一种简单的跨平台命令行网络诊断工具,它将常用的tracerouteping程序的功能组合到一个工具中。 traceroute类似, mtr输出关于数据包从运行mtr的主机到用户指定的目标主机的路由信息​​。

另请参阅如何审核Linux中的网络性能,安全性和故障排除

但是, mtr显示比traceroute更丰富的信息:它确定通往远程机器的途径,同时打印响应百分比以及本地系统和远程机器之间互联网路由中所有网络跃点的响应时间。

地铁如何运作?

一旦你运行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.com216.58.223.78 此命令将显示实时更新的traceroute报告,直到您退出程序(通过按qCtrl + C )。

$ mtr google.com
OR
$ mtr 216.58.223.78
Start: Thu Jun 28 12:10:13 2018
HOST: HowToing                     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.您可以使用-n标志强制mtr显示数字IP地址而不是主机名(通常为FQDN - 完全限定的域名 ),如图所示。

$ mtr -n google.com
Start: Thu Jun 28 12:12:58 2018
HOST: HowToing                     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: HowToing                     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的数量。 由于统计信息被打印到标准输出,您可以将它们重定向到一个文件以供日后分析。

$ 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请求之间的默认间隔为1秒,您可以通过使用-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网络配置和故障排除指南:

  1. 13 Linux网络配置和故障排除命令
  2. 如何阻止Ping ICMP请求到Linux系统

这就是现在! MTR是一个简单易用的,首先是跨平台的网络诊断工具。 在本指南中,我们已经在Linux中解释了10个mtr命令示例。 如果您有任何问题或想法与我们分享,请使用下面的评论表单。