当前位置: 首页>>技术教程>>正文


如何使用Linux mtr(我的Traceroute)命令

,

什么是Mtr命令?

Mtr(my traceroute)是一个命令行网络诊断工具,它提供ping和traceroute命令的功能。这是一个简单的cross-platform工具,可打印有关网络数据包所经过的整个路由的信息,从主机系统到指定的目标系统。 mtr命令比traceroute命令更具优势,因为它还会显示两个系统之间所有网络跃点的响应百分比和响应时间。

作为网络管理员,您需要了解mtr命令的用法以及可用于自定义输出的标志,以便执行高效的网络诊断。本文介绍了mtr命令的in-detail用法,以及为您提供有关如何在此命令中使用某些标志的know-how的示例。

我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。

由于mtr是命令行实用程序,因此我们将在Ubuntu命令行Terminal中使用它。您可以通过系统Dash或Ctrl + Alt + t快捷方式打开“终端”应用程序。

Mtr命令的用法

1.实时查看traceroute报告

mtr命令的基本用法是查看远程计算机的traceroute报告。您所需要做的就是使用mtr命令提供远程系统的域名或IP地址,输出将实时显示traceroute报告。查看完报告后,可以通过按q或Ctrl + C快捷键退出命令。

显示主机名

mtr命令的以下语法在traceroute报告中显示主机名。

句法:

$ mtr [域名/IP]

例:

$ mtr google.com

use mtr command

显示数字IP地址

当在mtr命令中使用g标志时,它将在traceroute报告中显示数字IP地址而不是主机名。

句法:

$ mtr -g [域名/IP]

例:

$ mtr -g google.com

traceroute with mtr

主机名和数字IP地址

当在mtr命令中使用b标志时,它将在traceroute报告中同时显示数字IP地址和主机名。

句法:

$ mtr -b [域名/IP]

例:

$ mtr -b google.com

Show hostnames and IP addresses

2.指定ping的数量限制

您可以将mtr命令配置为在为特定数量的ping打印traceroute报告后退出。在输出中,您可以轻松地在Snt列下查看ping的数目。当Snt通过c标志达到您在命令中指定的数字时,mtr将自动退出。

句法:

$地铁-c [n]“域名/IP”

例:

$ mtr -c 10 google.com

3.启用报告模式

您可以启用报告模式,而不是在屏幕上打印mtr命令的输出,而将其输出为文本文件。这样,您可以记录网络分析,以供以后使用和观察。您需要做的就是通过r标志启用报告模式,通过c标志指定要限制报告的ping计数,还指定要在其中保存报告的报告文件名。

句法:

$地铁-r -c [n]“域名/IP”>“ report-name”

例:

$ mtr -r -c 10 google.com >mtr-report-google

默认情况下,该报告保存在当前用户的主文件夹中。但是,您可以为保存报告指定正确的路径。

Report mode enabled in mtr command

清除报告中的输出

将w标志与r标志一起添加将使mtr可以为traceroute打印一个相当清晰且可读性更高的报告。

句法:

$地铁w-c [n]“域名/IP”>“ report-name”

例:

mtr -rw -c 10 google.com >mtr-report-google

4.重新排列输出字段

当您看到mtr报告的输出时,您会发现列以特定的默认方式排列。 o标志使您能够以自定义方式re-arrange输出,以使其更加有用和高效。

句法:

$地铁-o“ [输出格式]”“域名/IP”

MTR联机帮助页可帮助您选择自定义MTR报告列的选项。

例:

$ mtr -o "LSDR NBAW JMXI" google.com

Rearrange the output fields

5.指定ICMP ECHO请求之间的时间间隔

尽管在mtr命令中每个ICMP和ECHO请求之间的默认时间间隔是1秒,但是您可以通过使用i标志指定一个新的时间间隔来更改它。

句法:

$地铁-i [time-in-seconds]“域名/IP”

例:

$ mtr -i 10 google.com

6.使用TCP SYN数据包或UDP数据报

如果要使用TCP SYN或UDP数据报来请求mtr而不是默认的ICMP ECHO请求,则可以分别使用tcp和udp标志来进行此操作。

句法:

$ mtr –tcp “domainName/IP”

$ mtr –udp “domainName/IP”

例:

$ mtr --tcp google.com
$ mtr --udp google.com

Use TCP SYN packets or UDP datagrams

7.指定本地系统和远程计算机之间的最大跳数

您可以通过使用m标志指定时间(以秒为单位),来定制要在本地系统和远程计算机之间探测的最大跳数。 mtr命令的两跳之间的默认时间限制是30秒。

句法:

$地铁-m [timeInSeconds]“域名/IP”

例:

$ mtr -m 35 216.58.223.78

8.指定数据包大小

通过mtr命令中的s标志,可以指定用于诊断网络质量的IP数据包的大小(以字节为单位)。

句法:

$地铁[packetsize]“域名/IP”

例:

mtr -r -s 50 google.com

9.打印CSV输出

MTR报告的CSV输出使用“,”分隔列。使用csv标志,可以自定义mtr命令以CSV格式输出报告。

句法:

$ mtr –csv “domainName/IP”

例:

$ mtr --csv google.com

Print CSV Output

10.打印XML输出

mtr命令还可以支持XML格式以打印traceroute报告。 XML报告是自动处理输出的不错选择,可以通过使用mtr命令指定xml标志来打印。

句法:

$ mtr –xml “domainName/IP”

例:

$ mtr --xml google.com

11.访问mtr帮助和手册页

最后,您可以通过以下命令阅读其帮助和手册页,以获取更多使用和定制mtr命令的选项。

$ man mtr
$ mtr --help

阅读本文后,您将更好地在机器和远程系统之间运行网络诊断。您还可以使用ping和traceroute命令的替代方法,使用更多自定义选项来提高生产率和实用性。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8859.html,未经允许,请勿转载。