seramo/sni-scanner

GitHub: seramo/sni-scanner

一个基于 Bash 的轻量级 SNI 端口扫描工具,用于批量检测 IP 与域名上的常用 HTTPS/CDN 端口可达性。

Stars: 23 | Forks: 1

# SNI 扫描器 一个轻量级的 Bash 工具,用于扫描一组 IP 和域名上的常用 CDN 端口。 ## 描述 **SNI 扫描器** 是一个基于 Bash 的简单工具,用于检查多个 IP 地址或域名上的常用 HTTPS/CDN 端口。它支持混合输入(IP 和域名),自动将域名解析为 IP 地址,并扫描 CDN 提供商(如 Cloudflare)常用的预定义端口列表。 该工具提供清晰的输出,指示哪些端口是开放的或关闭的,帮助用户快速识别可达的端点。 ## 功能 - IP & 域名支持:接受 IP 地址和域名作为输入 - 自动 DNS 解析:将域名解析为一个或多个 IP 地址 - CDN 端口扫描:扫描常见的 HTTPS/CDN 端口 - 详细输出: - 显示开放端口(✔) - 显示关闭端口(✖) - 分离成功和失败的目标 - 轻量级 & 快速:仅需 bash、nc 和 dig ## 快速开始 ### 前置条件 - Linux / Unix 系统 - bash - nc (netcat) - dig (DNS 工具) ### 安装 1. 克隆仓库: git clone https://github.com/seramo/sni-scanner.git 2. 进入项目目录: cd sni-scanner 3. 使脚本可执行: chmod +x sni-scanner.sh ## 用法 ### 步骤 1:准备输入文件 创建一个名为 targets.txt 的文件: ``` 104.19.229.21 example.com google.com ``` ### 步骤 2:运行扫描器 ``` ./sni-scanner.sh ``` 或指定自定义文件: ``` ./sni-scanner.sh my-targets.txt ``` ## 扫描端口 443、2053、2083、2087、2096、8443 ## 输出示例 ``` === OK (at least one open port) === example.com -> 104.19.229.21 -> 443✔ 2053✔ 2083✖ 2087✖ 2096✖ 8443✔ === FAIL (all ports closed) === 8.8.8.8 -> 8.8.8.8 -> 443✖ 2053✖ 2083✖ 2087✖ 2096✖ 8443✖ === RESOLVE FAILED === bad-domain.test ``` ## 注意事项 - 本工具仅执行基本的 TCP 端口检查 - 它**不**执行真实的 SNI 欺骗或 TLS 验证 - 结果可能因 CDN 行为和网络限制而有所不同 ## 贡献 欢迎贡献和改进。随时提交 Pull Request。
标签:2053, 2083, 2087, 2096, 443, 8443, Bash工具, CDN探测, dig, DNS解析, HTTPS扫描, Linux工具, netcat, SNI探测, SSL端口, TCP连接, 二进制发布, 云存储安全, 应用安全, 开源工具, 开源项目, 数据统计, 目标探测, 端口扫描, 端口探测, 网络安全, 网络扫描, 轻量级安全工具, 隐私保护