• mtr命令网络诊断


    简介

    MTR(My traceroute)是几乎所有Linux发行版本预装的网络测试工具,此工具也有对应的Windows版本,名称为WinMTR(下载地址:https://sourceforge.net/projects/winmtr/files/WinMTR-v092.zip/?spm=a2c4g.11186623.2.14.584d4c07jpMNws)

    MTR工具将ping和traceroute命令的功能并入了同一个工具中,实现更强大的功能,Linux版本的mtr命令默认发送ICMP数据包进行链路探测。可以通过“-u”参数来指定使用UDP数据包用于探测 ----来源阿里云帮助文档

    用法:

    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@iZ8vba689kou8r8sq4yw44Z ~]# mtr -h
    
    Usage:
     mtr [options] hostname
     
     -F, --filename FILE        read hostname(s) from a file                       ## 从文件里读取探测主机
     -4                         use IPv4 only                                      ## 仅用IPv4
     -6                         use IPv6 only                                      ## 仅用IPv6
     -u, --udp                  use UDP instead of ICMP echo                       ## 使用UDP协议替代ICMP
     -T, --tcp                  use TCP instead of ICMP echo                       ## 使用TCP协议代替ICMP
     -a, --address ADDRESS      bind the outgoing socket to ADDRESS                ## 绑定出网地址,对于本机多网卡有用
     -f, --first-ttl NUMBER     set what TTL to start                              ## 指定起始TTL值
     -m, --max-ttl NUMBER       maximum number of hops                             ## 最大路由数
     -U, --max-unknown NUMBER   maximum unknown host                               ## 最大不可达的主机数
     -P, --port PORT            target port number for TCP, SCTP, or UDP           ## 指定测试的目标端口
     -L, --localport LOCALPORT  source port number for UDP                         ## 本地UDP源端口
     -s, --psize PACKETSIZE     set the packet size used for probing               ## 指定探测包的大小
     -B, --bitpattern NUMBER    set bit pattern to use in payload
     -i, --interval SECONDS     ICMP echo request interval                         ## ping包发送的时间间隔
     -G, --gracetime SECONDS    number of seconds to wait for responses            ## 等待响应的时间间隔
     -Q, --tos NUMBER           type of service field in IP header
     -e, --mpls                 display information from ICMP extensions
     -Z, --timeout SECONDS      seconds to keep probe sockets open
     -M, --mark MARK            mark each sent packet
     -r, --report               output using report mode                           ## 使用报告模式输出
     -w, --report-wide          output wide report
     -c, --report-cycles COUNT  set the number of pings sent                       ## 指定发送的ping包数量
     -j, --json                 output json
     -x, --xml                  output xml
     -C, --csv                  output comma separated values
     -l, --raw                  output raw format
     -p, --split                split output
     -t, --curses               use curses terminal interface
         --displaymode MODE     select initial display mode
     -n, --no-dns               do not resove host names                           ## 不解析主机名
     -b, --show-ips             show IP numbers and host names
     -o, --order FIELDS         select output fields                               ## 显示输出字段
     -y, --ipinfo NUMBER        select IP information in output
     -z, --aslookup             display AS number                                  ## 回显的数量

    -o选项的输出字段

    L Loss ratio 丢包率
    D Dropped packets  丢包数量
    R Received packets 接收数量
    S Sent Packets 发包数量
    N Newest RTT(ms) 最新往返延迟
    B Min/Best RTT(ms)  最小往返延迟
    A Average RTT(ms) 平均往返延迟
    W Max/Worst RTT(ms)   最大往返延迟
    V Standard Deviation   标准差
    G Geometric Mean 几何平均数
    J Current Jitter   当前抖动
    M Jitter Mean/Avg. 平均抖动
    X Worst Jitter  最大抖动
    I Interarrival Jitter  抖动间隔

    Jitter:抖动,其定义延迟从来源地址将要发送到目标地址,会发生不一样的延迟,这样的延迟变动是jitter

    RTT:往返延迟,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。往返延时(RTT)由三个部分决定:即链路的传播时间、末端系统的处理时间以及路由器的缓存中的排队和处理时间。其中,前面两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。简单来说就是发送方从发送数据开始,到收到来自接受方的确认信息所经历的时间

    示例

    参数解释:检测本地到www.baidu.com的连通性,发送5个包,最多经过15次路由,以报告的形式每2秒显示一次输出结果

    [root@iZ8vba689kou8r8sq4yw44Z ~]# mtr -c 5 -i 2 -n -m 15 -r  www.baidu.com                     ## 默认输出字段LSNABWV
    Start: 2020-04-12T16:25:03+0800
    HOST: iZ8vba689kou8r8sq4yw44Z     Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- ???                       100.0     5    0.0   0.0   0.0   0.0   0.0
      2.|-- 11.63.128.225              0.0%     5   52.1  52.5  52.0  54.3   1.0
      3.|-- 11.63.128.114              0.0%     5    2.4   5.5   2.4  16.9   6.4
      4.|-- 10.255.108.241             0.0%     5    1.4   1.6   1.2   2.4   0.4
      5.|-- 116.251.124.153            0.0%     5    0.9   2.1   0.8   6.9   2.7
      6.|-- 45.112.221.173             0.0%     5    6.8   6.8   6.6   7.3   0.3
      7.|-- 123.56.34.13               0.0%     5    6.5   7.4   6.1  11.9   2.5
      8.|-- 106.38.196.233            40.0%     5   12.6  12.6  12.6  12.7   0.0
      9.|-- 36.110.244.61              0.0%     5    7.8   7.7   7.6   7.9   0.1
     10.|-- ???                       100.0     5    0.0   0.0   0.0   0.0   0.0
     11.|-- 220.181.17.146             0.0%     5   10.1   8.8   8.4  10.1   0.7
     12.|-- ???                       100.0     5    0.0   0.0   0.0   0.0   0.0
    
    [root@iZ8vba689kou8r8sq4yw44Z ~]# mtr -c 5 -i 2 -n -m 15 -r -o "LSD" www.baidu.com
    Start: 2020-04-12T16:20:53+0800
    HOST: iZ8vba689kou8r8sq4yw44Z     Loss%   Snt Drop
      1.|-- ???                       100.0     5    5
      2.|-- 11.63.128.225              0.0%     5    0
      3.|-- 11.63.128.114              0.0%     5    0
      4.|-- 10.255.108.241             0.0%     5    0
      5.|-- 116.251.124.153            0.0%     5    0
      6.|-- 45.112.221.173             0.0%     5    0
      7.|-- 123.56.34.13               0.0%     5    0
      8.|-- 106.38.196.233            60.0%     5    3
      9.|-- 36.110.244.61              0.0%     5    0
     10.|-- ???                       100.0     5    5
     11.|-- 220.181.17.146             0.0%     5    0
     12.|-- ???                       100.0     5    5
    
    
    [root@iZ8vba689kou8r8sq4yw44Z ~]# mtr -c 5 -i 2 -n -m 3 -r -o "LSD" www.baidu.com
    Start: 2020-04-12T16:21:29+0800
    HOST: iZ8vba689kou8r8sq4yw44Z     Loss%   Snt Drop
      1.|-- ???                       100.0     5    5
      2.|-- 11.63.128.225              0.0%     5    0
      3.|-- 11.63.128.114             40.0%     5    2

    默认输出结果说明:

    第一列:主机名和IP地址

    第二列:丢包数量

    第三列:发包数量

    第四列:往返延迟

    第五列:平均延迟

    第六列:最小延迟

    第七列:最大延迟

    第八列:标准差,越大说明相应节点越不稳定。

    在做mtr测试的时候,应该分两个方向,即客户端<------->服务器。根据测试结果分析,是本地网络节点异常,需要调整本地网络。如果运营商节点出现问题,需要联系运营商

  • 相关阅读:
    mORMot使用基础 2 数据库连接
    【Effective C++】继承与面向对象设计
    【Effective C++】实现
    【Effective C++】设计与声明
    【Effective C++】资源管理
    【Effective C++】构造/析构/赋值运算
    【Effective C++】让自己习惯C++
    【网络基础】计算机网络常考知识点整理
    【C++基础学习】成员对象与对象数组
    C++编程规范纲要要点小结
  • 原文地址:https://www.cnblogs.com/zh-dream/p/12686136.html
Copyright © 2020-2023  润新知