Linux如何使用mtr命令进行网络诊断
如果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命令轻松解决!要是你在使用过程中有啥问题,或者有啥好玩的使用经验,欢迎在评论区留言分享哦!