brutalthenua/subdomain-enumerator
GitHub: brutalthenua/subdomain-enumerator
基于 Python 的子域名被动枚举工具,通过 DNSDumpster API 实现批量域名与 CIDR 查询并导出结构化结果。
Stars: 0 | Forks: 0
# subdomain-enumerator
一个基于 Python 的子域名枚举工具,通过被动侦察技术发现子域名。
# 高级 DNSDumpster API 查询工具
一个基于 Python 的命令行工具,用于执行 DNSDumpster API 查询。它支持单个和多个域名查询、CIDR banner 查询、JSON 导出和 CSV 导出,使用官方 DNSDumpster API。
## 功能
- 单个域名查询
- 从文件查询多个域名
- 单个 CIDR banner 查询
- 从文件查询多个 CIDR banner
- 将完整的 API 响应导出为 JSON
- 将主机摘要导出为 CSV
- 从命令行或环境变量读取 API key
- 支持分页(DNSDumpster Plus)
- 支持域名映射(DNSDumpster Plus)
- 请求之间内置速率限制延迟
## 环境要求
- Python 3.8+
- requests
安装:
```
python3 -m venv venv
source venv/bin/activate
pip install requests
```
## API Key
### 选项 1
```
python3 dnsdumpster_tool.py -k YOUR_API_KEY -d example.com
```
### 选项 2(推荐)
```
export DNSDUMPSTER_API_KEY="YOUR_API_KEY"
```
然后:
```
python3 dnsdumpster_tool.py -d example.com
```
## 使用方法
### 单个域名
```
python3 dnsdumpster_tool.py -d example.com
```
### 多个域名
创建 `domains.txt`
```
example.com
google.com
github.com
```
运行:
```
python3 dnsdumpster_tool.py -D domains.txt
```
### 单个 CIDR Banner 查询
```
python3 dnsdumpster_tool.py -b 192.168.1.0/24
```
### 多个 CIDR
创建 `cidrs.txt`
```
192.168.1.0/24
10.10.10.0/24
```
运行:
```
python3 dnsdumpster_tool.py -B cidrs.txt
```
### 保存 JSON
```
python3 dnsdumpster_tool.py -d example.com -o results.json
```
### 保存 CSV
```
python3 dnsdumpster_tool.py -d example.com -c hosts.csv
```
### 同时保存
```
python3 dnsdumpster_tool.py -d example.com -o results.json -c hosts.csv
```
### 多页(Plus)
```
python3 dnsdumpster_tool.py -d example.com -p 3
```
### 包含域名映射(Plus)
```
python3 dnsdumpster_tool.py -d example.com --map
```
## 命令选项
| 选项 | 描述 |
|--------|-------------|
| `-k, --api-key` | DNSDumpster API key |
| `-d, --domain` | 单个域名查询 |
| `-D, --domain-list` | 包含域名的文件 |
| `-b, --banners` | 单个 CIDR 查询 |
| `-B, --banner-list` | 包含 CIDR 的文件 |
| `-p, --pages` | 页数(仅限 Plus) |
| `--map` | 包含域名映射(仅限 Plus) |
| `-o, --json-output` | 保存 JSON 输出 |
| `-c, --csv-output` | 保存 CSV 输出 |
## 示例输出
```
[+] Checking example.com page 1
===== SUMMARY FOR example.com =====
A | www.example.com | 93.184.216.34 | US
MX | mail.example.com | 93.184.216.35 | US
NS | ns1.example.com | 93.184.216.36 | US
```
## 示例项目结构
```
DNSDumpster-Tool/
│
├── dnsdumpster_tool.py
├── README.md
├── domains.txt
├── cidrs.txt
├── output.json
└── hosts.csv
```
## 许可证
MIT 许可证
## 免责声明
本项目仅供教育目的和授权的安全评估使用。在对您不拥有的域名或网络进行测试之前,请务必获得许可。
标签:GitHub, Python, 子域名枚举, 安全工具库, 实时处理, 无后门, 系统安全, 被动侦察, 逆向工具