概述
前言
在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=`echo $ip | awk -F '/' '{print $1}'`
tmp_gateway=`echo $ip | awk -F '/' '{print $2}'`
if test $[tmp_gateway] -eq $[gateway]
then
echo "localhost ip:$tmp_ip,gateway:$tmp_gateway"
break
fi
done
3. 查找局域网内主机
查找IP地址对应的的局域网内所有主机
echo “开始查找局域网内主机…”
lan_ip=echo $tmp_ip | awk -F '.' '{print $1 "." $2 "." $3 "." }'
for (( i = 1; i < 255; i++ )); do
{
nc -zw2
l
a
n
i
p
{lan_ip}
lanipi 22
if [
?
−
e
q
0
]
;
t
h
e
n
e
c
h
o
"
f
i
n
d
h
o
s
t
:
? -eq 0 ]; then echo "find host:
?−eq0];thenecho"findhost:{lan_ip}$i"
fi
} &
done
wait
echo “查找完毕…”
4. 拓展
可增加参数和建立文件保存标记来确认是否需要保存查找结果为文件。
5. 完整实现代码
#!/bin/bash
# author:cc
# date:2020.8.24
# 发现局域网内22端口开启主机
# 端口检测使用nc
echo "检查初始化环境..."
rpm -qa | grep nmap-ncat
if [ $? -eq 0 ]; then
echo "已安装NC"
else
echo "未安装NC,现在开始安装..."
yum install -y nc
wait
fi
rpm -qa | grep nmap-ncat
if [ $? != 0 ]; then
echo "初始化失败,请手动安装nc"
exit
fi
case $1 in
-w )
echo $2
;;
esac
echo "开始查找本机IP地址与网关..."
ret_ip=`ip a | grep inet | awk -F ' ' '{print $2}'`
gateway=24
for ip in $ret_ip; do
tmp_ip=`echo $ip | awk -F '/' '{print $1}'`
tmp_gateway=`echo $ip | awk -F '/' '{print $2}'`
if test $[tmp_gateway] -eq $[gateway]
then
echo "localhost ip:$tmp_ip,gateway:$tmp_gateway"
break
fi
done
echo "开始查找局域网内主机..."
lan_ip=`echo $tmp_ip | awk -F '.' '{print $1 "." $2 "." $3 "." }'`
for (( i = 1; i < 255; i++ )); do
{
nc -zw2 ${lan_ip}$i 22
if [ $? -eq 0 ]; then
echo "find host:${lan_ip}$i"
fi
} &
done
wait
echo "查找完毕..."
最后
以上就是简单胡萝卜为你收集整理的linux安全-使用shell脚本一键查找局域网内开启22端口的主机前言的全部内容,希望文章能够帮你解决linux安全-使用shell脚本一键查找局域网内开启22端口的主机前言所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复