shell脚本测试某网段内主机连通性

所属分类: 脚本专栏 / linux shell 阅读数: 1841
收藏 0 赞 0 分享

1. 测试192.168.4.0/24整个网段的连通性(while版本)

#!/bin/bash
#Author:丁丁历险(Jacob)
#定义变量i控制循环次数,i从1开始循环,每循环一次,i自加1,直到i等于254循环退出
#在每次循环中对一个IP进行ping测试,如果ping通,提示主机是UP的
#如果无法ping同,则提示主机是down的
#ping命令的-c选项控制ping测试的次数,-c2表示对目标主机执行2次ping测试
#ping命令的-i选项,控制多次ping测试的间隔时间默认为1秒,-i0.3可以提升ping的测试效率
#ping命令的-W选项,可以控制超时时间,默认一个主机无法ping通,需要等很长的超时时间,
#才会提示无法ping通,使用-W1,设置超时时间为1秒。
i=1
while [ $i -le 254 ]
do
     ping -c2 -i0.3 -W1 192.168.4.$i &>/dev/null
     if [ $? –eq 0 ];then
        echo "192.168.4.$i is up"
     else
        echo "192.168.4.$i is down"
     fi
     let i++
done

2. 测试192.168.4.0/24整个网段的连通性(for版本)

#!/bin/bash
#Author:丁丁历险(Jacob)
#定义for循环变量i,执行循环次数为254次,i从1循环到254
#每次循环对某一台目标主机测试ping的连通性,ping命令的语法格式参考前面的while版本
for i in {1..254}
do
     ping -c2 -i0.3 -W1 192.168.4.$i &>/dev/null
     if [ $? –eq 0 ];then
        echo "192.168.4.$i is up"
     else
        echo "192.168.4.$i is down"
     fi
done

3. 测试192.168.4.0/24整个网段的连通性(多进程版本)

#!/bin/bash
#Author:丁丁历险(Jacob)
#定义一个函数,ping某一台主机,并检测主机的存活状态,ping语法格式参考前面的while版本
myping(){
ping -c2 -i0.3 -W1 $1 &>/dev/null
if [ $? -eq 0 ];then
echo "$1 is up"
else
echo "$1 is down"
fi
}
for i in  {1..254}
do
     myping 192.168.4.$i &
done
#使用&符号,将执行的函数放入后台执行
#这样做的好处是不需要等待ping第一台主机的回应,就可以继续并发ping第二台主机,依次类推。

以上所述是小编给大家介绍的shell脚本测试某网段内主机连通性,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Shell脚本中计算字符串长度的5种方法

这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现把进程负载均衡到多核CPU中

这篇文章主要介绍了Shell脚本实现把进程负载均衡到多核CPU中,可以把进程指定运行在某个CPU中,需要的朋友可以参考下
收藏 0 赞 0 分享

5个Shell脚本编程入门练习例子

这篇文章主要介绍了5个Shell脚本编程入门例子,涵盖了各种操作,又有一些游戏的性质,作为入门练习例子是不很不错的,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本编程中常用的数学运算实例

这篇文章主要介绍了Shell脚本编程中常用的数学运算实例,包含最基本的加减乘除,还有质数、偶数的判断等,需要的朋友可以参考下
收藏 0 赞 0 分享

5个实用的shell脚本面试题和答案

这篇文章主要介绍了5个实用的shell脚本面试题和答案,给出的脚本堪称编码规范,麻雀虽小,异常处理,友好提示,一应俱全,值得学习,需要的朋友可以参考下
收藏 0 赞 0 分享

使用bash shell删除目录中的特定文件的3种方法

这篇文章主要介绍了使用bash shell删除目录中的特定文件的3种方法,分别为扩展模式匹配符、GLOBIGNORE 变量和find 命令,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell获取文件的文件名和扩展名的例子

这篇文章主要介绍了Shell获取文件的文件名和扩展名的例子,简明版的代码实例,看了就懂,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell多线程操作及线程数控制实例

这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
收藏 0 赞 0 分享

阿里云主机一键安装lamp、lnmp环境的shell脚本分享

这篇文章主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本转发80端口数据包给Node.js服务器

开发基于Node.js的WEB应用很方便,但是服务端口问题很蛋疼,由于Linux内核规定普通用户只能使用大于1024的端口号,所以使用普通用户运行Node.js服务就不能监听80端口
收藏 0 赞 0 分享
查看更多