网络诊断神器-mtr工具使用指南

Linux网络诊断工具mtr命令详解


一、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可以正确查看帮助信息。


链接:https://blog.csdn.net/DENGGELADENG/article/details/122670809?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522d30d8918ece5c83a1e289b47d00d8295%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=d30d8918ece5c83a1e289b47d00d8295&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-122670809-null-null.142^v102^pc_search_result_base1&utm_term=mtr&spm=1018.2226.3001.4187

(版权归原作者所有,侵删)

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值