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
#!/bin/bash

if [[ $1 == '' ]];then
printf "用法:\n"
printf " sh test.sh {24位IP段}\n"
else
IP=$1
echo ${IP} > .ip
cmd=$(cat .ip | awk -F '.' '{$NF="";print $0}')
echo ${cmd} > .ip && sed -i "s/ /./g" .ip
IPD=$(cat .ip)
START=$(date +%d%M%S)
printf "IP扫描开始: ${START} \n"
for i in $(seq 255)
do {
ping -c 1 ${IPD}.$i >& /dev/null
if [ $? -eq 0 ]; then
echo "${IPD}.$i is Success!" >> Ping-Scan.log
else
echo "${IPD}.$i is Failed!" >> Ping-Scan.log
fi
} &
done
wait
END=$(date +%d%M%S)
TIME=$((${END}-${START}))
printf "IP扫描结束:${END}\n"
printf "程序执行结束,总耗时: ${TIME}s\n"
fi