目录
一、mtr概述
MTR是一个强大的网络诊断工具, MTR(My Traceroute)是一个结合了traceroute和ping功能的网络诊断工具,它能够提供路径探测和网络诊断服务。MTR通过发送ICMP或者UDP数据包来测试网络连接,并实时显示数据包所经过的路由器及其响应时间。
这个工具对于网络工程师和系统管理员来说非常有用,可以帮助他们识别网络延迟和丢包等问题;能够帮助他们详细地了解网络连接的质量和性能。
通过实时显示路径上的网络状况,MTR在诊断和解决网络问题方面非常有用。
二、mtr的特点
根据mtr的工作原理,概况下来,MTR网络工具有几个主要特点,下面分别描述。
1、动态路由显示
与传统的traceroute工具不同,MTR在运行时会持续显示路径上的网络状况,而不是只显示一次路径。这使得MTR在检测临时网络问题时非常有用。
2、数据包类型
MTR默认发送UDP数据包,但也可以配置为发送ICMP Echo请求(类似于ping命令)。
3、显示延迟和丢包
MTR显示每一跳的往返时间(RTT),并可以标记出数据包丢失的跳。
4、过滤和日志
MTR允许用户应用过滤器,以查看特定的路由器或网络段的信息。此外,MTR可以配置为将诊断结果保存到日志文件中。
5、网络探测
MTR可以在不同的网络协议和端口上运行,以适应不同的网络测试需求。
三、基本用法
1、基本语法
在Linux终端中输入mtr命令,然后指定要测试的域名或IP地址,如下命令格式:
mtr 目标IP或域名
2、帮助
在centos7的命令行中输入:
Mtr –help
显示如下帮助信息:
3、常用选项
-r
:报告模式。指定要发送的数据包数量,然后停止。例如,-r 10
将发送10个数据包然后停止。
-c
:连续模式。指定要发送的数据包数量,然后重新开始。这允许我们持续监视网络性能。
-i
:设置数据包之间的间隔时间(以秒为单位)。默认是1秒。
-s
:设置要发送的数据包大小(以字节为单位)。默认是50字节。
-u
:使用UDP而不是ICMP来探测。这有时可以绕过防火墙或某些网络设备的限制。
-P
:设置要使用的ICMP类型。默认为ICMP echo请求(类型8)。
四、输出解释
1、常见mtr命令及其输出
比如我们查看到 百度网站的网络状况,可以输入如下命令:
mtr www.baidu.com
运行后,MTR会开始显示数据包经过的路径,并实时更新每一跳的响应时间。如下图所示
2、输出解释
mtr的输出通常分为几个部分:
(1)Host:当前跳点的IP地址或主机名(如果可用)。
(2)Loss%:该跳点的丢包率。
(3)Snt:已发送的数据包数量。
(4)Last:最后一个数据包的往返时间(RTT)。
(5)Avg:所有数据包的平均RTT。
(6)Best:最佳(最小)RTT。
(7)Wrst:最差(最大)RTT。
(8)StDev:RTT的标准偏差。
四、命令实例
Mtr网络工具的常见用法例子很多,下面列举几个。
1. 最基本的用法
直接指定要诊断的目标主机名或IP地址。例如,要诊断到www.example.com的网络连通性,可以执行:
mtr www.example.com
2. 显示报告形式的结果
使用-r参数可以以报告的形式显示结果,便于阅读和分析。例如:
mtr -r www.example.com
3. 设置PING操作之间的时间间隔
如果需要找到网络中的瓶颈,可以使用-w参数来设置PING操作之间的时间间隔。例如,每1秒发送一个PING请求:
mtr -w 1 www.example.com
4. 显示所有经过的节点的IP地址
使用-d参数可以显示所有经过的节点的IP地址,不进行名称解析。这在某些情况下可能更有用,因为名称解析可能会增加延迟或失败。例如:
mtr -d www.example.com
5. 设置要发送的数据包数
使用-c参数可以设置要发送的数据包数。默认情况下,mtr会发送一定数量的数据包以获取更准确的统计信息。例如,发送10个数据包:
mtr -c 10 www.example.com
6. 禁用DNS解析
使用-n参数可以禁用DNS解析,只显示IP地址。这在某些情况下可能更有用,例如当DNS解析失败或缓慢时。例如:
mtr -n 8.8.8.8
7. 设置ICMP数据包大小
使用-s参数可以设置要发送的ICMP数据包大小。这有助于检测是否存在MTU(最大传输单元)问题。例如,发送1500字节的数据包:
mtr -s 1500 www.example.com
8. 使用UDP协议
默认情况下,mtr使用ICMP协议进行探测。但是,某些网络可能阻止ICMP数据包。在这种情况下,可以使用-u参数使mtr使用UDP协议进行探测。例如:
mtr -u www.example.com
9. 保存输出到文件
可以使用重定向操作符(>)将mtr的输出保存到文件中,以便稍后分析。例如:
mtr www.example.com > mtr_output.txt
10. 批处理模式
使用-b参数可以以批处理模式运行mtr,输出结果以可编辑格式打印。这有助于将输出导入到其他工具或脚本中进行进一步处理。例如:
mtr -b www.example.com > output.txt
11、多个选项同时使用
MTR也支持许多高级配置选项,例如指定数据包大小、跳数、端口等。这些选项可以通过命令行参数或配置文件进行设置。例如:
mtr -s 100 -p 80 www.example.com
这条命令指定了数据包大小为100字节,并指定测试端口为80。
四、安装MTR
在大多数Linux发行版中,MTR可以通过包管理器安装。
1、apt安装
例如,在Debian和Ubuntu上,可以使用以下命令:
sudo apt-get install mtr
2、yum安装
在Red Hat和CentOS上,可以使用:
sudo yum install mtr
在centos7上实际操作如下:
[root@ecs-52a1 /]#
[root@ecs-52a1 /]# mtr --h
bash: mtr: command not found
[root@ecs-52a1 /]# sudo yum install mtr
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
epel | 4.3 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/2): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(2/2): epel/x86_64/primary_db | 8.7 MB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package mtr.x86_64 2:0.85-7.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================
Installing:
mtr x86_64 2:0.85-7.el7 base 71 k
Transaction Summary
==============================================================================================================================================================
Install 1 Package
Total download size: 71 k
Installed size: 128 k
Is this ok [y/d/N]: y
Downloading packages:
mtr-0.85-7.el7.x86_64.rpm | 71 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 2:mtr-0.85-7.el7.x86_64 1/1
Verifying : 2:mtr-0.85-7.el7.x86_64 1/1
Installed:
mtr.x86_64 2:0.85-7.el7
Complete!
[root@ecs-52a1 /]#
[root@ecs-52a1 /]#
[root@ecs-52a1 /]# mtr --h
usage: mtr [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report]
[--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]
[--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips]
[--address interface] [--filename=FILE|-F]
[--ipinfo=item_no|-y item_no]
[--aslookup|-z]
[--psize=bytes/-s bytes] [--order fields]
[--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM]
[--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS]
[--interval=SECONDS] HOSTNAME
[root@ecs-52a1 /]#
由此可以看出,开始并没有安装mtr,安装好以后,使用mtr --h可以正确查看帮助信息。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Linux网络诊断工具mtr命令详解
发表评论 取消回复