测试嵌入式设备上网卡的脚本

发布于:2024-06-25 ⋅ 阅读:(35) ⋅ 点赞:(0)

先ping 百度,如果直接unknown host,这时候应该dns都没有或者路由没有 然后测试获取ping的丢包率,如果丢包大于0%的时候,说明网络环境有点儿问题 这时候tcpdump抓包分析,并同时ping百度看看 

https://download.csdn.net/download/yudelian/89478009

#!/bin/sh

rm ./ping.log

LOSS_RATE=0
TCPDUMP_TIMES=0
while true
do
        echo "*****************************************************************" >> ./ping.log
        echo "*****************************************************************" >> ./ping.log
        echo "" >> ./ping.log
        date >> ./ping.log
        ping -c 5 baidu.com &>> ./ping.log
        if cat ./ping.log| tail -n 1 | grep -q "unknown host";then
                echo "unknown host, continue" >> ./ping.log
                continue
        fi

        #LOSS_RATE=`cat ./ping.log | tail -n 2 | grep "packets trans" | awk -F ','  '{print $3}' | awk '{print $1}'` 
        LOSS_RATE=`cat ./ping.log | tail -n 2 | grep "packets trans"`
        echo "LOSS_RATE=$LOSS_RATE" >> ./ping.log
        if echo "$LOSS_RATE" | grep -wq "0% packet loss";then
                echo "LOSS_RATE is small" >> ./ping.log
        else
                let TCPDUMP_TIMES=$((TCPDUMP_TIMES+1))
                echo "LOSS_RATE is too large, $TCPDUMP_TIMES " >> ./ping.log
                if [ TCPDUMP_TIMES -gt 15 ];then
                        rm *.pcap
                        TCPDUMP_TIMES=0
                fi

                curr_time=`date "+%H:%M:%S"`
                curr_tcpdump_file="$curr_time-cap.pcap"
                timeout 30 tcpdump -i eth0.6 -w $curr_tcpdump_file &

                echo "" >> ./ping.log
                ping -c 3 baidu.com >> ./ping.log
                echo "" >> ./ping.log
                ping -c 5 172.20.6.34 >> ./ping.log

                top -b -n 1 | sed -n '3p;8,11p'  >> ./ping.log
        fi


        sleep 10
done


网站公告

今日签到

点亮在社区的每一天
去签到