fping实现对巨量ip进行ping测,实现批量并发网络监控

Shell Liemer_Lius 3070℃ 0评论

运维工作中,如果我们要获取一批ip的长ping信息,shell脚本的并发性不强,多线程对服务器的性能消耗太大。

这时候,fping就是非常适合的一个ping测工具。

博客参考:https://blog.csdn.net/wz_cow/article/details/80967255

fping的介绍

fping – send ICMP ECHO_REQUEST packets to network hosts

和ping相似,是遵循ICMP协议进行网路探测的工具。和ping的不同之处在于,fping的ping测时间可以很短,默认25ms就可以发送一个ping信息到目的主机;

fping有很多控制参数,常用的如下:

-r n: ping失败后的重试次数,默认3,n可以自定义次数;
-i n:默认两个节点的信息发送间隔,默认25ms,n自定义ms数;
-t n:单个目标默认超时时间,默认500ms,n自定义超时ms数;
-u:显示不可达目标;
-f:自文件读取ip列表,一个ip一行,#可以注释掉一个ip取消ping;

范例

ip.list文件:

192.168.131.25
192.168.131.52
#192.168.131.46
192.168.131.29

脚本:

#!/bin/bash
for i in {1..100}; do
    fping -r 1 -i 5 -t 5 -u -f ip.list | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()) } ' >> ping.err
    sleep 1
done

这样,ip.list中的三个ip(一个呗注释掉了),会进行100次的ping操作,大约100s之后,就能在ping.err日志中看到有异常的ping测异常列表和时间。

 

转载请注明:liutianfeng.com » fping实现对巨量ip进行ping测,实现批量并发网络监控

喜欢 (0)

发表回复