扫描b段主机shell脚本(有点慢)


代码

#!/bin/bash

if [ "$1" == "" ]
then
	echo "You forgot an IP address!"
	echo "Syntax: ./ipsweep.sh 192.168"
else
	for ip3 in `seq 1 254`
	do
		for ip4 in `seq 1 254`
		do
		ping -c 1 $1.$ip3.$ip4 | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" &
		done
		if [ `expr $ip3 % 3` == 0 ]
		then
		wait
		echo "wait all processes done,`expr $ip3 - 2 `,`expr $ip3 - 1 `,$ip3 subnet done!"
		fi
	done
fi

代码解释

前面参考
https://blog.csdn.net/weixin_43623271/article/details/122113368
解释多出来的部分

  • if [ expr $ip3 % 3 == 0 ]
    b段每扫完3个就wait一下
  • wait
    子进程全部结束后,执行wait,默认等待5s(就是这里费太多时间了)
    不过不使用该命令,程序会因为子进程开得过多而崩溃
  • 后面想到改进的办法会重新修改代码

运行

扫描b段主机shell脚本(有点慢)

上一篇:每天10个java面试题-day2


下一篇:eclipse项目右键run as时,选项中没有Run On Server