liketosweep/subdomain_enumerator
GitHub: liketosweep/subdomain_enumerator
一款基于 Python 的轻量级子域名枚举工具,融合主动字典爆破与被动证书查询,帮助安全研究人员快速发现并验证目标子域名。
Stars: 0 | Forks: 0
# 子域名枚举器
一款基于 Python 构建的快速且模块化的子域名枚举工具。
它结合了主动和被动技术来发现和验证子域名。
## 🚀 功能
* 基于字典的子域名生成
* 排列组合支持(例如 dev-api.domain.com)
* 通过 crt.sh 进行被动枚举
* 多线程 DNS 解析
* 通配符 DNS 检测与过滤
* HTTP 探测(检测存活服务)
* 状态码过滤(200, 301, 302, 403)
* JSON 和纯文本输出
* 基于命令行的使用方式,支持灵活的参数标志
## ⚙️ 安装
```
git clone https://github.com/liketosweep/subdomain-enumerator.git
cd subdomain-enumerator
pip install -r requirements.txt
```
## 📌 用法
```
python main.py -d -w [options]
```
## 🔧 选项
| 参数 | 描述 |
| ----------- | ----------------------------------- |
| `-d` | 目标域名 |
| `-w` | 字典文件 |
| `-o` | 输出文件 |
| `-t` | 线程数 (默认: 100) |
| `--passive` | 启用被动枚举 |
| `--probe` | 启用 HTTP 探测 |
| `--json` | 以 JSON 格式保存输出 |
## 📊 示例
### 基础扫描
```
python main.py -d example.com -w wordlist.txt
```
### 带有被动枚举的扫描
```
python main.py -d example.com -w wordlist.txt --passive
```
### 完整扫描 (推荐)
```
python main.py -d example.com -w wordlist.txt --passive --probe --json -o output/results.json
```
## 📂 项目结构
```
subdomain-enumerator/
│
├── main.py
├── wordlist.txt
├── requirements.txt
├── README.md
└── output/
```
## 📸 输出示例
```
[+] Generating subdomains...
[+] Fetching passive subdomains from crt.sh...
[+] Found 399 passive subdomains
[+] Generated 478 subdomains
[+] No wildcard detected
[+] Resolving...
[+] www.example.com -> http://www.example.com [200]
[+] Final valid targets: 1
```
## 🧠 工作原理
1. 使用字典和排列组合生成子域名
2. 从 crt.sh 获取真实子域名 (可选)
3. 合并并去重结果
4. 过滤无效的域名
5. 使用 DNS 解析子域名
6. 过滤通配符响应
7. 探测 HTTP/HTTPS 服务 (可选)
8. 输出干净且经过验证的结果
## ⚠️ 局限性
* 被动来源有限 (仅支持 crt.sh)
* 依赖于字典的质量
* 基础的 HTTP 探测 (无深度扫描)
## 🔮 未来改进
* 添加更多被动来源
* 高级排列组合引擎
* 速率限制与重试调优
* 彩色命令行输出
* 与 httpx 等工具集成
## 📜 许可证
MIT License
标签:API安全, Bug Bounty, CLI, DNS解析, GitHub, GraphQL安全矩阵, HTTP探测, JSON输出, Python, Recon, WiFi技术, Windows内核, 可自定义解析器, 域名系统, 子域名枚举, 子域名爆破, 字典爆破, 存活验证, 安全扫描器, 开源项目, 排列组合, 攻击面挖掘, 数字取证, 无后门, 泛解析检测, 状态码过滤, 白帽子, 目标侦察, 系统安全, 网络入侵检测, 网络安全, 自动化脚本, 证书透明度, 资产梳理, 逆向工具, 隐私保护, 黑盒测试