mtr 网络分析工具
Write by lyc at 2021-1-27
Linux mtr 命令详解
1.mtr 安装
mtr是个结合了 traceroute
和 ping
的工具
1 | $ yum install mtr -y |
2.mtr 参数
-r, --report
已报告模式显示-c COUNT
默认值是10,向目的主机发送10个 ICMP 包--no-dns
忽略 rDNS 查找。主机的域名是通过反向 DNS 查找确定的-h
提供帮助命令-v
显示mtr的版本信息
如果我们不使用 -r, --report
参数, mtr 会不断的动态运行。在动态模式下, mtr 的输出结果表述每个主机的往返时间。大多数情况下,使用 --report
参数就可以提供足够的数据了。
1 | $ mtr -r REMOTE_HOST |
3.如何读懂 mtr 报告
分析 mtr 输出报告
1 | $ mtr -r 106.75.20.11 |
- 第一列
HOST
:每一跳的IP地址或域名 - 第二列
Loss%
:数据包在每一跳的丢失率 - 第三列
Snt
:记录的多少个数据包被送出,使用--report
参数默认会送出10个数据包 - 第四列
Last
:显示的最近一次数据包的返回延迟,单位毫秒ms - 第五列
Avg
:数据包延迟平均值 - 第六列
Best
:最好或者说延迟最短的 - 第七列
Wrst
:最差或者说延迟最长的 - 第八列
StDev
:是标准偏差
如何判断异常节点
我们做 mtr 测试,一般都需要进行双向 mtr 结合起来分析数据包往返所经过的路由节点。
在大多数情况下,您可以把 MTR 的输出分成三大块:
- 前三跳一般都是您的本地 ISP
- 中间的节点是数据包经过的广域网路由器
- 后三跳一般为您目的主机的ISP
当您在本地运行 MTR,如果您在前几跳发现异常,请联系您本地的 ISP 服务提供商。
相反,如果您在接近目的地的几跳发现问题,请联系您目的地的服务器提供商。
如果您的问题出现在中间几跳,很不幸,两边的服务提供商的能力有限,可能不能完全为您解决问题。