zoukankan      html  css  js  c++  java
  • mtr命令详解诊断网络路由

    首先安装mtr

    # yum -y install mtr

    ​一般在windows 来判断网络连通性用ping 和tracert,

    ping的话可以来判断丢包率,tracert可以用来跟踪路由,

    在Linux中有一个更好的网络连通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是mtr


    [root@10.10.90.97 ~]# mtr -h

    usage: mtr [-hvrctglspni46] [--help] [--version] [--report]
    [--report-cycles=COUNT] [--curses] [--gtk]
    [--raw] [--split] [--no-dns] [--address interface]
    [--psize=bytes/-s bytes]
    [--interval=SECONDS] HOSTNAME [PACKETSIZE]


    mtr -h 提供帮助命令

    mtr -v 显示mtr的版本信息

    mtr -r 已报告模式显示


    [root@10.10.90.97 ~]# mtr -r 202.108.33.94

    FOCUS9097 Snt: 10 Loss% Last Avg Best Wrst StDev

    220.181.61.252 0.0% 6.8 3.3 1.8 7.4 2.2
    220.181.17.217 0.0% 0.4 0.5 0.4 0.7 0.1
    220.181.16.17 0.0% 0.6 0.5 0.5 0.6 0.0
    202.97.53.14 10.0% 0.7 0.7 0.7 0.8 0.0
    219.158.35.1 0.0% 0.8 0.8 0.8 0.9 0.0
    219.158.5.81 0.0% 1.2 1.3 1.2 1.6 0.1
    123.126.0.138 0.0% 1.2 1.1 1.1 1.3 0.1
    61.148.153.126 0.0% 1.9 10.5 1.5 89.9 27.9
    61.148.143.22 0.0% 1.5 1.6 1.5 1.7 0.0
    210.74.178.198 0.0% 1.6 1.6 1.5 1.9 0.1
    202.108.33.94 0.0% 1.5 1.5 1.4 1.5 0.0




    报告说明:
    第一列:显示的是IP地址和本机域名,这点和tracert很像

    第二列:snt:10 设置每秒发送数据包的数量,默认值是10 可以通过参数 -c来指定。


    [root@10.10.90.97 ~]# mtr -r -c 15 202.108.33.94

    FOCUS9097 Snt: 15 Loss% Last Avg Best Wrst StDev
    220.181.61.252 0.0% 1.9 3.4 1.8 12.9 3.1
    220.181.17.217 0.0% 0.5 0.5 0.4 0.8 0.1
    220.181.16.17 0.0% 0.5 0.6 0.5 2.3 0.5
    202.97.53.14 0.0% 0.7 0.7 0.7 0.7 0.0
    219.158.35.1 0.0% 0.9 0.8 0.8 0.9 0.0
    219.158.5.81 0.0% 1.3 2.8 1.2 22.8 5.5
    123.126.0.138 0.0% 1.1 1.1 1.1 1.2 0.0
    61.148.153.126 0.0% 13.8 7.4 1.6 60.4 15.5
    61.148.143.22 0.0% 1.7 1.6 1.5 1.8 0.1
    210.74.178.198 0.0% 1.6 1.6 1.4 1.7 0.1
    202.108.33.94 0.0% 1.5 1.5 1.4 1.7 0.1



    其中-c的说明是:–report-cycles COUNT

    ​-n  不用主机解释

    -c   发送多少个数据包

    --report  结果显示,并不动态显示。



    第三列:是显示的每个对应IP的丢包率
    第四列:显示的最近一次的返回时延
    第五列:是平均值 这个应该是发送ping包的平均时延
    第六列:是最好或者说时延最短的
    第七列:是最差或者说时延最常的
    第八列:是标准偏差
    接下来接着说相关参数:


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

    mtr -n no-dns不对IP地址做域名解析

    mtr -a 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的

    mtr -i 使用这个参数来设置ICMP返回之间的要求默认是1秒

    mtr -4 IPv4

    mtr -6 IPv6


    ​其中Host列是途经的IP或本机域名
    Loss%列就是对应IP行的丢包率了,值得一提的是,只有最后的目标丢包才算是真正的丢包
    Last列则是最后一次返回的延迟,按毫秒计算的
    Avg列是所有返回时延的一个平均值
    Best列是最快的一次返回时延
    Wrst列是最长的一次返回时延
    StDev列是标准偏差


    接下来就是命令参数了:

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

    mtr -n no-dns不对IP地址做域名解析

    mtr -a 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的

    mtr -i 使用这个参数来设置ICMP返回之间的要求默认是1秒

    mtr -c 是ping的次数。使用方法跟ping命令一样

    mtr -4 IPv4
    mtr -6 IPv6
    所谓的IPv4和IPv6,现在基本上用不到呢还,我们基本上来测试链路连通性都是这么打的

    mtr -i 0.1 -n -c 100 IP或域名
    这么打的意思是每0.1秒返回一次结果,ping100次,并且不对IP地址做域名解析

    speedtest-cli是一个用Python编写的轻量级Linux命令行工具 在Python2.4至3.4版本下均可运行 它基于Speedtest.net的基础架构来测量网络的上/下行速率

     

    1. wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py  
    2. chmod a+rx speedtest_cli.py  
    3. sudo mv speedtest_cli.py /usr/local/bin/speedtest-cli  
    4. sudo chown root:root /usr/local/bin/speedtest-cli  


    如何测试也很简单 使用

     

    1. speedtest-cli  


    他会寻找与你最近的一台服务器  

    如下

     

    1. Retrieving speedtest.net configuration...  
    2. Retrieving speedtest.net server list...  
    3. 5300) Hangzhou , Zhejiang Unicom (Hangzhou, China) [4.87 km]  
    4. 8173) 5UFVPN (Hangzhou, China) [4.87 km]  
    5. 3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) [121.23 km]  
    6. 6245) ningbo unicom (Ningbo, China) [141.79 km]  
    7. 6715) China Mobile Group Zhejiang Co., Ltd. (Ningbo, China) [141.79 km]  
    8. 5122) China Mobile Group Jiangsu Co.,Ltd. (Wuxi, China) [142.18 km]  
    9. 3633) China Telecom (Shanghai, China) [162.85 km]  
    10. 5083) Shanghai Branch, China Unicom (Shanghai, China) [162.85 km]  
    11. 9633) China Broadband Communications (Shanghai, China) [162.85 km]  
    12. 5446) CHINA UNICOM JIANGSU COMPANY (Nanjing, China) [236.11 km]  
    13. 5724) ChinaUnicom (Hefei, China) [325.13 km]  
    14. 4377) China Mobile Group Anhui Co.,Ltd (Hefei, China) [325.13 km]  
    15. 6345) ChinaTelecom.JiangXi (Nanchang, China) [451.09 km]  
    16. 7643) China Telecom.JiangXi.Network Center (Nanchang, China) [451.09 km]  
    17. 6473) jxtelecom (Nanchang, China) [451.09 km]  
    18. 5097) Chinaunicom.jx (Nanchang, China) [451.09 km]  
    19. 7230) China Unicom.JiangXi Co.,Ltd (Nanchang, China) [451.09 km]  
    20. 4884) China Unicom FuJian (Fuzhou, China) [476.39 km]  
    21. 5485) China Unicom,Hubei Branch (Wuhan, China) [564.39 km]  
    22. 2589) Far EasTone Telecommunications Co., Ltd (Taoyuan, Taiwan) [589.47 km]  
    23. 3921) Taiwan Fixed Network (Taoyuan, Taiwan) [589.47 km]  

    如果你要指定某台服务器 可以使用

     

    1. speedtest-cli --server id号  


    如:speedtest-cli --server 5300

    测试结果如下:


    我们经常会遇到数据传输延迟 失败的问题 这时候经常需要检测丢包率  在windows中跟踪路由一般用tracert命令,在linux中我们可以使用mtr

     

    1. mtr -h  


    来查看mtr的所有参数  

     

    1. mtr -h 提供帮助命令  
    2.   
    3. mtr -v 显示mtr的版本信息  
    4.   
    5. mtr -r 已报告模式显示  
    6.   
    7. mtr -c 设置每秒发送数据包的数量  
    8.   
    9. mtr -s 用来指定ping数据包的大小  
    10.   
    11. mtr -n no-dns不对IP地址做域名解析  
    12.   
    13. mtr -a 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的  
    14.   
    15. mtr -i 使用这个参数来设置ICMP返回之间的要求默认是1秒  
    16.   
    17. mtr -4 IPv4  
    18.   
    19. mtr -6 IPv6  


    这个工具默认是安装的  当然有些版本的liunx是没有自带该工具 比如centos6.5就没有  通过yum apm等安装即可 当然 源码安装也可以 
    mtr默认使用ICMP报文探测

    mtr -r -c 30 -s 1024 www.baidu.com

     

    1. HOST: AY14041211122443416bZ       Loss%   Snt   Last   Avg  Best  Wrst StDev  
    2.   1. 114.215.99.248                0.0%    30    0.6   2.0   0.6  17.2   3.0  
    3.   2. 10.106.148.18                 0.0%    30    1.0  48.9   0.8  96.2  32.3  
    4.   3. 42.120.245.1                  0.0%    30    0.8   1.6   0.7   2.8   0.6  
    5.   4. 42.120.244.73                 0.0%    30    1.4   1.6   0.7  14.3   2.4  
    6.   5. 150.138.132.133              63.3%    30  17327 20199 17327 23128 1754.0  
    7.   6. 150.138.128.65                0.0%    30    1.8   2.1   1.7   2.6   0.3  
    8.   7. 202.97.39.105                 0.0%    30   15.9  15.2  13.5  17.7   1.3  
    9.   8. ???                          100.0    30    0.0   0.0   0.0   0.0   0.0  
    10.   9. 220.191.200.138               0.0%    30   21.0  22.5  21.0  23.9   0.9  
    11.  10. ???                          100.0    30    0.0   0.0   0.0   0.0   0.0  
    12.  11. 115.239.209.46               56.7%    30   22.4  23.0  22.4  23.5   0.3  
    13.  12. ???                          100.0    30    0.0   0.0   0.0   0.0   0.0  
    14.  13. 115.239.210.27               40.0%    30   21.9  22.4  21.6  26.8   1.1  



    第二列 Loss%:是显示的每个对应IP的丢包率。

    第四列 Last:显示的最近一次的返回时延。

    第六列 Best:最好或者说时延最短的时间。

    第八列 StDev:标准偏差。

  • 相关阅读:
    用vuex写了一个购物车H5页面的示例代码
    css如何引入外部字体?
    移动开发中更好的图片自适应
    常见样式问题七、word-break、word-wrap、white-space区别
    你真的了解word-wrap和word-break的区别吗?
    css中word-break、word-wrap和white-space的区别
    另辟蹊径:vue单页面,多路由,前进刷新,后退不刷新
    应该用forEach改变数组的值吗? 原生JS forEach()和map()遍历的异同点
    Vue 全家桶介绍
    Spring MVC配置MyBatis输出SQL
  • 原文地址:https://www.cnblogs.com/qiaoyanlin/p/10129971.html
Copyright © 2011-2022 走看看