网站搜索

MTR - Linux 网络诊断工具


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.com > 或216.58.223.78。此命令将向您显示实时更新的 traceroute 报告,直到您退出程序(通过按 qCtrl + 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 地址而不是主机名(通常为 FQDN完全限定域名) >-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 网络配置和故障排除的有用指南:

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

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