以下是一个示例的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_portend_port变量来指定要扫描的端口范围。

脚本使用nc命令(也称为netcat)来尝试连接服务器的每个端口。-z选项告诉nc在连接之前不要发送任何数据,-w1选项在连接尝试超时之前等待1秒钟。如果连接成功,nc命令的退出状态将为0,表示该端口是开放的。

注意:在运行脚本之前,请确保你的系统上已经安装了nc命令。可以使用apt-get(Debian/Ubuntu)或yum(CentOS/RHEL)等包管理工具来安装它

shell脚本扫描指定服务器开启了哪些端口

原文地址: http://www.cveoy.top/t/topic/hQJl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录