安装 MTR

Ubuntu:

apt update
apt upgrade
apt install mtr-tiny

CentOS:

yum update
yum install mtr

使用 MTR

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

mtr -rw [destination_host]

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

mtr -rw www.google.com

或者:

mtr -rw 8.8.8.8

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

mtr -rwc 50 -i 0.2 -rw 12.34.56.78

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

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

MTR报告

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

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

分析 MTR 报告

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

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

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

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

 

使用MTR网络诊断的更多相关文章

  1. [转]网络诊断工具:MTR

    MTR是Linux平台上一款非常好用的网络诊断工具,集成了traceroute.ping.nslookup的功能,用于诊断网络状态非常有用.能按要求对路由中所有节点进行批量测试 第一列(Host):I ...

  2. Mac OSX网络诊断命令

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 下面是一些Mac OSX下常用的网络诊断命令.它们能帮助我们发现网络问题.文中提到 ...

  3. 全面认识网络诊断命令功能与参数——netsh diagnostic命令

    netsh diagnostic是网络诊断命令,主要检测网络连接和服务器连接的状态.    注意:netsh不能在Window2000以下系统中使用.案例1:使用netsh diagnostic命令检 ...

  4. Linux网络配置和网络诊断命令介绍

    方法/步骤 1 在接下来的讲解中,讲解的Linux网络配置和网络诊断的命令有: ifconfig.ping.netstat.traceroute.dig和nslookup.host.hostname. ...

  5. ping(网络诊断工具)

    ping(网络诊断工具) Ping是Windows下的一个命令,在Unix和Linux下也有这个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用"ping"命令可 ...

  6. 使用MTR命令诊断网络问题

      以前在检查网络时习惯使用ping命令,因为ping命令非常简单,现在喜欢上了mtr命令,因为它真的很强大,但是对于刚刚接触这个命令的同学来说,理解起来就没有ping命令来的那么直观了,所以今天写一 ...

  7. mtr网络连通性测试

    01.mtr命令 yum install -y   mtr [root@jiao ~]# mtr --helpusage: mtr [-hvrwctglspniu46] [--help] [--ver ...

  8. 电脑网络诊断显示Win10无法与设备或资源(DNS)通信解决办法

    最近是做多错多还是人有点儿衰神附体,软件,电脑系统,各种问题层出不穷,今天早上打开电脑发现不少软件都无法联网,神马百度商桥,腾讯浏览器,百度云...昨天百度商桥打不开还以为是软件出了问题,因为火狐浏览 ...

  9. ping (网络诊断工具)

    Ping是Windows.Unix和Lnix系统下的一个命令,ping也属于一个通信协议,是TCP/IP协议的一部分,利用Ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障.应用格 ...

  10. Windows Server 2012 R2中的网络诊断命令

    Get-NetAdapter Get-NetIPAddress Get-NetIPConfiguration(GIP) TNC :Pinging Servers and Trace Route tnc ...

随机推荐

  1. Java深度历险(一)——Java字节代码的操纵

    [编者按]Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展.但是对于Java语言的深度理解和运用,毕竟是很少会有人涉及的 ...

  2. nodejs版本管理工具之n

    转载: https://juejin.cn/post/7065534944101007391 Node.js 对于现在的前端开发人员来说是不可或缺的需要掌握的技能,但我们在使用时避免不了会需要切换不同 ...

  3. Blazor 组件库 BootstrapBlazor 中EditorForm组件介绍

    组件介绍 EditorForm 组件是一个非常实用的组件,当进行数据编辑时,仅需要将 Model 属性赋值即可. 绑定模型默认自动生成全部属性,可以通过设置 AutoGenerateAllItem 更 ...

  4. 在window 使用 docker 安装redis 踩坑记

    1. 安装REDIS 在安装的时候,使用 docker pull redis 就可以了. 但是 实际上 发现镜像居然拉不下来. 修改了一下 docker 镜像. 配置如下: "registr ...

  5. WxPython跨平台开发框架之表格数据导出到Excel并打开

    在 Python 中使用 wxPython 导出实体类列表数据到 Excel,通常可以借助 openpyxl 或 pandas 库来实现.本篇随笔由浅入深,逐步介绍导出Excel文件的操作,然后结合跨 ...

  6. GooseFS透明加速能力,助力加速 CosN 访问 COS 的性能

    01 前言 原生的对象存储接口协议并不兼容HDFS文件语义,因此对象存储COS提供了COSN工具这一的标准的 Hadoop 文件系统实现,可以为 Hadoop.Spark 以及 Tez 等大数据计算框 ...

  7. eShopOnContainer 中 unauthorized_client error 登录错误处理

    在准备好 eShopOnContainer 环境,运行起来之后,不幸的是,我遇到了不能登录的错误. 从错误信息中,可以看到 unauthorized_client 的内容.这是为什么呢? 从 eSho ...

  8. 【PHP】读取本地文件夹中所有图片并显示

    <? //获取文件夹下的所有文件 $dir_str = ''; $imgType = array('gif','png','jpg','jpeg','bmp'); $handle = opend ...

  9. HTMLreport报告(五) -- 测试报告中添加截图

    一.需求痛点 HTMLreport报告没有截图 二.实现办法 1.思路:使用viewer.js图片查看器,用cdn:后端部分用 unittest.test_result中的内容 2.实现步骤 1)vi ...

  10. Qt数据库应用16-通用数据库采集

    一.前言 数据库采集对应的就是上一篇文章的数据库同步,数据库同步到云端数据库以后,app.网页.小程序啥的要数据的话,可以通过执行http请求拿到数据,http接收应答这边程序一般最简单可以用php写 ...