前言
在linux下使用shell脚本来查找局域网内开启22端口的主机,可修改具体的参数以达到测试其他端口是否开放。
另:请勿用于非法途径,遵守法律法规
实现步骤
运行环境为:centos7
1. 初始化环境
脚本使用nc作为端口探测工具,所以需要确保nc已正常安装。
echo "检查初始化环境..."
rpm -qa | grep nmap-ncat
if [ $? -eq 0 ]; then
echo "已安装NC"
else
echo "未安装NC,现在开始安装..."
yum install -y nc
wait
fi
等待检测安装完成,为保证脚本正常运行再次确认nc是否安装成功,成功才向下执行。
pm -qa | grep nmap-ncat
if [ $? != 0 ]; then
echo "初始化失败,请手动安装nc"
exit
fi
2. 确认本机IP地址
通过awk进行过滤出本机掩码是24位的IP地址,可修改对应变量以达到支持兼容非24位的IP地址及IP段,这里默认检测掩码为24位的IP地址。
echo "开始查找本机IP地址与网关..."
ret_ip=`ip a | grep inet | awk -F ' ' '{print $2}'`
gateway=24
for ip in $ret_ip; do
tmp_ip=`