对于经常和Linux打交道的技术人员来说,mtr命令是一个非常实用的Linux命令。它可以进行实时网络诊断。本篇文章分享了linux mtr命令的详细使用示例。
以下描述来自mtr命令的软件包信息。
Mtr是一种网络诊断工具,将ping和traceroute组合到一个程序中。Mtr提供了两个接口:ncurses接口,用于从telnet *会话使用Mtr;和X的GTK +接口(在mtr-gtk软件包中提供)。
mtr显示的信息比traceroute更丰富:它确定了到远程计算机的路径,同时打印了本地系统和远程计算机之间Internet路由中的响应百分比以及所有网络跃点的响应时间。
推荐阅读:
mtr命令的运行原理
运行mtr后,它将探查本地系统与您指定的远程主机之间的网络连接。它首先在主机之间建立每个网络跃点(网桥,路由器和网关等)的地址,然后对其进行ping(发送ICMP ECHO请求的序列)以确定每个计算机的链路质量。
在此操作过程中,mtr输出有关每台计算机的一些有用的统计信息-默认情况下实时更新。
安装mtr
假设没有安装mtr使用如下命令安装mtr。
centos上安装mtr
sudo yum -y install mtr
或者
sudo dnf -y install mtr
ubuntu上安装mtr
sudo apt install mtr
第一个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地址而不是主机名
$ 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的数量。由于统计信息已打印到标准输出,因此您可以将其重定向到文件以供以后分析。
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
或者
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
MTR是一种简单,易用且最重要的跨平台网络诊断工具。在本指南中,我们解释了Linux中的10个mtr命令示例。如果认为有用就收藏本文章吧,可以使用快捷键Ctrl+D。