• Linux-网络工具MTR


    1、MTR工具下载

    Windows

    https://cdn.ipip.net/17mon/besttrace.exe

    Linux

    yum install mtr

    2、MTR介绍

    全称My Tracerouter,将ping和tracerouter合并到一个程序的网络诊断工具。

    traceroute默认使用udp数据包探测,mtr使用icmp报文探测,icmp在某些路由节点优先级比其他数据包低,测试数据可能低于实际结果。

    3、MTR使用

    mtr 域名,会动态运行打印结果

    MTR发送50个包以上数据会比较更准确。

    参数说明:

    -r                        mtr会需要几秒钟进行输出报告,默认向目标主机发送10个ICMP包,输出结果。

    -s 数据包大小      mtr发包大小,单位字节,负数表示数据包大小是随机数。

    -c 发包数量         mtr发包数量指定

    -n                        不进行主机展示,不对IP地址做域名解析,只展示ip

    报告说明:

    Loss%      丢包

    Snt         发送次数

    Last        最近一次返回时延

    Avg        平均值

    Best        最短时间

    Wrst       最长时间

    StDev     标准偏差

    一般前几跳是本地网络节点,后几跳是服务商节点,中间跳数是中间节点【网络运营商】。

    前几跳异常,排查本地。

    中间几跳异常,联系运营商。

    后几跳异常,联系服务提供商。

    一般关注丢包率,发包数,往返时间,标准偏差。

    丢包率>10%时,网络异常或者服务提供商人为限制ICMP发送速率。

    平均时间结合标准偏差进行判断,标准偏差越小,说明越稳定,标准偏差越大,说明数据包在该节点响应时间相差大。

    ???表示超时,icmp速率限制或者网络故障导致。

    注意:排查网络故障时,一般需要双向MTR进行结合判断。

    示例

    mtr -r -s 32 -c 50 qq.com

    mtr -r -s 32 -c 10 qq.com

     

    在50个包时,在第6,7跳【中间节点】有丢包,但是第8跳没丢包,第9跳【最后节点】有丢包,说明在中间节点有人为限制。

    在10个包时,在第6-13跳有丢包,第14跳又完全没有丢包,通过上下对比,可以判断中间节点和最后节点都有人为的限制。

    延迟时间通常取决于节点之间物理距离,线路质量,数据包速率限制。

    通常不同位置,延迟随跳数增加而增加,从延迟猛增处可以估计可能属于不同地域或者是网络拥塞,速率限制,通过最后跳数可以判断节点是存在数据包速率限制的,

    mtr -r -s 32 -c 50 www.baidu.com

     

     

    同样,结合50个包和10个包的结果,可以看到中间节点和最后节点,有很多???,表示超时,同时丢包100%,都是有人为进行限制或者路由器没有正确配置导致。最后丢包0%说明数据还是正常到达目的主机的。

     

    发送10个包时,从第4-5跳,可以看出到网络运营商延时高,且标准偏差较大,表明网络不稳定,可能是物理距离原因,也可能是上网高峰,也可能是电信运营商的原因。

    4、Traceroute

    traceroute在MacOS和Linux使用UDP包,在windows【tracert】上使用ICMP.

    traceroute显示数据包到主机间的路径。

    ***表示超时,默认发送数据包大小40byte,数据包3个

    TTL是生存时间值,是IP数据包在网络可以被转发的最大跳数,每经过一个路由器,TTL就-1,再转发,为0时,路由器丢弃收到的包,并返回ICMP time exceeded消息

    原理:tracert从TTL为1开始进行不断增长发送数据包,通过TTL为0的超时通知进行记录,就得到路径上路由器地址。

    tracert会选择一般应用程序不使用的端口号发包,到达目的地址后,目标主机返回ICMP port unreachable消息。

     

  • 相关阅读:
    Python(Web时代)—— Django的模板
    Excel·VBA分列、字符串拆分
    numpy对数组进行过滤并获取下标
    SharePoint 非365版本接入简要笔记
    pip安装numpy显示没有pip模块怎么办
    【Unity3D】2D动画
    Visual Studio Code 高效开发 C/C++ 插件推荐
    os.environ[CUDA_VISIBLE_DEVICES] 失效无法指定 GPU
    mac 13 设置日期显示节假日
    「聊设计模式」之桥接模式(Bridge)
  • 原文地址:https://blog.csdn.net/qq_36362654/article/details/127671979