linux命令--mtr网络诊断
一般在windows 来判断网络连通性用ping和tracert,ping的话可以来判断丢包率,tracert可以用来跟踪路由,在Linux中有一个更好的网络连通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是mtr。
疑问:mtr的数据如何产生的,如何解读报告,如何诊断异常?
使用ICMP包来测试网络争用和传输,工作原理:启动mtr时,通过发送不断增长的TTL的ICMP包来测试本地和目标主机的连通性。TTL决定了ICMP需要经过多少跳才返回。如发出TTL=1的包,第一个路由器将TTL减少1就不再转发此数据包,而是返回一个超时报文,从报文中提取出第一个网关地址;再发出TTL=2的包,获取第二个网关地址,依次递增TTL后获取了所有的网关地址(路由器的所有信息,如各种连接,响应能力,状态等)。
mtr可看作一个单向的衡量网络质量的工具。从本机到目的机与从目的机到本机,所走的网络路径,走的经常不是一个路径。如果诊断出问题时,建议在两个方向上都使用mtr进行验证。
需要手动安装:yum install mtr -V
经常用的参数:
-n 不用主机解释
-c 发送多少个数据包
--report 结果显示,并不动态显示。发送10个包到目标主机。
$mtr --no-dns --report www.baidu.com
$mtr --report www.baidu.com
FOCUS9097 Snt: 15 Loss% Last Avg Best Wrst StDev
220.181.61.252 0.0% 1.9 3.4 1.8 12.9 3.1
Loss% 每一跳的丢包率
snt 发送的数据包数量
last 最后一个包的响应时间ms
AVG 所有包的平均响应时间,一般关注这个
看报告一般关注的丢包率和延时。
ICMP速率限制和丢包同时出现时,丢包率应该选择后续的跳中最低的丢包率,这个才是实际的丢包率。
有时目的主要的不正确配置也会丢包,如最后一跳100%的丢包率。
参考资料:

浙公网安备 33010602011771号