shell脚本扫描指定服务器开启了哪些端口
以下是一个示例的shell脚本,用于扫描指定服务器上开启了哪些端口:
#!/bin/bash
# 服务器IP地址
server="192.168.1.10"
# 端口范围
start_port=1
end_port=100
# 循环遍历端口范围
for (( port=$start_port; port<=$end_port; port++ ))
do
# 使用nc命令尝试连接服务器的指定端口
nc -z -w1 $server $port >/dev/null 2>&1
# 检查nc命令的退出状态
if [ $? -eq 0 ]; then
echo "端口 $port 是开放的"
fi
done
在脚本中,你需要将server变量设置为你要扫描的服务器的IP地址。然后,定义start_port和end_port变量来指定要扫描的端口范围。
脚本使用nc命令(也称为netcat)来尝试连接服务器的每个端口。-z选项告诉nc在连接之前不要发送任何数据,-w1选项在连接尝试超时之前等待1秒钟。如果连接成功,nc命令的退出状态将为0,表示该端口是开放的。
注意:在运行脚本之前,请确保你的系统上已经安装了nc命令。可以使用apt-get(Debian/Ubuntu)或yum(CentOS/RHEL)等包管理工具来安装它
原文地址: http://www.cveoy.top/t/topic/hQJl 著作权归作者所有。请勿转载和采集!