Linux如何使用mtr命令进行网络诊断

后端 潘老师 2个月前 (03-02) 56 ℃ (0) 扫码查看

如果Linux系统遇到网络连接不畅的问题是不是很头疼?今天就给大家分享一个实用的网络诊断工具——mtr命令,能轻松帮我们找到网络问题的症结所在。接下来,就一起深入了解Linux如何使用mtr命令进行网络诊断吧!

一、mtr命令是什么

mtr,也就是“My Traceroute”的缩写。简单来说,它是一个融合了ping和traceroute两个工具功能的网络诊断利器。ping命令大家应该不陌生,平时我们用它来测试和目标主机能不能正常连接,看看有没有数据包丢失、延迟高不高。traceroute命令则能帮我们查看数据包从自己的设备出发,一路到目标主机都经过了哪些“站点”,也就是网络路径。而mtr命令更厉害,它不仅能做到这些,还能对网络路径进行实时分析,帮助我们快速诊断网络连接出现的各种问题。

二、mtr命令的安装方法

在Linux系统中,不同的发行版安装mtr命令的方式稍有不同,下面就给大家分别介绍。

Debian/Ubuntu系统

在Debian或Ubuntu系统下,安装mtr命令很简单,只需在终端输入下面这条命令:

sudo apt install mtr -y

这条命令前面的sudo是用来获取管理员权限的,因为安装软件需要管理员权限。apt是Debian和Ubuntu系统的包管理工具,负责处理软件的安装、卸载等操作。install就是安装的意思,后面跟着要安装的软件名mtr,最后的-y表示在安装过程中遇到任何确认提示,都自动选择“是”,这样就不用我们手动一个个确认啦。

RHEL/CentOS系统

RHEL和CentOS系统的安装命令和上面不太一样,在终端输入:

sudo yum install mtr -y

这里的yum是这两个系统的包管理工具,和Debian、Ubuntu系统的apt类似,也是负责软件的安装、卸载等工作。整个命令的意思和Debian/Ubuntu系统下的差不多,同样是获取管理员权限后安装mtr软件,并自动确认安装过程中的提示。

Fedora系统

Fedora系统安装mtr命令也不难,使用下面这条命令:

sudo dnf install mtr -y

dnf是Fedora系统的包管理工具,它是yum的升级版,功能更强大、性能也更好。这条命令同样是获取管理员权限后安装mtr,并且自动确认安装过程中的各种提示。

三、mtr命令的常见用法

安装好mtr命令后,就可以用它来诊断网络问题啦,下面给大家介绍一些常见的用法。

基础用法

mtr命令的基础用法很简单,只需要在命令后面跟上目标主机的域名或者IP地址就行,格式如下:

mtr <hostname/IP>

比如说,我们想追踪数据包到google.com的网络路径,并且实时查看结果,就在终端输入:

mtr google.com

执行这个命令后,会出现类似下面这样的输出:

  Host                Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. router.lan       0.0%    10   1.1    1.0   0.9   1.3  0.2
  2. 192.168.1.1      0.0%    10   2.2    2.1   1.9   2.4  0.2
  3. isp-gateway      0.0%    10  10.2   11.1   9.8  12.2  0.8
  4. core-router      0.0%    10  20.1   21.3  19.8  23.2  1.1
  5. google.com       0.0%    10  30.5   32.0  29.9  34.1  1.3

这些输出内容都是啥意思呢?给大家解释一下:

  • Host:指的是数据包在传输过程中经过的路由器或者节点,也就是数据包的一个个“停靠站”。
  • Loss%:表示这一跳的数据包丢失比例,如果这个数值不为0,那就说明网络在这个节点可能有问题。
  • Snt:是已经发送出去的数据包数量。
  • Last:最近一个数据包的响应时间,单位是毫秒。
  • Avg:平均响应时间,同样是毫秒为单位,这个数值能反映一段时间内的网络延迟情况。
  • Best/Wrst:分别代表最佳和最差响应时间,从这两个数值可以看出网络延迟的波动范围。
  • StDev:标准差,用来衡量网络的稳定性,数值越小说明网络越稳定。

针对固定数量的数据包运行mtr

默认情况下,mtr命令会一直持续运行,不断地发送数据包测试网络。要是我们只想发送固定数量的数据包进行测试,测试完就停止,该怎么办呢?这时候就可以用-c <count>这个参数啦。比如,我们想发送10个数据包后就停止测试,命令如下:

mtr -c 10 google.com

显示数字IP地址

通常,mtr命令会自动把目标主机的域名解析成IP地址再进行测试,要是我们不想看域名,只想直接看到IP地址,方便分析,就可以加上-n这个选项,命令如下:

mtr -n google.com

显示为报告模式

有时候,我们不需要实时更新的测试结果,只想要一份一次性的测试报告就行。这时候,用-r选项就能实现,命令是这样的:

mtr -r google.com

限制跳数

网络路径可能很长,如果我们不想让mtr命令一直检查下去,只想检查到一定的跳数就停止,就可以用-m参数来限制跳数。比如,我们只想检查前10跳的网络情况,命令如下:

mtr -m 10 google.com

显示已发送和已接收的数据包

想知道到底发送了多少数据包,又成功接收了多少数据包吗?用-b选项就能实现,命令很简单:

mtr -b google.com

显示每跳数据包数

要是你还想控制发送到每一跳的数据包数量,也没问题。可以结合-c参数和--report选项来实现,比如,我们想每一跳发送5个数据包,并且以报告模式显示结果,命令如下:

mtr -c 5 --report google.com

四、mtr与ping、traceroute的对比

mtr命令这么厉害,那它和ping、traceroute命令比起来,有啥不一样呢?给大家列个表格,一看就清楚:

命令 功能
ping 主要用来测试和主机能不能连接上,还能看到数据包有没有丢失、延迟高不高。
traceroute 能显示数据包从自己设备到目标主机都经过了哪些路径。
mtr 把ping和traceroute的功能合二为一,还能实时统计网络数据,让我们对网络状况有更全面、更实时的了解。

好啦,关于Linux系统下mtr命令的网络诊断方法就介绍到这里啦。希望大家看完这篇文章,以后在Linux系统里遇到网络问题,都能用mtr命令轻松解决!要是你在使用过程中有啥问题,或者有啥好玩的使用经验,欢迎在评论区留言分享哦!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/15221.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】