# 检测公网 IP
ip=`curl -s "http://182.254.116.116/d?dn=myip.ipip.net&clientip=1" | sed 's/|/ /g' | awk '{print $2}'`
# 显示当前 IP
echo -e " 当前IP: ${GREEN}${ip}${NC}"
echo " 开始探测端口"
echo -e "${YELLOW}========等待一会========${NC}"
# 初始化一个列表用于保存找到的可用端口
available_ports=()
# 循环检测从 10000 到 10999 的端口
for a in {000..999}; do
a="10${a}"
url="http://${ip}:${a}"
status=$(curl --connect-timeout 0.1 --max-time 0.1 -o /dev/null -s -w "%{http_code}" "${url}")
# 检查是否返回 '404' 或其他有效状态码
if [[ ${status} == '200' || ${status} == '404' ]]; then
echo -e " 端口 ${a} 是可用的,状态码: ${GREEN}${status}${NC}"
available_ports+=(${a}) # 将可用端口保存到列表
fi
done
# 检查是否找到可用端口
if [[ ${#available_ports[@]} -gt 0 ]]; then
echo -e "${GREEN}找到以下可用端口:${NC}"
for port in "${available_ports[@]}"; do
echo -e " 端口:${GREEN}${port}${NC}"
done
else
echo '========================'
echo -e "${RED}未找到可用端口${NC}"
fi
getport
-
字
2024-10-20