一天一个命令-MTR

简介

mtr算是traceroute和ping的结合版,也是利用ICMP协议,对路由链路做分析,同时通过ping分析每跳服务器的丢包率。

参数

-h/–help:显示帮助菜单。
-v/–version:显示 MTR 版本信息。
-r/–report:结果以报告形式输出。
-p/–split:与 –report 相对,分别列出每次追踪的结果。
-c/–report-cycles:设置每秒发送的数据包数量,默认是10。
-s/–psize:设置数据包的大小。
-n/–no-dns:不对 IP 地址做域名解析。
-a/–address:用户设置发送数据包的 IP 地址,主要用户单一主机多个 IP 地址的场景。
-4:IPv4。
-6:IPv6。

用例

使用mtr对链路分析显示如下:

1
2
3
4
5
6
7
8
9
10
11
[test@ecs-420652 ~]# mtr 119.xx.xx.xx --report
Start: Thu Aug 22 15:41:22 2019
HOST: ecs-652 Loss% Snt Last Avg Best Wrst StDev
1.|-- 100.70.0.1 0.0% 10 3.0 3.4 2.8 7.5 1.3
2.|-- 10.242.7.174 0.0% 10 52.4 51.5 34.2 58.9 6.3
3.|-- 10.242.7.237 0.0% 10 3.2 5.0 2.7 20.8 5.5
4.|-- 10.230.2.146 0.0% 10 1.0 1.0 1.0 1.1 0.0
5.|-- 192.168.21.1 0.0% 10 3.5 4.2 2.8 11.6 2.5
6.|-- 10.242.7.238 0.0% 10 35.3 34.5 6.0 56.4 22.6
7.|-- 10.242.7.173 0.0% 10 3.3 4.7 3.1 14.7 3.6
8.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0

主要输出的信息如下:

HOST:节点的IP地址或域名。
Loss%:丢包率。
Snt:每秒发送的数量包的数量。
Last:最近一次的响应时间。
Avg:平均响应时间。
Best:最短的响应时间。
Wrst:最长的响应时间。
StDev:标准偏差,偏差值越高,说明各个数据包在该节点的响应时间相差越大。

根据对应参数,可以分析网络连接较慢或丢包具体出现的位置