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

目录

一、mtr概述

二、mtr的特点

1、动态路由显示

2、数据包类型

3、显示延迟和丢包

4、过滤和日志

5、网络探测

三、基本用法

1、基本语法

2、帮助

3、常用选项

四、输出解释

1、常见mtr命令及其输出

2、输出解释

四、命令实例

 1. 最基本的用法

 2. 显示报告形式的结果

 3. 设置PING操作之间的时间间隔

 4. 显示所有经过的节点的IP地址

 5. 设置要发送的数据包数

 6. 禁用DNS解析

 7. 设置ICMP数据包大小

 8. 使用UDP协议

 9. 保存输出到文件

 10. 批处理模式

11、多个选项同时使用

四、安装MTR

1、apt安装

2、yum安装


一、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的输出通常分为几个部分:

1Host:当前跳点的IP地址或主机名(如果可用)。

2Loss%:该跳点的丢包率。

3Snt:已发送的数据包数量。

4Last:最后一个数据包的往返时间(RTT)。

5Avg:所有数据包的平均RTT

6Best:最佳(最小)RTT

7Wrst:最差(最大)RTT

8StDevRTT的标准偏差。

四、命令实例

        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 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/697230.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode3170. 删除星号以后字典序最小的字符串

Every day a Leetcode 题目来源:3170. 删除星号以后字典序最小的字符串 解法1:栈 由于要去掉最小的字母,为了让字典序尽量小,相比去掉前面的字母,去掉后面的字母更好。 从左到右遍历字符串 s,用 26 个栈…

Collections工具类及其案例

package exercise;public class Demo1 {public static void main(String[] args) {//可变参数//方法形参的个数是可以发生变化的//格式:属性类型...名字//int...argsint sum getSum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);System.out.println(sum);}//底层:可…

嵌入式仪器模块:DMM LCR SMU 及自动化测试软件

• 6 位数字表显示 • 24 位分辨率 • 250 KSPS 采样率 • 电源和数字 I/O 均采用隔离抗噪技术 应用场景 • 电压、电流、电阻、电感、电容的高精度测量 • 二极管/三极管测试 通道1222输入阻抗电压10 MΩHigh-Z, 10 MΩHigh-Z电流10 Ω50 mΩ / 2 Ω / 2 KΩ2 KΩ / 2 M…

Upscayl:款利用人工智能技术,深度学习算法,实现图像无损放大和增强的强大工具。

Upscayl AI: Upscayl AI是一款基于先进的人工智能技术,特别是深度学习算法开发的图像增强工具。它能够智能地分析并改善图像质量,实现无损放大、细节重建和模糊消除,让老旧、低分辨率或模糊的照片焕发新生,达到高清画…

23.在游戏中按下Home键呼出辅助窗口

上一个内容:22.钩子注入原理 在 22.钩子注入原理 它的代码上进行修改 效果图: 首先在CWndMain.h文件中添加下图红框里的东西 ChangeShowState函数的实现 void CWndMain::ChangeShowState() {UiShow !UiShow;ShowWindow(UiShow); } OnInitDialog函数…

在 Android App 里使用 C 代码 - NDK

原生开发套件 (NDK) 是一套工具,使能够在 Android 应用中使用 C 和 C 代码,并提供众多平台库,可使用这些平台库管理原生 activity 和访问实体设备组件,例如传感器和触控输入。 NDK 可能不适合大多数 Android 编程初学者&#xff…

保存图片奇怪的bug

今天发现一个奇怪的bug 这个的dpi是100de ,但是我取完切片之后,发现这个结果就变了

Word中插入Mathtype右编号,调整公式与编号的位置

当你已经将mathtype内置于word后,可以使用右编号快速插入公式 但是往往会出现公式和编号出现的位置或之间的距离不合适 比如我在双栏下插入公式,会发现插入的公式与编号是适用于单栏的 解决办法: 开始->样式->MTDisplayLquation -&g…

基于Java+SpringBoot制作一个景区导览小程序

基于Java+SpringBoot制作一个景区导览小程序。其中系统前端功能包括注册登录、景区采风、旅游导览、地图导航、发布采风、门票预订、修改个人信息;系统后台功能包括用户管理、景区管理、采风管理等模块。 摘要一、小程序1. 创建小程序2. 首页3. 景区采风页4. 旅游导览页5. 发布…

让GNSSRTK不再难【第二天-第3部分】

第11讲 定位方程构建以及最小二乘 11.1 定位方程重构 历史讲中我们已经初步构建了单点定位的先验残差: p i s P i s − ( X s − X 0 ) 2 ( Y s − Y 0 ) 2 ( Z s − Z 0 ) 2 c δ t r − I i s − T i s − ϵ P i s p_i^s P_i^s - \sqrt{(X^s - X_0)^2 (Y…

学生信息管理(C语言)

学生信息管理 (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 系统以菜单方式工作学生信息录入功能(学生信息用文件保存)---输入学生信息浏览功能---输出查询、排序功能---算法1、…

2024全国大学生数学建模竞赛优秀参考资料分享

0、竞赛资料 优秀的资料必不可少,优秀论文是学习的关键,视频学习也非常重要,如有需要请点击下方名片获取。 一、赛事介绍 全国大学生数学建模竞赛(以下简称竞赛)是中国工业与应用数学学会主办的面向全国大学生的群众性科技活动,旨…

【C语言】C语言—通讯录管理系统(源码)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

Go singlefight 源码详解|图解

写在前面 通俗的来说就是 singleflight 将相同的并发请求合并成一个请求,进而减少对下层服务的压力,通常用于解决缓存击穿的问题。 详解 基础结构 golang.org/x/sync/singleflight singleflight结构体: type call struct {wg sync.WaitGro…

【recast-navigation-js】使用three.js辅助绘制Agent寻路路径

目录 说在前面setAgentTarget绘制寻路路径结果问题其他 说在前面 操作系统:windows 11浏览器:edge版本 124.0.2478.97recast-navigation-js版本:0.29.0golang版本:1.21.5上一篇:【recast-navigation-js】使用three.js辅…

【代码+详解】算法题 : 金银岛

❗❗❗必看: 下列题我全部都使用 Java 语言写的,并且均可以提交成功,获得Accepted 结果的. 如果代码和详解看了之后,对答案有任何疑问,都可以在评论区提出来,我都会一个一个回答. ❗❗❗感谢大家的支持,如果喜欢我的博客,关注 点赞 收藏 评论一波,非常感谢!!! 文章目录 题目:…

AWT常用组件

AWT中常用组件 前言一、基本组件组件名标签(Label类)Label类的构造方法注意要点 按钮(Button)Button的构造方法注意要点 文本框(TextField)TextField类的构造方法注意要点 文本域(TextArea)TextArea 的构造方法参数scrollbars的静态常量值 复选框&#x…

Java_Map集合

认识Map集合 Map集合称为双列集合,格式:{key1value,key2value2,key3value3,…},一次需要存一对数据作为一个元素。 Map集合的每个元素“Keyvalue” 称为一个键值对/键值对对象/一个Entry对象,Map集合也被叫做“键值对集合” Map集…

攻防演练之-网络集结号

每一次的网络安全攻防演练都是各个安全厂商期待的网络安全盛会,因为目前的安全生态导致了只有在网络安全攻防演练期间,网络安全的价值才会走向台前,收到相关方的重视。虽然每一次都会由于各种原因不能如期举行,但是这一次的推迟总…

Anaconda配置环境

查看存在的环境 conda list创建环境 #创建 名称为python38的python环境 conda create -n python38 python3.8 #激活 conda activate python38 #退出当前环境 conda deactivate安装python包 #安装numpy包 conda install numpy #安装指定版本 conda install numpy1.0.2 #安装指…