免费资源网 – https://freexyz.cn/
由于一些情况需要扫描指定IP网段及指定端口,故写出基于NMAP的SHELL脚本。
#!/bin/bash #NMAP扫描指定的网段及端口是否存活 #By: admin@ym68.cc #设置IP网段 Ip_DomAIn=192.144.238.1-254 #IP地址的网段 Ip_Domain_Part=`echo $Ip_Domain |awk -F. {print $1″.”$2″.”$3″.”}` #IP地址从哪开始 Ip_Domain_Start=`echo $Ip_Domain |awk -F– {print $1}|awk -F. {print $4}` #IP地址从哪结束 Ip_Domain_Stop=`echo $Ip_Domain |awk -F– {print $2}` #指定端口列表分隔符为”,” Ip_Prot_Domain=22,80,443 #生成数组Ip_Prot_List=(${Ip_Prot_Domain//,/ }) #对IP地址进行循环 for Ip_Domain_Num in `seq “${Ip_Domain_Start}“ “${Ip_Domain_Stop}“` do #将IP地址网段和主机位合并 Ip_Adderss_Code=“${Ip_Domain_Part}${Ip_Domain_Num}“ #判断IP地址是否为0或者255,反之则跳过 if [ “${Ip_Domain_Num}“ -eq 0 -o “${Ip_Domain_Num}“ -eq 255 ];then #echo “当前 ${Ip_Adderss_Code} 地址不可用!” continue else #循环端口列表 for Prot_Sum in ${Ip_Prot_List[@]} do #扫描指定IP及端口循环 Ip_Domain_Status=`nmap “${Ip_Adderss_Code}“-p${Prot_Sum} | awk “/^${Prot_Sum}/ {print \$2}”` #判断值是否为空,如为空则可能代表IP地址不存在,具体需进行实际测试查看! if [ -z “${Ip_Domain_Status}“ ];then echo “当前主机可能不存在!” else #输出结果 echo “${Ip_Adderss_Code} Prot ${Prot_Sum} Status: ${Ip_Domain_Status}“ fi done fi done
免费资源网 – https://freexyz.cn/
© 版权声明
THE END
暂无评论内容