脚本文件如下:

#!/bin/bash
#Author:Mr.Ding
#Created Time:2018-08-26 07:23:44
#Name:ping.sh
#Description: shibai="/root/scripts/shell/ping_shibai.txt"
yanchigao="/root/scripts/shell/yanchigao.txt" . /etc/init.d/functions for i in `cat IP_list`
do
ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
Avg="$i 平均延迟(ms):`ping $i -c 3 |grep avg | gawk -F / '{print $5}'`"
num=`ping $i -c 3 |grep avg | gawk -F / '{print $5}'|gawk -F . '{print $1}'`
if [ $ping -eq 100 ];then
action " ping $i faild" /bin/false >>$shibai
echo "$Avg"
else
action " ping $i ok" /bin/true
echo "$Avg"
if [ $num -ge 1 ];then
echo "$i延迟为:$num(ms)" >>$yanchigao
fi
fi
done cat $shibai
cat $yancigao
rm -f $shibai
rm -f $yanchigao

脚本文件说明:

 . /etc/init.d/functions

for i in `cat IP_list`		#这个是逐个读取allip文件里的ip;
do #对读出来的ip ping一次,看是否ping通。并取出loss的百分比的值 也就是掉包的值 ,看是否掉包
ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'` #每个IP ping3次并获取每个IP的平均延迟,如果IP不通,则获取不到延迟,为空;
Avg="$i 平均延迟(ms):`ping $i -c 3 |grep avg | gawk -F / '{print $5}'`" #每个IP ping3次并获取每个IP的平均延迟,取整数,如果IP不通,则获取不到延迟,为空;
num=`ping $i -c 3 |grep avg | gawk -F / '{print $5}'|gawk -F . '{print $1}'` #比较一下,看掉包的值是不是100,如果是100就是全部掉包,那就是没ping通,那就显示 ping ip faild,如果不等于100的话,就ping通了,就显示 Ping ip OK
if [ $ping -eq 100 ];then
action " ping $i faild" /bin/false >>$shibai
echo "$Avg"
else
action " ping $i ok" /bin/true
echo "$Avg" #如果ping的延迟大于或等于100ms,就写入到$yanchigao文件中;
if [ $num -ge 100 ];then
echo "$i延迟为:$num(ms)" >>$yanchigao
fi
fi
done cat $shibai
cat $yancigao
rm -f $shibai
rm -f $yanchigao

批量ping IP并检测IP延迟率和丢包率脚本的更多相关文章

  1. shell 获取指定ip的丢包率

    shell 获取指定ip的丢包率 丢包率大于10%就重新网络 使用sed 替换字符串 [[ $(ping -c 10 -W 1 baidu.com | awk '$6 ~ /%/{print $6}' ...

  2. zabbix使用ICMP Ping模版实现对客户端网络状态的监控,监控丢包率、响应时间

    参考网站: https://www.cnblogs.com/saneri/p/6706578.html 使用fping报错注意事项: https://blog.csdn.net/oqqssh/arti ...

  3. 用ping命令简单的测试 延时、抖动、丢包率

    在DOS命令状态下输入 :ping 202.105.135.211 -t (连续的对该IP地址执行Ping命令,直到被用户以Ctrl+C中断)就会得到下面的结果:Pinging 202.105.135 ...

  4. 收集TCP端口的访问延迟和丢包率

    需求: 找一款工具可以对TCP 80端口 收集 访问延迟和丢包率 找到的工具: 1.Hping :  http://www.hping.org/ 2.paping : https://docs.azu ...

  5. 无线路由器wds桥接技术+丢包率

    半根毛线http://www.cnblogs.com/hsd-/ 今天下午鼓捣了一下无线路由的wds桥接 算是计算机网络的作业 码来分享一下 1.首先设置主路由 我的主路由是斐讯4线 路由ip为192 ...

  6. [转]网络性能评估工具Iperf详解(可测丢包率)

    原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...

  7. [转载]UDP丢包率提升

    UDP丢包及无序问题 转载自:http://hi.baidu.com/gamedot/item/96cb9bf1a717eb14d6ff8cd5 最近在做一个项目,在这之前,做了个验证程序. 发现客户 ...

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

    zabbix使用fping监控任意两个节点之间的网络质量.丢包率和响应时间 之前的博文 使用zabbix3..4的ICMP Ping模版实现对客户端网络状态的监控 https://www.cnblog ...

  9. RFC2544丢包率测试——信而泰网络测试仪实操

    文章关键词:RFC2544.丢包率.吞吐量. 丢包率概述: 丢包率(Frame Loss Rate)测试的目的是确定DUT在不同的负载和帧长度条件下的丢包率.在稳定负载下,由于网络设备资源缺乏,应该正 ...

随机推荐

  1. ios Realm的使用 本地数据存储

    引入需要的文件 pod 'RealmSwift' pod 'Realm' 然后在命令行使用 (首先应该cd到项目的根目录)输入 pod install 等待下载就行了(这个下载有点费劲,其他的插件包下 ...

  2. Python模块之re

    re模块 准备: flags有很多可选值: re.I(IGNORECASE)忽略大小写,括号内是完整的写法 re.M(MULTILINE)多行模式,改变^和$的行为 re.S(DOTALL)点可以匹配 ...

  3. CodeForces - 500A-New Year Transportation(模拟)

    New Year is coming in Line World! In this world, there are n cells numbered by integers from 1 to n, ...

  4. Golang 入门系列(十三)用Beego开发web应用

    接着之前的内容,前面已经讲过很多Golang的基础语法,mysql的使用,redis的使用,也讲了orm框架,如何创建一个webapi 服务等等,感兴趣的可以看看以前的文章,https://www.c ...

  5. xxx cannot be resolved to a type

    1.jdk不匹配(或不存在)     项目指定的jdk为“jdk1.6.0_18”,而当前eclipse使用的是“jdk1.6.0_22”.需要在BuildPath | Libraries,中做简单调 ...

  6. 《javascript设计模式》笔记之第十二章:装饰者模式

    一.装饰者模式的作用 为函数或者对象的方法添加一些行为.     二.装饰者模式的原理 装饰者模式不是直接修改对象,而是以要修改的对象为基础,新建一个对象.不过这个新建的对象看起来就像在原对象的基础上 ...

  7. sqlsever 判断某个字段出现重复的字母或字符

    -------下面使用标量值函数判断  出现重复的个数 create function fn_str_times(@str varchar(1000),--原子符串@indexstr varchar( ...

  8. springboot项目实现批量新增功能

    这个困扰我一整天东西,终于解决了. 首先是mybatis中的批量新增sql语句. 注意:这里我给的是我需要新增的字段,你们改成你们需要的字段. <insert id="insertBa ...

  9. spring项目后台中打印sql语句

    配置方法很简单,只要在配置文件application.yml加入以下语句 logging: level: main.java.iReview.dao: debug 其中包的位置应为dao层的包位置,不 ...

  10. Spring的七种事务传播机制

    概述 当我们调用一个基于Spring的Service接口方法(如UserService#addUser())时,它将运行于Spring管理的事务环境中,Service接口方法可能会在内部调用其它的Se ...