Linux下使用mtr做路由图进行网络分析

前言:

一般在windows系统来判断网络连通性用ping和tracert,ping用来判断丢包率,tracert可以用来跟踪路由,在Linux中有一个更好的网络连通性判断工具,它可以结合ping、nslookup和tracert来判断网络的相关特性,这个命令就是mtr。想要使用mtr首要先安装mtr。

安装

Windows
Windows packages can be found here: http://winmtr.sf.net

CentOS Linux

With yum:

yum -y install mtr

Debian GNU/Linux

With apt-get:

apt-get update && apt-get install mtr-tiny

MacOS

With homebrew:

brew install mtr

使用

mtr -n -r --report-cycles 500 $IP(IP为自定义值)

可以用mtr -h查看帮助:

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

常用参数:

mtr -h 提供帮助命令
mtr -v 显示mtr的版本信息
mtr -r 已报告模式显示

结果分析:

HOST: e69e9fc8-d24b-4407-ebf4-fc0 Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 155.94.231.1               0.0%   500    0.7   2.6   0.6 210.6  12.3
  2.|-- 96.44.180.21               0.0%   500    0.5   0.9   0.3  51.9   4.0
  3.|-- 64.125.41.13               0.0%   500    0.6   1.0   0.3  36.6   2.4
  4.|-- 64.125.26.6                0.0%   500    0.7  11.4   0.7 400.6  24.2
  5.|-- 64.125.27.39               0.0%   500    0.7   3.4   0.6  43.2   7.1
  6.|-- 154.54.11.13               0.0%   500    1.3   1.0   0.9   7.8   0.3
  7.|-- 154.54.27.117              0.0%   500    1.2   1.1   0.8   9.3   0.6
  8.|-- 154.54.44.85               0.0%   500   13.1  12.9  12.6  54.2   1.9
  9.|-- 154.54.42.66               0.0%   500   21.3  21.1  20.8  50.1   1.6
 10.|-- 154.54.30.161              0.0%   500   36.8  36.8  36.6  48.8   0.6
 11.|-- 154.54.28.129              0.0%   500   50.9  51.0  50.7  66.9   1.0
 12.|-- 154.54.24.221              0.0%   500   61.8  61.9  61.7  64.6   0.3
 13.|-- 154.54.40.109              0.0%   500   67.8  67.6  67.4  71.9   0.3
 14.|-- 154.54.42.86               0.0%   500  140.5 140.5 140.2 159.9   1.0
 15.|-- 130.117.51.42              0.0%   500  148.4 148.5 148.2 155.0   0.5
 16.|-- 130.117.50.6               0.0%   500  147.9 147.9 147.5 171.5   1.6
 17.|-- 130.117.48.62              0.0%   500  151.3 151.3 151.0 153.9   0.2
 18.|-- 154.25.8.150               0.0%   500  149.7 149.7 149.5 170.7   1.0
 19.|-- 149.6.138.2                0.0%   500  151.6 153.7 151.3 255.0  10.4
 20.|-- 5.45.181.209               1.2%   500  149.4 159.3 149.2 564.1  37.1
 21.|-- 130.255.184.82             0.2%   500  151.4 151.4 151.3 171.2   1.0
 22.|-- 130.255.184.86             0.2%   500  149.2 149.2 149.1 162.6   0.7

第一列:显示的是IP地址和本机域名,这点和tracert很类似。
第二列:是显示的每个对应IP的丢包率
第三列:snt:10设置每秒发送数据包的数量,默认值是10可以通过参数-c来指定。
其中-c的意思是:–report-cycles COUNT
第四列:显示的最近一次的返回时延
第五列:是平均值 这个应该是发送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列 是标准偏差

一个命令下去自己服务器的网络怎样是不是已经心里有数了? 觉得好用的话快分享给最好的朋友吧!

文章目录