WhoIsHalim/SPECTRE-Lite
GitHub: WhoIsHalim/SPECTRE-Lite
一个纯 Python 异步网络扫描器,内置协议感知 Banner 抓取、HTTP 标题检测和增量比较,无需外部依赖即可输出多格式报告。
Stars: 0 | Forks: 0
# SPECTRE-Lite
**S**ervice & **P**ort **E**numeration with **C**overt **T**itle **R**econ **E**ngine
## 功能特点
- 纯 Python 异步扫描——无需外部工具
- 协议感知型 Banner 抓取(SSH、FTP、SMTP、Redis、HTTP……)
- HTTP/HTTPS 标题提取,支持自动 SSL 绕过
- 重试逻辑:2 次重试(5 秒 → 10 秒)后才将主机标记为失效
- 增量扫描——检测自上次运行以来的变化(新增 / 关闭 / 变更端口)
- 彩色终端输出,原子级按主机打印(无交错)
- 报告导出为 TXT、JSON 和 HTML(深色主题)
## 运行环境
- Python 3.8+
- 无需外部二进制文件
安装依赖:
```
pip install -r requirements.txt
```
## 输入文件
| 文件 | 描述 |
|------|------|
| `ip_ranges.txt` | 要扫描的 IP 或 CIDR 范围(每行一个) |
| `ports.txt` | 要检查的端口(每行一个,逗号分隔,或范围如 `8080-8090`) |
| `signatures.txt` | 用于匹配 Banner 和 HTTP 标题的关键字 |
## 使用方法
```
python spectre.py
```
启动后你将看到:
```
[?] Select scan mode:
[1] Banner scan only — protocol-aware banner grabbing (fast)
[2] HTTP Title only — grab page titles via HTTP/HTTPS
[3] Full scan — banner + HTTP title + delta report
[?] Concurrent workers:
```
## 输出
所有报告保存在 `reports/` 文件夹中:
| 文件 | 格式 |
|------|------|
| `spectre_.txt` | 人类可读的纯文本 |
| `spectre_.json` | 机器可读的 JSON |
| `spectre_.html` | 交互式深色主题 HTML 报告 |
增量比较存储在 `.spectre_last_scan.json` 中,每次运行后更新。
## 增量报告
每次运行时,SPECTRE-Lite 会将结果与上一次扫描进行比较,并高亮显示:
```
+ 10.0.0.5:8080 http Apache ← NEW
x 10.0.0.3:22 ssh OpenSSH 7.4 ← CLOSED
~ 10.0.0.1:80 nginx 1.18 -> 1.24 ← CHANGED
```
*由 [WhoIsHalim](https://github.com/WhoIsHalim) 开发*
标签:banner抓取, Docker容器, Homebrew安装, HTTP标题识别, Python, 二进制发布, 占用监测, 变更检测, 基础架构审计, 增量扫描, 多格式报告, 多模态安全, 开源工具, 异步扫描, 插件系统, 攻击面发现, 数据统计, 无后门, 服务发现, 端口扫描, 网络安全, 网络审计, 计算机取证, 资产管理, 逆向工具, 重试机制, 隐私保护