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 ResolutionDependencies Resolved==============================================================================================================================================================Package                           Arch                                 Version                                      Repository                          Size
==============================================================================================================================================================
Installing:mtr                               x86_64                               2:0.85-7.el7                                 base                                71 kTransaction Summary
==============================================================================================================================================================
Install  1 PackageTotal 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 transactionInstalling : 2:mtr-0.85-7.el7.x86_64                                                                                                                    1/1Verifying  : 2:mtr-0.85-7.el7.x86_64                                                                                                                    1/1Installed:mtr.x86_64 2:0.85-7.el7Complete!
[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 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 配置事务

SpringBoot 在启动时已经加载了事务管理器,所以只需要在需要添加事务的方法/类上添加Transactional即可生效,无需额外配置。 TransactionAutoConfiguration 事务的自动配置类解析: SpringBoot 启动时加载/META-INF/spring/org.springframewor…

帕友的小贴士,锻炼

帕金森病作为一种慢性神经系统疾病,对患者的生活质量产生了深远的影响。虽然医学界对于帕金森病的治疗仍在不断探索,但合理的锻炼已经被证实是改善患者症状、提高生活质量的有效途径之一。本文旨在为帕金森病患者推荐一些适合的锻炼方法,帮助…

c#未能加载基类System错误 这台计算机上缺少此项目引用的 NuGet 程序包

拷贝代码到另一台计算机运行,打开Form1.cs报错 首先确认package的框架 如果是472,则更换472的框架 打开项目->xx属性,进行修改 如果框架正确,就是未识别到程序包 可以参考: https://www.cnblogs.com/txwtech/p/1…

WPF真入门教程32--WPF数字大屏项目实干

1、项目背景 WPF (Windows Presentation Foundation) 是微软的一个框架,用于构建桌面客户端应用程序,它支持富互联网应用程序(RIA)的开发。在数字大屏应用中,WPF可以用来构建复杂的用户界面,展示庞大的数据…

day31贪心算法part01| 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和

**455.分发饼干 ** 视频讲解 | 力扣链接刚开始想到的&#xff0c;但是这样太暴力了&#xff0c;太笨了 class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {// 胃口g 饼干尺寸sint result 0;sort(s.begin(), s.end());…

后方碰撞预警系统技术规范(简化版)

后方碰撞预警系统技术规范(简化版) 1 系统概述2 预警区域3 预警目标4 功能需求功能条件5 显示需求6 指标需求1 系统概述 后方碰撞预警系统RCW(Rear Collision Warning)是在后方车辆即将与自车发生碰撞之前,激活危险警告灯以较高频率闪烁,从而吸引后方驾驶员的注意力,避免…

mysql 数据库datetime 类型,转换为DO里面的long类型后,只剩下年了,没有了月和日

解决方法也简单&#xff1a; 自定义个一个 Date2LongTypeHandler <resultMap id"BeanResult" type"XXXX.XXXXDO"><result column"gmt_create" property"gmtCreate" jdbcType"DATE" javaType"java.lang.Long&…

44【Aseprite 作图】樱花丸子——拆解

1 枝干 2 花朵&#xff1a;其实只要形状差不多都行&#xff0c;有三个颜色&#xff0c;中间花蕊颜色深一点&#xff0c;中间花蕊外的颜色偏白&#xff1b;不透明度也可以改一下&#xff0c;就变成不同颜色 3 丸子 最外层的颜色最深&#xff0c;中间稍浅&#xff0c;加一些高光…

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

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

修复损坏的Excel文件比你想象的要简单,这里提供几种常见的修复方法

打开重要的Excel文件时遇到问题吗?Microsoft Excel是否要求你验证文件是否已损坏?Excel文件可能由于各种原因而损坏,从而无法打开。但不要失去希望;你可以轻松修复损坏的Excel文件。 更改Excel信任中心设置 Microsoft Excel有一个内置的安全功能,可以在受限模式下打开有…

MySQL数据库的基础:逻辑集合数据库与表的基础操作

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能接…

字符串常量简单介绍

C/C内存四区介绍 如前文所示&#xff0c;字符串常量存储在静态存储区的字符串常量区&#xff0c;这样做的好处是 当程序使用到多个相同的字符串常量时&#xff0c;实际上都是使用的同一份&#xff0c;这样就可以减小程序的体积。注意字符串常量是只读的不能被修改。 如图所示&…

冯喜运:6.11#现货黄金#美原油#行情趋势分析及操作建议

【黄金消息面分析】&#xff1a;随着全球经济的波动&#xff0c;黄金作为传统的避险资产&#xff0c;其价格走势一直备受投资者关注。上周五&#xff0c;美国非农就业报告的强劲表现给美联储降息预期泼了冷水&#xff0c;同时&#xff0c;中国5月份未增持黄金&#xff0c;结束了…

在 Android App 里使用 C 代码 - NDK

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

追觅科技2025校园招聘测评已发(真题)

&#x1f4e3;追觅科技 2025校园招聘测评已发&#xff0c;正在申请的小伙伴看过来哦&#x1f440; ㊙本次校招面向全球于2023年7月 - 2025年12月期间毕业的同学&#xff0c;开放了四大类岗位&#xff1a;营销类、研发类、制作供应类、职能类~ ✅测评解析 &#x1f449; 测评自…

芒果YOLOv10改进38:写作篇:一文了解YOLOv10如何打印FPS指标

只需订阅这一个专栏即可阅读:芒果YOLOv10所有改进内容 💡🚀🚀🚀本博客内含改进源代码,按步骤操作运行改进后的代码即可 💡更方便的统计更多实验数据,方便写作 新增YOLOv10打印FPS指标 完善(一键YOLOv10打印FPS指标) 文章目录 完善(一键YOLOv10打印FPS指标)YOLO…

Linux系统编程(十一)线程、线程控制

线程 一、线程概念&#xff1a; ps -eLf 查看线程号&#xff08;cpu 执行的最小单位&#xff09; 二、Linux内核线程实现原理 三、三级映射&#xff08;三级页表&#xff09; 进程PCB-->页面&#xff08;可看成数组&#xff0c;首地址位于PCB中&#xff09;--》页表--》页…

计算机系统基础笔记(10)——浮点数

前言 结合第四篇观看 效果更好^^ 数值型分为两类 定点数 整数小数 浮点数 注意&#xff1a;小数点不用占用二进制位 第一部分 编码 1.小数的二进制表示 位置计数法&#xff1a;小数点左边的权重是正指数&#xff0c;右边的数是负指数&#xff0c;如图 由此可知&#xff0…

MySQL数据库(二)和java复习

一.MySQL数据库学习(二) (一).DQL查询数据 DQL&#xff08;Data Query Language&#xff09;是用于从数据库中检索数据的语言。常见的 DQL 语句包括 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY 等关键字&#xff0c;用于指定要检索的数据、数据源、过滤条件、分组方…

格式化后硬盘数据能恢复吗?硬盘数据恢复这样做!

硬盘是电脑中必备的数据存储设备&#xff0c;另外还有移动硬盘。移动硬盘存储空间非常大、性价比高、便于携带&#xff0c;给我们带来和很多便利。但是和其他存储设备一样&#xff0c;各种硬盘也会出现各种问题&#xff0c;比如常见的格式化硬盘导致数据丢失的问题。 怎么样恢复…