ping 命令检索ping成功的数据包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ping 命令检索ping成功的数据包相关的知识,希望对你有一定的参考价值。

 

脚本过滤ping通IP的数据包



1.问题描述:由于网络不稳定,导致业务系统中无法正常运行,经常有丢包的现象


2.需求:编写一个脚本,通过ping 命令发送一定数量的数据包,检索出成功与丢失的数据包的数量,来判断网络是否符合要求


3.思路:1)整个业务系统有多个IP,用fou 循环,用以取到不同的IP


2)对取到的IP进行ping ,过滤平通的包,对结果进行判断 并返回相应的值


3)每隔多长时间循环一次 sleep ,因此用到while循环 ,循环条件永远为真


4.编写脚本如下


  脚本描述:对每个IP ping100 个数据包,成功ping通90个包,表名网络正常,并返回一定的值normal  否侧返回abnormal  每10秒循环一次


#!/bin/bash

while true

DATE=$(date "+%Y-%m-%d %H:%M:%S")

do


   for address in $(cat $1)

        do

          echo -en "$DATE ping $address……"

          Pingpacket=100

          SuccessfullPackets=90

          ping $address -c $Pingpacket -i 0.5 -t 5

          ReceivedPacket=$(ping $address -c $Pingpacket -i 0.5 -t 5 | grep "received" | awk ‘{print $4}‘)

          LossPacket=$(($Pingpacket - $ReceivedPacket))

                 if [ $ReceivedPacket -ge $SuccessfullPackets ];

                      then

                      echo "Ping altogether $Pingpacket bags, received $ReceivedPacket bags" && echo " $address is  normal "  

                 else

                      echo "Ping altogether $Pingpacket bags, loss $LossPacket bags" && echo " $address is  abnormal "

                 fi

        done

sleep 10s;

done

~        


本文出自 “92868888” 博客,请务必保留此出处http://92868888.blog.51cto.com/12381417/1955181

以上是关于ping 命令检索ping成功的数据包的主要内容,如果未能解决你的问题,请参考以下文章

ping命令可以通过哪个数值来推算数据包已经通过了多少路由器?

ping怎么设置数据包大小

ping怎么设置数据包大小

怎么修改cmd 中ping命令的数据包大小?

简单了解ICMP协议

Linux命令(35):ping命令-向网络主机发送数据包