#!/bin/bash whiletrue;do forIin{100..120};do ping-c2-w2192.168.0.$I&>/dev/null if[$?-eq0];then echo-e"\033[32;40m192.168.0.$IisUP.\033[0m" else echo-e"\033[32;40m192.168.0.$IisDOWN.\033[0m" fi done break done 执行结果 [root@localhost~]#shping.sh 192.168.0.100isUP. 192.168.0.101isDOWN. 192.168.0.102isUP. 192.168.0.103isDOWN. 192.168.0.104isUP. 192.168.0.105isDOWN. 192.168.0.106isDOWN. 192.168.0.107isDOWN. 192.168.0.108isDOWN. 192.168.0.109isUP. 192.168.0.110isDOWN. 192.168.0.111isDOWN. 192.168.0.112isDOWN. 192.168.0.113isDOWN. 192.168.0.114isUP. 192.168.0.115isUP. 192.168.0.116isDOWN. 192.168.0.117isDOWN. 192.168.0.118isUP. 192.168.0.119isDOWN. 192.168.0.120isUP.
实现方案利用ping
ping 命令参数
-d使用Socket的SO_DEBUG功能。
-c<完成次数>设置完成要求回应的次数。
-f极限检测。
-i<间隔秒数>指定收发信息的间隔时间。
-I<网络界面>使用指定的网络界面送出数据包。
-l<前置载入>设置在送出要求信息之前,先行发出的数据包。
-n只输出数值。
-p<范本样式>设置填满数据包的范本样式。
-q不显示指令执行过程,开头和结尾的相关信息除外。
-r忽略普通的RoutingTable,直接将数据包送到远端主机上。
-R记录路由过程。
-s<数据包大小>设置数据包的大小。
-t<存活数值>设置存活数值TTL的大小。
-v详细显示指令的执行过程。