写个扫描主机端口的shell脚本
时间: 2023-07-04 20:28:01 浏览: 225
好的,下面是一个简单的扫描主机端口的Shell脚本:
```bash
#!/bin/bash
# 输入需要扫描的主机地址
read -p "请输入需要扫描的主机地址:" host
# 输入需要扫描的端口号范围
read -p "请输入需要扫描的端口号范围(如:1-100):" port_range
# 将端口号范围分解为起始端口和结束端口
start_port=$(echo $port_range | cut -d '-' -f 1)
end_port=$(echo $port_range | cut -d '-' -f 2)
# 循环扫描端口
for ((port=$start_port; port<=$end_port; port++))
do
# 使用nc命令测试端口是否开放
nc -z -w 1 $host $port &>/dev/null
# 判断端口是否开放,输出结果
if [ $? -eq 0 ]; then
echo "Port $port is open on $host."
else
echo "Port $port is closed on $host."
fi
done
```
使用方法:
1. 在终端中执行 `vi scan_port.sh` 创建一个名为 `scan_port.sh` 的Shell脚本文件;
2. 将上述代码复制到 `scan_port.sh` 文件中,并保存退出;
3. 在终端中执行 `chmod +x scan_port.sh` 赋予脚本执行权限;
4. 在终端中执行 `./scan_port.sh` 运行脚本;
5. 按照提示依次输入需要扫描的主机地址和端口号范围,脚本会自动扫描指定主机的指定端口范围,并输出扫描结果。
阅读全文