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

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
while  true do
   for  in  {100..120}; do
     ping  -c 2 -w 2 192.168.0.$I &> /dev/null
     if  [ $? - eq  0 ]; then
       echo  -e  "\033[32;40m 192.168.0.$I is UP.\033[0m"
     else
       echo  -e  "\033[32;40m 192.168.0.$I is DOWN.\033[0m"
     fi
   done
     break
done
 
 
执行结果
[root@localhost ~] # sh ping.sh 
  192.168.0.100 is UP.
  192.168.0.101 is DOWN.
  192.168.0.102 is UP.
  192.168.0.103 is DOWN.
  192.168.0.104 is UP.
  192.168.0.105 is DOWN.
  192.168.0.106 is DOWN.
  192.168.0.107 is DOWN.
  192.168.0.108 is DOWN.
  192.168.0.109 is UP.
  192.168.0.110 is DOWN.
  192.168.0.111 is DOWN.
  192.168.0.112 is DOWN.
  192.168.0.113 is DOWN.
  192.168.0.114 is UP.
  192.168.0.115 is UP.
  192.168.0.116 is DOWN.
  192.168.0.117 is DOWN.
  192.168.0.118 is UP.
  192.168.0.119 is DOWN.
  192.168.0.120 is UP.


实现方案利用ping

ping 命令参数

  -d   使用Socket的SO_DEBUG功能。
  -c<完成次数>   设置完成要求回应的次数。
  -f   极限检测。
  -i<间隔秒数>   指定收发信息的间隔时间。
  -I<网络界面>   使用指定的网络界面送出数据包。
  -l<前置载入>   设置在送出要求信息之前,先行发出的数据包。
  -n   只输出数值。
  -p<范本样式>   设置填满数据包的范本样式。
  -q   不显示指令执行过程,开头和结尾的相关信息除外。
  -r   忽略普通的Routing Table,直接将数据包送到远端主机上。
  -R   记录路由过程。
  -s<数据包大小>   设置数据包的大小。
  -t<存活数值>   设置存活数值TTL的大小。
  -v   详细显示指令的执行过程。


本文转自 baishuchao 51CTO博客,原文链接:http://blog.51cto.com/baishuchao/1943027

相关文章
|
7月前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
361 0
|
Shell
使用shell脚本编程查看局域网内哪些主机开启或宕机
使用shell脚本编程查看局域网内哪些主机开启或宕机
68 0
|
SQL Shell Linux
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
很高兴能开始是新的知识点,我在使用sh 运行hive脚本以后才发现不知不觉的时候我已经开始使用shell了。。。
143 0
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
shell 命令返回值判断
shell 命令返回值判断
|
Shell Linux
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令)、-eq 等于(equal) -ne 不等于(not equal)-lt 小于(less than) -le 小于等于(less equal)-gt 大于(greater than) -ge 大于等于(greater equal)注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。 -r 有读的权限(read)-w 有写的权限(write)-x 有执行的权限(execute)
179 1
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
|
Java Shell Linux
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
“{}”在linux shell里面表示生成序列、在for循环中$*和$@的区别、注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格②if 后要有空格、在中括号里面的话就不用&&(||)而是用-a(-and)(和-o(-or))、用逻辑与&&逻辑或||连接(单分支)(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。(2)双分号“;;”表示命令序列结束,相当于 java 中的 break。 (3)最后的“*)”表示默认模式,相当于 java 中的 default。当
242 1
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
|
算法 搜索推荐 Shell
python实现【希尔排序】(Shell Sort)
python实现【希尔排序】(Shell Sort)
python实现【希尔排序】(Shell Sort)
|
SQL 存储 Shell
hive统计每日的活跃用户和新用户sql开发(附shell脚本)
hive统计每日的活跃用户和新用户sql开发(附shell脚本)
hive统计每日的活跃用户和新用户sql开发(附shell脚本)
|
SQL 分布式计算 大数据
电商项目之 DWD 用户启动日志表 Shell 脚本编写|学习笔记
快速学习电商项目之 DWD 用户启动日志表 Shell 脚本编写
电商项目之 DWD 用户启动日志表 Shell 脚本编写|学习笔记