使用mtr测试网络丢包率和平均延时的脚本实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用mtr测试网络丢包率和平均延时的脚本实例相关的知识,希望对你有一定的参考价值。

mtr(a network diagnostic tool)是一个神奇的指令,能按要求对路由中所有节点进行批量测试。简单敲一个“mtr qq.com”将会有意外收获!

当需要进行产品级的网络测试时,可在服务器上运行一段时间的mtr测试形成报告。如下脚本

#!/bin/bash
# 测试网络丢包率和平均延时,注意变量clr和cdt的赋值,不同版本的mtr对应的字段位置不同
# 脚本在CentOS 6.2 Linux 2.6.32-220.el6.x86_64 mtr v0.75 上测试通过
urllist="
www.qq.com
www.kingsoft.com
www.xunlei.com
www.taobao.com
www.163.com
www.sina.com.cn
www.weibo.com
www.sohu.com
www.china.com
www.renren.com
www.baidu.com
www.g.cn
8.8.8.8
www.cctv.com
www.youku.com
www.tudou.com
cn.yahoo.com
www.1tpan.com
www.115.com
www.12306.com
"
urlarr=($urllist)
date

for ((i=0; i<${#urlarr[@]}; i++))
do
echo -n ${urlarr[$i]}‘,,‘
done
echo
for ((j=0; i< 10000; j++))
do
for ((i=0; i<${#urlarr[@]}; i++))
do
mtr -r -n ${urlarr[$i]} | sed‘s/%//g‘| awk‘BEGIN{
lossrate=0;
delaytime=0;
}{
if(NR!=1 && $1!="???"){
clr=$3;
cdt=$6;
(clr<100.0&&lossrate<clr)?(lossrate=clr):true;
delaytime<cdt?(delaytime=cdt):true;
}
}END{
printf("%s,%s,",lossrate,delaytime);
}‘
done
echo
done

脚本的执行效果图如下:

#!/bin/bash
# 测试网络丢包率和平均延时,注意变量clr和cdt的赋值,不同版本的mtr对应的字段位置不同
# 脚本在CentOS 6.2 Linux 2.6.32-220.el6.x86_64 mtr v0.75 上测试通过
urllist="
www.qq.com
www.kingsoft.com
www.xunlei.com
www.taobao.com
www.163.com
www.sina.com.cn
www.weibo.com
www.sohu.com
www.china.com
www.renren.com
www.baidu.com
www.g.cn
8.8.8.8
justwinit.cn
jackxiang.com
boosh.com.cn
www.cctv.com
www.youku.com
www.tudou.com
cn.yahoo.com
www.1tpan.com
www.115.com
www.12306.com
"
urlarr=($urllist)
date

for ((i=0; i<${#urlarr[@]}; i++))
do
echo -n ${urlarr[$i]},,
done
echo
for ((j=0; i< 10000; j++))
do
for ((i=0; i<${#urlarr[@]}; i++))
do
mtr -r -n ${urlarr[$i]} | seds/%//g| awkBEGIN{
lossrate=0;
delaytime=0;
}{
if(NR!=1 && $1!="???"){
clr=$3;
cdt=$6;
(clr<100.0&&lossrate<clr)?(lossrate=clr):true;
delaytime<cdt?(delaytime=cdt):true;
}
}END{
printf("%s,%s,",lossrate,delaytime);
}done
echo
done

脚本会对网址列表进行1万次遍历,打印每次的丢包率和平均延时时间。网址可以随意添加,生成csv文件用Excel处理生成图表。希望对你也有用!

来自:http://www.51testing.com/html/28/116228-808230.html

以上是关于使用mtr测试网络丢包率和平均延时的脚本实例的主要内容,如果未能解决你的问题,请参考以下文章

zabbix使用fping监控任意两个节点之间的网络质量丢包率和响应时间

Zabbix通过mtr进行网络分析

MTR网络排查工具

让zabbix监控路由器丢包率和网络延迟

linux网络诊断工具mtr;speedtest网络测速脚本

怎样减少网络丢包率??请高手帮忙!!!