请写一个批量探测指定ip和端口数组中的ip和端口是否通的bash脚本
时间: 2023-07-14 13:13:11 浏览: 136
shell批量检测端口脚本
可以使用以下Bash脚本来批量探测指定IP和端口是否通:
```bash
#!/bin/bash
# 定义要扫描的IP和端口数组
IP_ARRAY=("192.168.1.1" "8.8.8.8")
PORT_ARRAY=(80 443 22)
for IP in "${IP_ARRAY[@]}"
do
for PORT in "${PORT_ARRAY[@]}"
do
# 使用nc命令测试IP和端口是否通
nc -z -w5 $IP $PORT > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "IP $IP on port $PORT is open"
else
echo "IP $IP on port $PORT is closed"
fi
done
done
```
在上面的脚本中,我们首先定义了要扫描的IP和端口数组,然后使用嵌套循环遍历所有IP和端口组合。对于每个IP和端口组合,我们使用nc命令测试其是否通。如果通,则输出“IP [IP地址] on port [端口号] is open”;否则输出“IP [IP地址] on port [端口号] is closed”。
注意,我们使用了nc命令的-z选项来测试连接,-w5选项来设置超时时间为5秒。我们还将标准输出和标准错误重定向到了/dev/null,以便不显示任何输出信息。
阅读全文