利用shell实现判断局域网内在线用户有那些

#!/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详细显示指令的执行过程。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...