网络实时状态检测

非常不爽哈,从3月开始,电信宽带,打游戏三四分钟掉线一次,换成长城的了,还是这样,查过网卡查过路由,不确定是什么原因,也打过两家的客户,都是死活不承认,非要自己网好的很,于是准备写个脚本抓一下实时包。说了那么多,贴代码吧…

#!/bin/bash
echo "the shell start time `date +%Y%m%d%H-%M-%S`">>~/Desktop/text.txt
for((i=1;i<3600;i++))
do
	sleep 1
	if ping -c1 www.baidu.com -W 1500  
	then
		echo "`date +%Y%m%d%H-%M-%S` online.">>~/Desktop/text.txt
	else
		echo "`date +%Y%m%d%H-%M-%S` tcp timeout">>~/Desktop/text.txt
	fi
done

`date +%Y%m%d%H-%M-%S`#时间,主要是将分钟跟毫秒隔开就可以了,更直观
for循环3600次,差不多一个小时多一点点吧,自行调整就好了
不想让它一直检测,就sleep 1秒
-W是设置超时,1.5s还没返回我就觉得它有问题了
-c是一次ping发送的数据包数量
echo data>>fileName 就是shell写数据到文件了
网络实时状态检测

这个只能检测当前网络是否链接正常,需要测试游戏服务,请ping服务器ip,当然中间会经过cdn节点,具体在哪丢包了可以直接ping ip>>filename重定向请求信息输出,然后去筛选timeout

当然,网络没问题的时候一直写online是不是不好,是的,文件会越来越大嘛,自己处理一下吧

经过测试,无论是关闭路由,关闭wifi,网络返回数据慢,都是走的else,你都可以记录一下,打撸ping值高于120ms就很难接受了

终于测试完了,睡觉 ????