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

news2024/12/23 14:06:55

目录

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


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

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

相关文章

Golang Context详解

文章目录 基本介绍context源码剖析Context接口emptyCtxcancelCtxtimerCtxvalueCtx context使用案例协程取消超时控制数据共享 基本介绍 基本介绍 在Go 1.7版本中引入了上下文(context)包,用于在并发编程中管理请求范围的数据、控制生命周期、…

力扣----轮转数组

题目链接:189. 轮转数组 - 力扣(LeetCode) 思路一 我们可以在进行每次轮转的时候,先将数组的最后一个数据的值存储起来,接着将数组中前n-1个数据依次向后移,最后将存储起来的值赋给数组中的第一个数据。 …

数据结构复习笔记

简答题 (3) 顺序表和链表的概念及异同 顺序表: 把逻辑上相邻的结点储存在物理位置上的相邻储存单元中,结点的逻辑关系由储存单元的邻接关系来体现.链表: 逻辑上相邻的结点存储再物理位置上非连续非顺序的存储单元中, 结点的逻辑关系由指向下一个结点的指针确保.相…

2024.6.10学习记录

1、代码随想录二刷 2、项目难点 review 3、计组复习

常见的api:BigDecima

一.计算中的小数 float和double占有的位置是有限的 二.BigDecima的作用 1.用于小数的精确计算 2.用来表示很大的小数 三.使用(传入小数) BigDecimal b1 new BigDecimal(0.01);BigDecimal b2 new BigDecimal(0.09);System.out.println(b1);System.out.println(b2); 不精确&…

C++面向对象程序设计 - 输入输出流进一步研究

在C中&#xff0c;输入输出流&#xff08;I/O&#xff09;是一个强大的特性&#xff0c;它允许程序与各种输入/输出设备&#xff08;如键盘、显示器、文件等&#xff09;进行交互。C标准库中的<iostream>头文件定义了基本的输入输出流类&#xff0c;如std::cin&#xff0…

流批一体计算引擎-9-[Flink]中的数量窗与时间窗

1 数量窗 1.1 数量滚动窗口 0基础学习PyFlink——个数滚动窗口(Tumbling Count Windows) 1.1.1 代码分析 Tumbling Count Windows是指按元素个数计数的滚动窗口。 滚动窗口是指没有元素重叠的窗口。 (1)构造了一个KeyedStream&#xff0c;用于存储word_count_data中的数据。…

creo学习一

设置好当前配置后&#xff0c;导出config配置文件&#xff0c;并覆盖掉此路径下的旧文件&#xff0c;使得新配置永久生效&#xff0c;这样每次打开软件都是新配置的设置&#xff1a; 系统颜色的导出&#xff1a; 打开版本的问题&#xff1a; 不能有弱尺寸&#xff1a; 注意&a…

【Android Studio】导入import android.support.v7.app.AppcompatActivity;时报错

一、问题描述 在进行安卓项目开发时使用import android.support.v7.app.AppcompatActivity;报错&#xff1a; 运行后会有乱码出现&#xff1a; 二、解决办法 将import android.support.v7.app.AppcompatActivity;改为import androidx.appcompat.app.AppCompatActivity;基本上…

代码随想录算法训练营第五十四 | ● 392.判断子序列 ● 115.不同的子序列

392.判断子序列 https://programmercarl.com/0392.%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97.html class Solution { public:bool isSubsequence(string s, string t) {if(s.size()0 )return true;if(t.size()0)return false;vector<vector<int>> dp(s.size(…

学生信息管理(C语言)

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

Zabbix6.0自动发现Linux服务器并添加主机

文章目录 一、整体流程二、操作过程 一、整体流程 Zabbix自动发现主机功能是Zabbix监控系统的一个重要功能&#xff0c;它能够自动发现并添加新的主机到监控系统中&#xff0c;从而减少人为繁琐的操作&#xff01; 步骤操作1️⃣ 第一步创建自动发现规则2️⃣ ​第二步创建自…

上汽集团25届暑期实习测评校招笔试题库已发(真题)

&#x1f4e3;上汽集团 25届暑期实习测评已发&#xff0c;正在申请的小伙伴看过来哦&#x1f440; ㊙️本次实习项目面向2025届国内外毕业生&#xff0c;开放了新媒体运营、销售策略、市场运营、物流、质量分析等岗位~ ✅测评讲解&#xff1a; &#x1f449;测评自收到起需在…

PawSQL优化 | 分页查询太慢?别忘了投影下推

​在进行数据库应用开发中&#xff0c;分页查询是一项非常常见而又至关重要的任务。但你是否曾因为需要获取总记录数的性能而感到头疼&#xff1f;现在&#xff0c;让PawSQL的投影下推优化来帮你轻松解决这一问题&#xff01;本文以TPCH的Q12为案例进行验证&#xff0c;经过Paw…

万能表单与AI的完美融合,打造个性化AI小程序

在人工智能技术日益成熟的今天&#xff0c;如何将AI智能与用户界面无缝结合&#xff0c;已成为软件开发领域的新挑战。MyCms 以其创新的“万能表单结合AI”功能&#xff0c;为开发者提供了一个全新的解决方案&#xff0c;让个性化AI小程序的开发变得前所未有的简单和高效。 一、…

powerdesigner各种字体设置

1、设置左侧菜单&#xff1a; 步骤如下&#xff1a; tools —> general options —> fonts —> defalut UI font ,选择字体样式及大小即可&#xff0c;同下图。 2、设置Table的字体大小 Tools------>Display Prefrences------>Table------->Format---------…

基于机器学习的锂电池RUL SOH预测

数据集为NASA锂电池数据集。 import datetimeimport numpy as npimport pandas as pdfrom scipy.io import loadmatfrom sklearn.preprocessing import MinMaxScalerfrom sklearn.metrics import mean_squared_errorfrom sklearn import metricsimport matplotlib.pyplot as p…

从GPU到ASIC,博通和Marvell成赢家

ASIC市场上&#xff0c;博通预计今年AI收入将达到110亿美元以上&#xff0c;主要来自与Google和Meta的合作&#xff1b;Marvell预计2028年AI收入将达到70亿至80亿美元&#xff0c;主要来自与Amazon和Google的合作。 随着芯片设计和系统复杂性的增加&#xff0c;科技大厂将更多地…

Python 全栈体系【四阶】(五十八)

第五章 深度学习 十三、自然语言处理&#xff08;NLP&#xff09; 3. 文本表示 3.1 One-hot One-hot&#xff08;独热&#xff09;编码是一种最简单的文本表示方式。如果有一个大小为V的词表&#xff0c;对于第i个词 w i w_i wi​&#xff0c;可以用一个长度为V的向量来表示…

OBS 录屏软件 for Mac 视频录制和视频实时交流软件 安装

Mac分享吧 文章目录 效果一、准备工作二、开始安装注意事项&#xff1a;包内有两个版本及圆形图片&#xff0c;请根据自身需要版本进行安装演示为&#xff1a;MacBook Pro M3芯片1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff08;最终目的&#xff1a;安装进…