测试网络段内可以通信的IP

可以测试一个网段内可以通信的IP
脚本下载链接

#!/bin/bash
# 
#********************************************************************
#Author:            chenjiahao
#QQ:                1938191576
#Date:              2022-11-30
#FileName:          ping.sh
#URL:               https://www.placjh.com
#Description:       The test script
#Copyright (C):     2022 All rights reserved
#********************************************************************

NET=10.0.0.0/24 #起始IP

IP=`echo $NET|awk -F"/" '{print $1}'`
NETMASK=`echo $NET|awk -F"/" '{print $2}'`

I=`echo $IP|awk -F"." '{print $1}'`
P=`echo $IP|awk -F"." '{print $2}'`
V=`echo $IP|awk -F"." '{print $3}'`
FOUR=`echo $IP|awk -F"." '{print $4}'`
if [ $NETMASK \= 24 ];then
	for i in $FOUR;do
		for ((p=$i;p<255;p++));do
			ping $I.$P.$V.$p -W 0.1 -c 1 >/dev/null
			if [ $? -eq 0 ];then
				echo "$I.$P.$V.$p 可通信"
			fi
		done
	done
elif [ $NETMASK \= 16 ];then
	for o in $V;do
		for ((q=$o;q<255;q++));do
			for i in $FOUR;do
				for ((p=$i;p<255;p++));do
					ping $I.$P.$q.$p -W 0.001 -c 1 >/dev/null
					if [ $? -eq 0 ];then
					echo "$I.$P.$q.$p 可通信"
					fi
				done
			done
		done
	done
elif [ $NETMASK \= 8 ];then
	for w in $P;do
		for ((e=$w;e<255;e++));do
			for o in $V;do
				for ((q=$o;q<255;q++));do
					for i in $FOUR;do
						for ((p=$i;p<255;p++));do
							ping $I.$e.$q.$p -W 0.001 -c 1 >/dev/null
							if [ $? -eq 0 ];then
							echo "$I.$e.$q.$p 可通信"
							fi
						done
					done
				done
			done
		done
	done
else
	echo "目前只支持使用8/16/24位的掩码"
	exit
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值