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的基础架构来测量网络的上/下行速率

 

wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py  

chmod a+rx speedtest_cli.py  

sudo mv speedtest_cli.py /usr/local/bin/speedtest-cli  

sudo chown root:root /usr/local/bin/speedtest-cli  

如何测试也很简单 使用

 

speedtest-cli  

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

如下

 

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

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

 

speedtest-cli –server id号  

如:speedtest-cli –server 5300

测试结果如下:

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

 

mtr -h  


来查看mtr的所有参数  

 

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

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

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

 

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

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

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

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

第八列 StDev:标准偏差。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注