前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux Ubuntu / CentOS / MacOS 等系统安装使用 MTR 以及阅读分析 MTR 报告教程

Linux Ubuntu / CentOS / MacOS 等系统安装使用 MTR 以及阅读分析 MTR 报告教程

作者头像
搬砖部落
修改2020-09-27 10:25:13
8.9K0
修改2020-09-27 10:25:13
举报
文章被收录于专栏:搬砖部落

网络诊断工具包括pingtraceroute以及mtr,主要都是通过发送 ICMP 包,来测试网络连通性。简单地说,mtr集成了pingtraceroute,使用更为方便。本文介绍 MTR 安装、使用教程,以及 MTR 报告的阅读和分析方法。

一、安装 MTR

Ubuntu:

代码语言:javascript
复制
apt update
apt upgrade
apt install mtr-tiny

CentOS:

代码语言:javascript
复制
yum update
yum install mtr

Arch Linux:

代码语言:javascript
复制
pacman -Syu
pacman -S mtr

Mac OS X:

代码语言:javascript
复制
brew install mtr

Windows:

安装 WinMTR,之后的文章可能会介绍。

二、使用 MTR

在基于 Unix 的系统上(Linux 和 MacOS),我们可以使用下面命令产生报告:

代码语言:javascript
复制
mtr -rw [destination_host]

其中 destination_host 请替换成自己需要测试的IP或者域名地址,比如:

代码语言:javascript
复制
mtr -rw www.google.com

或者:

代码语言:javascript
复制
mtr -rw 8.8.8.8

如果没有显示任何丢包,但是你又确信你的网络存在问题,可以加快发包速度:

代码语言:javascript
复制
mtr -rwc 50 -i 0.2 -rw 12.34.56.78

参数说明:-c 表示发包次数,-i 表示发包间隔。

更多的参数设定,可以通过 mtr -h 进行查看。

三、阅读 MTR 报告

我在我的搬瓦工HK 9.99/月的 VPS 上操作一下:

代码语言:javascript
复制
root@ubuntu:~# mtr --report google.com
Start: Mon Oct 30 10:52:17 2017
HOST: ubuntu                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  2.|-- 63-222-7-17.static.pccwgl  0.0%    10    0.9   1.0   0.8   1.3   0.0
  3.|-- HundredGE0-5-0-0.br02.hkg  0.0%    10    1.8   1.8   1.7   1.9   0.0
  4.|-- HundredGE0-5-0-0.br02.hkg  0.0%    10    1.5   1.5   1.4   1.5   0.0
  5.|-- 72.14.219.198              0.0%    10    1.2   1.3   1.2   1.8   0.0
  6.|-- 108.170.241.97             0.0%    10    1.4   1.4   1.3   1.6   0.0
  7.|-- 209.85.240.11              0.0%    10    1.9   1.8   1.8   1.9   0.0
  8.|-- hkg12s11-in-f14.1e100.net  0.0%    10    1.4   1.4   1.4   1.5   0.0

其中 --report 参数默认会发送10个 ICMP 包,如果不加任何参数,会进入一个动态界面,mtr 会不断的发包,查看实时丢包率。大多数情况使用 --report 就够了。

一般 MTR 报告由一系列跳数组成(上面有8跳)。一跳就是一个节点,包括路由器、交换机等。一般都是从内网触发,到外网,最后到目的节点。主机的域名都是通过反向 DNS(rDNS)查找获得,如果想看到原始的IP,使用 --no-dns 参数即可,如下所示:

代码语言:javascript
复制
root@ubuntu:~# mtr --no-dns --report google.com
Start: Mon Oct 30 10:57:21 2017
HOST: ubuntu                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  2.|-- 63.222.7.17                0.0%    10    1.1   1.2   0.9   2.3   0.0
  3.|-- 63.218.174.197             0.0%    10    1.6   1.7   1.5   1.8   0.0
  4.|-- 63.218.174.197             0.0%    10    1.4   1.5   1.3   1.6   0.0
  5.|-- 72.14.219.198              0.0%    10    1.2   3.0   1.2  18.9   5.5
  6.|-- 108.170.241.97             0.0%    10    1.5   1.4   1.3   1.6   0.0
  7.|-- 209.85.240.11              0.0%    10    1.8   1.8   1.8   1.9   0.0
  8.|-- 216.58.200.14              0.0%    10    1.4   1.4   1.3   1.5   0.0

简单说一下怎么看这个报告。第一列就是各个节点的 IP 地址,第二列(Loss%)是丢包率,第三列(Snt)是发包书,第四列(Last)是最后一次发包的时延,第五列(Avg)是平均时延,第六列(Best)是最好的一次的时延,然后是最差的一次的时延(Wrst),以及最后一列(StDev)是数据包在每个节点上的标准偏差。标准偏差越高,说明在这个节点上的时延越不稳定。如果标准偏差较高,那么可以考虑查看最高时延和最低时延来判断该节点的网络状况。

四、分析 MTR 报告

分析一个 MTR 报告,主要是看丢包率和时延。丢包率看百分比就行,看看哪个节点上有丢包或者丢包比较多,那就是那个节点有问题,通过IP地址查看该节点位置,确定是内网还是外网问题。

时延先看平均时延,看一下哪个节点之后平均时延陡然变大,那么通常就是那个节点的问题。如果某个节点的时延标准偏差很大,那么说明那个节点负载很大,或者网络状况很不稳定。这种时候,如果是内网节点,可以检查路由器/交换机的配置,如果是外网节点,联系 ISP 进行解决。

当然,延迟很大也可能是在返回过程中产生的,如果看上面发现没有问题,但是网络问题还是存在,那就有必要检查一下返程路径的 MTR 报告,因为返程很可能走的是完全不同的路线。

此外,也有可能是 ICMP 速率限制造成时延增加,比如中间某个节点时延突然变大,但是之后节点又恢复,这种时候一般看最后一个节点上的时延即可。

五、总结

介绍了一下 MTR 网络诊断工具的安装、使用以及如何阅读 MTR 报告、分析 MTR 报告。接下来的文章会介绍一些常见的 MTR 报告类型对应的网络问题,之后再写。

参考:https://oldtang.com/27.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装 MTR
  • 二、使用 MTR
  • 三、阅读 MTR 报告
  • 四、分析 MTR 报告
  • 五、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档