mtr工具介绍

mtr工具介绍,第1张

一、工具介绍

mtr功能在探测公网连通性的时候比较常用。

二、常用的命令

mtr www.baidu.com 不带参数

结果解释:

到www.baidu.com 左边Host那一列,到www.baidu.com需要十三跳。

右边,Packets,Pings两个部分,Packets Loss%(丢包百分比),Snt(已经发送的包数),Last(最后一个发包的延时) 

Pings ,Avg(平均延时),Best(最低延时),Wrst(最差延时),StDev(方差,稳定性指标),这三个参数和ping最后结果的参数一样。

默认mtr使用ICMP协议做mtr,但是因为ICMP报文优先级比较低,有可能会被一部分路由器丢弃,不能探测到真实情况,所以有时还需要使用TCP做mtr。

mtr -rc www.baidu.com -n --tcp -P 443

-r将结果打印到终端,以report的形式汇报。

mtr看结果,一般在某一个IP上,出现严重丢包的点为路径上block的点。

windows在服务器终端输入mtr命令行,会显示没有这行命令。需要输入这一行安装mtr。

ps:获取本地IP地址: http://ip.taobao.com/<<点这个链接可以获取

Hostname:到目的服务器要经过的每个节点主机IP或名称。 

Nr     :经过节点的数量。 

Loss% :ping数据包回复失败的百分比 

Sent   :已经传送的数据包数量。 

Recv  :成功接收的数据包数量。 

Best  :回应时间的最小值。 

Avrg  :平均回应时间。 

Worst :回应时间的最大值。 

Last  :最后一个数据包的回应时间

!import 本文借鉴: https://wenku.baidu.com/view/2c4ca1c29e31433239689377.html

如有错误地方,请大神留言区赐教,愿意学习并改正。

网络问题往往都是比较复杂的,并且通常定位问题后也无能为力,只能推动相关运营商解决;

常见网络丢包的原因:

ICMP是一个网络层的协议,用来测试网络的连通性,因为ICMP非传输层,所以不需要端口号, ping 、 traceroute 、 mtr 都使用的是ICMP协议, 这也是 ping 命令不能指定端口号的原因;ICMP只能搭配IPv4使用,如果是IPv6的情况下, 需要是用ICMPv6;

ICMP协议可以用来:

ICMP协议的实现,是内嵌在IP包里的,IP包头部有固定的20个字节,如果IP包头里面协议字段设置为ICMP,则IP包的包体里是ICMP包体;

ICMP包体可以简单理解为 type 加 content , 有2个字节用于标识是什么类型的ICMP包,剩下的字节存储内容;ICMP的具体使用,举例如下:

ping命令会先发送一个 ICMP Echo Request给对端,对端接收到之后, 会返回一个ICMP Echo Reply,若没有返回,就是超时了,会认为指定的网络地址不存在。

ping能验证网络的连通性,并会统计响应时间和TTL(IP包中的Time To Live,生存周期),也可以用于查看网络丢包率;

traceroute也是基于ICMP协议实现的。可用于打印执行主机到目标主机之前经历多少路由器。

mtr 命令实际是集成了 traceroute 、 ping 的功能;

mtr 底层首先利用 traceroute 计算出所有的路由器节点,然后针对每个路由器节点发送 ping 命令,最后对数据做了汇总和展示;

如何分析MTR报告?

tcpdump本身是排查tcp/ip 网络问题的大杀器;

tcpdump可以单独使用,但结合 wireshark.app 等可视化软件来使用会更加直观;

tcpdump使用本身较为复杂,可以参考相关官方文档;

这里举例说明如何使用tcpdump抓取ICMP包:

ICMP协议

网络丢包分析

网络排查工具mtr使用


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/263720.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存