jarvishubai/recon-toolkit
GitHub: jarvishubai/recon-toolkit
一款模块化OSINT侦察工具包,集成子域名枚举、邮箱收集、技术栈检测和端口扫描功能,支持一键生成JSON和Markdown格式侦察报告。
Stars: 0 | Forks: 0
# recon-toolkit
[](https://www.python.org/downloads/)
[](LICENSE)
[](https://github.com/psf/black)
一款模块化的 OSINT 侦察工具包,支持被动子域名枚举、邮箱收集、技术栈检测和端口扫描 — 全部通过命令行完成。

## 功能特性
- **子域名枚举** — 通过证书透明度日志、HackerTarget 和 AlienVault OTX 发现子域名
- **邮箱收集** — 从域名自身页面及公共搜索引擎抓取邮箱地址
- **技术栈检测** — 通过 HTTP 头和 HTML 指纹识别 Web 服务器、框架、CMS 平台、CDN 和分析工具
- **端口扫描** — 快速、异步 TCP 端口扫描器,支持服务名称识别
- **报告生成** — 一键运行所有模块并输出整洁的 JSON + Markdown 报告
## 安装说明
### 从源码安装(推荐)
```
git clone https://github.com/jarvishubai/recon-toolkit.git
cd recon-toolkit
pip install -e .
```
### 包含开发依赖
```
pip install -e ".[dev]"
```
## 快速开始
```
# 枚举子域名
recon-toolkit subdomains example.com
# 收集邮箱
recon-toolkit emails example.com
# 检测 tech stack
recon-toolkit techstack example.com
# 扫描端口
recon-toolkit portscan example.com -p 80,443,8080
# 完整报告(所有模块)
recon-toolkit report example.com
```
## 使用说明
### 子域名枚举
```
recon-toolkit subdomains [-o output.txt]
```
查询被动数据源(crt.sh、HackerTarget、AlienVault OTX)以发现子域名。
```
$ recon-toolkit subdomains example.com
Found 12 subdomain(s):
• api.example.com
• blog.example.com
• mail.example.com
• www.example.com
...
```
### 邮箱收集
```
recon-toolkit emails [-o output.txt]
```
抓取域名自身页面(`/`、`/contact`、`/about` 等)及搜索引擎结果。
```
$ recon-toolkit emails example.com
Found 3 email(s):
• info@example.com
• support@example.com
• admin@example.com
```
### 技术栈检测
```
recon-toolkit techstack [-o output.json]
```
通过 HTTP 响应头、HTML meta 标签和 JavaScript 指纹识别技术。
```
$ recon-toolkit techstack example.com
Detected technologies:
Web Server
• Nginx
CDN / Proxy
• Cloudflare
JavaScript Framework
• React
Analytics
• Google Analytics
```
### 端口扫描
```
recon-toolkit portscan [-p PORTS] [-t TIMEOUT] [-o output.txt]
```
异步 TCP 端口扫描器。支持范围(`1-1024`)、逗号分隔(`80,443`)或两者结合。
```
$ recon-toolkit portscan example.com -p 1-1024
Scanning 1024 port(s) on example.com...
Open ports:
• 80 (HTTP)
• 443 (HTTPS)
```
### 完整报告
```
recon-toolkit report [-o OUTPUT_DIR] [--skip-ports]
```
运行所有模块并在输出目录中生成 JSON + Markdown 报告。
```
$ recon-toolkit report example.com
Running full recon on example.com...
→ Enumerating subdomains...
Found 12 subdomain(s)
→ Harvesting emails...
Found 3 email(s)
→ Detecting tech stack...
Detected 5 technolog(ies)
→ Scanning common ports...
Found 2 open port(s)
Report saved to ./reports/example.com_20260228_120000.md
```

## 项目结构
```
recon_toolkit/
├── __init__.py # Package version
├── cli.py # Click CLI entry point
├── modules/
│ ├── subdomains.py # Subdomain enumeration
│ ├── emails.py # Email harvesting
│ ├── techstack.py # Technology detection
│ ├── portscan.py # Async port scanner
│ └── report.py # Report generation
└── utils/
└── http.py # Shared async HTTP client
```
## 运行测试
```
pip install -e ".[dev]"
pytest
```
## 法律免责声明
本工具仅设计用于**授权的安全测试**和**教育目的**。在对非您所有的目标进行扫描或枚举之前,请务必获取适当的授权。作者不对本工具的滥用行为负责。
## 许可证
[MIT](LICENSE) — 详见 [LICENSE](LICENSE) 文件。
## 作者
- GitHub: [@jarvishubai](https://github.com/jarvishubai)
- Twitter: [@jarvis_hub](https://twitter.com/jarvis_hub)
标签:C2日志可视化, ESC4, GitHub, Kali工具, OSINT, Python, 侦查工具包, 加密文件系统, 子域名枚举, 实时处理, 密码管理, 技术栈检测, 指纹识别, 数据展示, 数据统计, 无后门, 漏洞分析, 端口扫描, 系统安全, 红队, 网络安全, 自动化报告, 路径探测, 逆向工具, 邮箱收集, 隐私保护