siniorone/SNI-Scanner
GitHub: siniorone/SNI-Scanner
一款基于 Bash 的 SNI/TLS 端口扫描器,以 Matrix 风格终端界面提供轻量级探测与日志记录。
Stars: 0 | Forks: 0
# 🕶️ SNI 扫描器 --- 矩阵版
一款时尚的交互式 **Bash 基础 SNI/TLS 端口扫描器**,用于检查
常见 Web 端口的连通性 —— 封装在 Matrix 主题的终端界面中。
## 🚀 为何选择 SNI 扫描器?
轻量级。简洁。无重型依赖。\
完全使用 Bash 编写,基于原生 TCP 套接字。
适用于:
- 🔐 安全研究人员\
- 🖥 基础设施审计\
- 🌐 快速连接诊断\
- 🎓 教学用途
## ✨ 功能特性
- 🔎 扫描常见 Web 与 TLS 端口:
80, 443, 8080, 8443, 2053, 2083, 2087, 2096
- 🌐 扫描前执行 DNS 解析
- 📂 支持多种输入来源
- 📊 实时动画进度条
- 🎨 Matrix 风格终端界面
- 🗂️ 自动生成带时间戳的日志
- 📑 结果排序(按开放端口数对目标排序)
- 🧼 忽略空行与注释
- 🧠 纯 Bash 实现 —— 无需外部扫描工具
## 📦 系统要求
- bash(推荐 v4+)
- dig
- timeout
- wget
- 标准 GNU 工具
### Debian / Ubuntu
```
sudo apt install dnsutils wget coreutils
```
## ⚡ 快速运行(无需克隆)
```
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/siniorone/SNI-Scanner/main/scan.sh || exit 1)"
```
⚠️ 安全提示:\
始终在执行 `curl \| bash` 前审查远程脚本,避免在生产环境中使用。
## 🛠️ 离线安装
```
git clone https://github.com/siniorone/SNI-Scanner.git
cd SNI-Scanner
chmod +x scan.sh
./scan.sh
```
## 🪟 Windows GUI 版本
下载地址:
https://github.com/siniorone/SNI-Scanner/releases/download/sni/SNI_Scanner.exe
SHA256: 39c498ea468071368b935ebc671f19b7caccce8ea8e48183289521f1ff66ffc9
## 🧠 工作原理
1. 使用 dig +short 解析域名\
2. 提取首个 IPv4 地址\
3. 通过 /dev/tcp 尝试 TCP 连接\
4. 分类结果(OPEN / CLOSED / DNS_FAIL)\
5. 按开放端口数对开放目标排序\
6. 保存结果至:
sni_logs/scan_YYYYMMDD_HHMMSS.log
## 📊 示例输出
```
✔ example.com 93.184.216.34 [2] ports: 80,443
✖ closed-domain.com 192.0.2.10
? invalid-domain.test no resolve
```
摘要:
```
✔ OPEN 12
✖ CLOSED 34
? DNS FAIL 3
```
## ⚡ 性能表现
- 每个端口使用 timeout 2 秒
- 顺序扫描(稳定可预测)
- 优先保障可靠性而非激进速度
- 无需外部扫描工具
## 🔐 免责声明
仅限教育与授权安全研究使用。\
未经许可不得扫描他人网络。
## 📜 许可证
MIT 许可证
绿色文字。黑色背景。\
**欢迎来到真实世界。**
一款时尚的交互式 **Bash 基础 SNI/TLS 端口扫描器**,用于检查
常见 Web 端口的连通性 —— 封装在 Matrix 主题的终端界面中。
## 🚀 为何选择 SNI 扫描器?
轻量级。简洁。无重型依赖。\
完全使用 Bash 编写,基于原生 TCP 套接字。
适用于:
- 🔐 安全研究人员\
- 🖥 基础设施审计\
- 🌐 快速连接诊断\
- 🎓 教学用途
## ✨ 功能特性
- 🔎 扫描常见 Web 与 TLS 端口:
80, 443, 8080, 8443, 2053, 2083, 2087, 2096
- 🌐 扫描前执行 DNS 解析
- 📂 支持多种输入来源
- 📊 实时动画进度条
- 🎨 Matrix 风格终端界面
- 🗂️ 自动生成带时间戳的日志
- 📑 结果排序(按开放端口数对目标排序)
- 🧼 忽略空行与注释
- 🧠 纯 Bash 实现 —— 无需外部扫描工具
## 📦 系统要求
- bash(推荐 v4+)
- dig
- timeout
- wget
- 标准 GNU 工具
### Debian / Ubuntu
```
sudo apt install dnsutils wget coreutils
```
## ⚡ 快速运行(无需克隆)
```
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/siniorone/SNI-Scanner/main/scan.sh || exit 1)"
```
⚠️ 安全提示:\
始终在执行 `curl \| bash` 前审查远程脚本,避免在生产环境中使用。
## 🛠️ 离线安装
```
git clone https://github.com/siniorone/SNI-Scanner.git
cd SNI-Scanner
chmod +x scan.sh
./scan.sh
```
## 🪟 Windows GUI 版本
下载地址:
https://github.com/siniorone/SNI-Scanner/releases/download/sni/SNI_Scanner.exe
SHA256: 39c498ea468071368b935ebc671f19b7caccce8ea8e48183289521f1ff66ffc9
## 🧠 工作原理
1. 使用 dig +short 解析域名\
2. 提取首个 IPv4 地址\
3. 通过 /dev/tcp 尝试 TCP 连接\
4. 分类结果(OPEN / CLOSED / DNS_FAIL)\
5. 按开放端口数对开放目标排序\
6. 保存结果至:
sni_logs/scan_YYYYMMDD_HHMMSS.log
## 📊 示例输出
```
✔ example.com 93.184.216.34 [2] ports: 80,443
✖ closed-domain.com 192.0.2.10
? invalid-domain.test no resolve
```
摘要:
```
✔ OPEN 12
✖ CLOSED 34
? DNS FAIL 3
```
## ⚡ 性能表现
- 每个端口使用 timeout 2 秒
- 顺序扫描(稳定可预测)
- 优先保障可靠性而非激进速度
- 无需外部扫描工具
## 🔐 免责声明
仅限教育与授权安全研究使用。\
未经许可不得扫描他人网络。
## 📜 许可证
MIT 许可证
绿色文字。黑色背景。\
**欢迎来到真实世界。**标签:DNS查询工具, DNS解析, ETW劫持, Matrix风格, SEO关键词, SNI扫描, TCP套接字, TLS端口扫描, 二进制发布, 云存储安全, 交互式终端, 可观察性, 在线扫描, 基础设施审计, 嵌入式CDN, 应用安全, 开源工具, 开源项目, 扫描排序, 技术教程, 教育用途, 无依赖, 日志记录, 目标列表, 端口扫描器, 端口检测, 纯Bash, 网络安全, 网络扫描, 进度条, 隐私保护