getport

-
2024-10-20
# 检测公网 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

苗世雷
地势坤君子厚德载物
公告

记录和学习
最新评论

加载中...