JIMIT-PARIKH-01/recon-suite
GitHub: JIMIT-PARIKH-01/recon-suite
一款纯 Python 标准库构建的轻量级侦察工具包,集成异步端口扫描、HTTP 安全头评级和被动子域名枚举,支持流水线编排并生成 Markdown 报告。
Stars: 0 | Forks: 0
# Recon Suite
[](https://github.com/JIMIT-PARIKH-01/recon-suite/actions/workflows/ci.yml)
 
一个轻量级、**无依赖**的侦察工具包,专为授权的安全测试设计 —
四合一工具,同时提供 **GUI 和 CLI**:
1. **端口扫描器** — 异步 TCP connect 扫描(常用端口或自定义范围)
2. **安全头分析器** — 为站点的 HTTP 安全头评级(防御性)
3. **子域名枚举器** — 通过 Certificate Transparency (crt.sh) 进行被动发现
4. **侦察流水线** — 将上述三者串联,生成一份 Markdown 报告
仅基于 Python 标准库构建(`asyncio`、`urllib`、`socket`、`ssl`)。

## ⚠️ 仅限授权使用
**仅**在你拥有或获得**明确书面授权**的系统上运行这些工具。
对不受你控制的系统进行端口扫描和枚举可能是违法行为。
本项目仅适用于 CTF、个人实验环境/虚拟机以及官方授权的测试任务。
## 安装与运行
仅需 **Python 3.8+** — 无需额外安装。
```
# GUI (选项卡:Port Scan / Headers / Subdomains / Full Recon)
python recon_suite/gui.py # or double-click run.bat
# CLI
python -m recon_suite portscan 127.0.0.1 --ports 1-1024 --timeout 0.5
python -m recon_suite portscan example.com --ports top
python -m recon_suite headers github.com
python -m recon_suite subs example.com
python -m recon_suite recon example.com --out report.md
```
### 命令参考
| 命令 | 功能 | 关键标志 |
|---|---|---|
| `portscan HOST` | 异步 TCP connect 扫描 | `--ports top\|1-1024\|22,80` · `--timeout` · `--concurrency` |
| `headers URL` | 安全头评级 | `--timeout` |
| `subs DOMAIN` | 被动子域名枚举 | `--no-resolve` |
| `recon DOMAIN` | 完整流水线 → 报告 | `--out FILE` · `--no-subs/--no-headers/--no-ports` |
## 工作原理
- **端口扫描:** 使用 `asyncio` 进行 TCP 连接并带有并发上限;报告开放端口及服务名称。无隐蔽或规避机制 — 这是一次纯粹的、常规的 connect 扫描。
- **安全头:** 发送一次 GET 请求,随后检查 HSTS、CSP、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy;给出 A-F 的评级,并标记出存在信息泄露风险的头(如 `Server` 等)。
- **子域名:** 查询 crt.sh 的 Certificate Transparency 日志(被动方式 — 不会向目标发送数据包),随后可选择是否解析每个域名。(crt.sh 可能会比较慢;该工具具备良好的容错降级能力。)
- **流水线:** 运行各个阶段,容忍单个阶段的失败,并最终渲染出一份清晰的 Markdown 报告。
## 项目结构
```
recon-suite/
└── recon_suite/
├── portscan.py # async TCP port scanner
├── headers.py # security-header analyzer
├── subdomains.py # passive subdomain enumeration (crt.sh)
├── pipeline.py # orchestrates the three stages
├── report.py # Markdown report
├── cli.py gui.py run.bat requirements.txt
```
## ⬇️ 下载与安装
**这是一个公开工具 — 免费下载并在你的设备上使用。**
```
# 1) Clone it
git clone https://github.com/JIMIT-PARIKH-01/recon-suite.git
cd recon-suite
# 2) ...或下载 ZIP (无需 git)
# https://github.com/JIMIT-PARIKH-01/recon-suite/archive/refs/heads/main.zip
# 3) ...或直接从 GitHub 安装命令
pip install git+https://github.com/JIMIT-PARIKH-01/recon-suite.git
```
然后按照上方用法说明中的方式运行(CLI 使用 `python -m ...`,或通过 `run.bat` 启动 GUI)。
## 许可证
MIT — 查看 [LICENSE](./LICENSE)。
🔒 请求访问私有工具
公开工具可以通过上述命令直接安装。如果工具是**私有**的,访问权限由所有者通过 GitHub 授予 — 静态链接无法解锁私有代码,只有 GitHub 可以: 1. **请求访问权限** — 打开[访问申请](https://github.com/JIMIT-PARIKH-01/JIMIT-PARIKH-01/issues/new?template=tool-access-request.md&title=Access+request:+recon-suite)或在 [LinkedIn](https://www.linkedin.com/in/jimit-devangkumar-parikh/) 上留言。 2. 所有者会进行审核,如果通过,会**将你添加为**私有仓库的**协作者**。 3. 接着 GitHub 会允许你使用自己的账号 clone / 下载该工具。一旦所有者将你移出协作者名单,访问权限即被撤销。标签:GitHub, Python, 子域名枚举, 实时处理, 异步, 插件系统, 数据统计, 无后门, 端口扫描, 系统安全, 计算机取证, 资产测绘, 逆向工具