mtr网络监测工具

简介: mtr网络监测工具

一、MTR介绍


我们一般常用的网络检测工具有 ping,tracert,nslookup,这些一般用来判断主机的网络连通性,而其实 Linux 中有一个更好用的网络联通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是 mtr。


mtr 全称 my traceroute,是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具。


注释:traceroute默认使用UDP数据包探测,而mtr默认使用ICMP报文探测,ICMP在某些路由节点的优先级要比其他数据包低,所以测试得到的数据可能低于实际情况,但这并不妨碍他是一款优秀的网络监测工具


二、安装方式(Linux)


  • Linux可以直接运行命令进行安装。


#Debian/Ubuntu 系统
sudo apt install mtr
#RedHat/CentOS 系统
sudo yum install mtr 


三、使用


  • MTR使用非常简单,示例:


#测试本机到qq.com的路由以及连接情况
[root@localhost ~]# mtr qq.com

276d3bb42ac247b080652c2565adf62f.png

具体输出的参数含义为:


Host: IP地址,前面的数据表示第几挑,例如:1. 10.0.2.1表示第一跳经过了10.0.2.1

Loss%: 丢包率

Snt: 已发送的包数

Last: 最后一个包的延时

Avg: 平均延时

Best: 最低延时

Wrst: 最差延时

StDev: 方差,稳定性


四、 选项参数说明


(1)-r 或–report


单独使用mtr + 域名、ip地址时,输出的数据是动态的,并且如果不中断的话,会一直运行,也就是会一直刷新数据。


mtr提供-r或 --report选项,使用此选项时,mtr会把得到的数据打印成报告,中间的过程默认是mtr向目标主机发送10个ICMP包,然后直接输出结果,通常情况下需要数秒时间来生成报告


mtr报告由一系列跳数组成,每一跳意味着数据包达到目的主机过程中经过的节点或者路由器


默认使用-r来生成报告,即默认只发送10个数据包,当然也可以使用-c参数自定义数据包的数量


示例:

[root@localhost ~]# mtr -r qq.com
Start: Thu Dec 23 16:03:35 2021
HOST: localhost.localdomain       Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- gateway                    0.0%    10    1.6   2.9   1.4  14.1   3.9
  2.|-- 10.0.100.6                 0.0%    10    0.6   0.6   0.5   0.7   0.0
  3.|-- 111.206.233.193            0.0%    10    7.0  31.8   7.0  69.6  22.1
  4.|-- 10.255.255.5               0.0%    10    3.7  22.6   3.7  85.6  31.1
  5.|-- 10.255.255.33              0.0%    10    2.2   2.3   1.9   3.1   0.0
  6.|-- 10.15.82.33                0.0%    10    2.3   3.4   2.1   4.9   0.8
  7.|-- 61.135.194.101             0.0%    10    1.4   1.3   1.1   1.7   0.0
  8.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
[root@localhost ~]# mtr -r baidu.com
Start: Thu Dec 23 16:13:19 2021
HOST: localhost.localdomain       Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- gateway                    0.0%    10    1.5   1.6   1.4   2.2   0.0
  2.|-- 10.0.100.6                 0.0%    10    0.5   0.6   0.5   0.6   0.0
  3.|-- 111.206.233.193            0.0%    10   42.0  20.7   3.8  71.9  22.7
  4.|-- 10.255.255.5               0.0%    10    7.8  11.9   3.8  45.8  14.9
  5.|-- 10.255.255.33              0.0%    10   30.5   5.2   2.0  30.5   8.9
  6.|-- 10.15.82.33                0.0%    10    2.4   3.4   2.4   7.1   1.4
  7.|-- 61.135.194.101             0.0%    10    1.2   1.2   1.1   1.3   0.0
  8.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0

(2)-s 或 --packetsize


  • 使用 -s 来指定ping数据包的大小


mtr -s 50 qq.com


转移:100 bytes 数据包会用来发送,测试,如果设置为负数,则每一次发送的数据包的大小都会是一个随机数。


(3)-c


指定发送数量


mtr -c 100 qq.com


(4)-n


  • 使用-n参数会只让mtr输出ip,而不对主机名(hostname)进行解释


[root@localhost ~]# mtr -n baidu.com


aadaafc24dd043cd856ce3122755db36.png


五、MTR结果详解


  • 当我们分析 MTR 报告时候,除了可以查看两个服务器之间的路径之外,MTR 在它的七列输出数据中提供了很多有价值的数据统计报告。


Loss% :展示了数据包在每一跳的丢失率


Snt :记录了多少个数据包被送出 (使用 –report 或-r参数默认会送出10个数据包,-c发送指定数量的数据包)


Last、Avg、Best、Wrst:表示数据包往返的时间,使用的是毫秒( ms )单位表示。


Last 表示最后一个数据包所用的时间


Avg 表示评价时间


Best 和 Wrst 表示最小和最大时间。在大多数情况下,平均时间( Avg)列需要我们特别注意。


StDev: 提供了数据包在每个主机的标准偏差。如果标准偏差越高,说明数据包在这个节点的延时越不相同。标准偏差会让您了解到平均延时是否是真的延时时间的中心点,或者测量数据受到某些问题的干扰。


例如:如果标准偏差很大,说明数据包的延迟是不确定的。一些数据包延迟很小(例如:25ms),另一些数据包延迟很大(例如:350ms)。当10个数据包全部发出后,得到的平均延迟可能是正常的,但是平均延迟是不能很好的反应实际情况的。


如果标准偏差很高,使用最好和最坏的延迟来确定平均延迟是一个较好的方案。


在大多数情况下,可以把 MTR 的输出分成三大块。


(1)第二或第三跳一般都是您的本地 ISP


(2)倒数第二或第三跳一般为您目的主机的ISP


(3)中间的节点是数据包经过的路由器。


六、网络丢包


  • 如果在任何一跳看到了Loss%的百分比不为0.0%,就说明这一跳可能有问题了。但是发生丢包的现象有很多,例如:


(1)很多服务器提供商人为限制ICMP的发送速率

(2)网络不好

(3)互联网设施的维护或者短暂的网络拥挤


如何分辨是人为限制还是确定有丢包现象(常见判断方法):


当出现丢包现象,需要确认丢包的下一跳是否有丢包现象,如果没有,说明这次丢包现象是人为的,如果丢包的下一跳,甚至与之后的几跳都有丢包现象的话,说明这次丢包是有问题的。


但是,当我们看到不同的丢包率时,通常还是要以最后几条为准


互联网设施的维护或短暂的网络拥挤可能会带来短暂的丢包率,当出现短暂的10%丢包率时候,应用层的程序会弥补这点损失


注意:ICMP包的速率限制和丢失有可能会同时发生



七、网络延迟


  • mtr可以看到本地到目的之间的时延,因为是不同的位置,延迟通常会随着条数的增加而增加,所以延迟通常取决与节点之间的物理距离和线路的质量
  • 示例:


在第5跳之前的last所用时间都是个位数,但是在第6跳时,last所用时间达到了100+,这个时候可能的情况有:


(1)第5跳到第6跳属于不同地域,物理距离的增加导致时延增加


(2)第6跳的路由器配置不当导致


(3)线路拥堵


当然还有其他情况,上面的只是常见情况,当遇到问题时还是需要进行具体的分析才行


  • 高延迟并不一定表示当前路由器有问题,延迟增大的原因也有可能时在数据包返回过程中引发的,所以一般需要进行双向的、互相的mtr测试
  • 注意:如果对ICMP进行了速率限制也可能会增加延迟,但是一般可以查看最后一条的时延来判断


八、结尾


当然还有其他情况,上面的只是常见情况,当遇到问题时还是需要进行具体的分析才行


  • 高延迟并不一定表示当前路由器有问题,延迟增大的原因也有可能时在数据包返回过程中引发的,所以一般需要进行双向的、互相的mtr测试
  • 注意:如果对ICMP进行了速率限制也可能会增加延迟,但是一般可以查看最后一条的时延来判断


八、结尾


mtr的检测报告显示的路由问题大多数都是暂时性的,大部分的问题都会在24小时之内被解决,当遇到网络问题后,可以选择对自己的服务供应商说明自己的问题,在联系供应商时,可以发送mtr的检测报告,可以帮助供应商快速的解决问题。但是在实际环境中,路由问题还是比较少见的,常见的一般都是因为物理距离太长、网络拥挤等,可以去选择购买cnd,减少网络延迟等

目录
相关文章
|
23天前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
76 28
|
1月前
|
数据采集 人工智能 自然语言处理
FireCrawl:开源 AI 网络爬虫工具,自动爬取网站及子页面内容,预处理为结构化数据
FireCrawl 是一款开源的 AI 网络爬虫工具,专为处理动态网页内容、自动爬取网站及子页面而设计,支持多种数据提取和输出格式。
285 19
FireCrawl:开源 AI 网络爬虫工具,自动爬取网站及子页面内容,预处理为结构化数据
|
20天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
33 11
|
2月前
|
存储 安全 物联网
浅析Kismet:无线网络监测与分析工具
Kismet是一款开源的无线网络监测和入侵检测系统(IDS),支持Wi-Fi、Bluetooth、ZigBee等协议,具备被动监听、实时数据分析、地理定位等功能。广泛应用于安全审计、网络优化和频谱管理。本文介绍其安装配置、基本操作及高级应用技巧,帮助用户掌握这一强大的无线网络安全工具。
94 9
浅析Kismet:无线网络监测与分析工具
|
1月前
|
网络协议 安全 测试技术
Nping工具详解:网络工程师的瑞士军刀
### Nping工具详解:网络工程师的瑞士军刀 Nping是Nmap项目的一部分,支持TCP、UDP、ICMP和ARP等多种协议,用于生成和分析网络数据包。它提供灵活的命令行界面,适用于网络探测、安全测试和故障排除。本文介绍Nping的基础与高级用法,包括发送不同类型的网络请求、自定义TCP标志位、路由跟踪等,并通过实战案例展示其应用。掌握Nping有助于更好地理解和管理网络环境。 (239字符)
80 9
|
3月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
102 32
|
3月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
197 4
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
86 17
|
2月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
63 10

热门文章

最新文章