X3roxDev/domain_intelligence_tool
GitHub: X3roxDev/domain_intelligence_tool
一款用于授权 OSINT 和防御性安全研究的 Python3 域名情报 CLI,整合 WHOIS、DNS、邮件安全、ASN、GeoIP 和 TLS 证书等多维度信息并生成风险摘要。
Stars: 0 | Forks: 0
# 域名情报工具
一款用于被动 OSINT、网络安全研究、域名调查和防御性安全分析的 Python3 工具。
该工具会收集 WHOIS、DNS、MX、SPF、DMARC、ASN、大致的 GeoIP 以及 TLS 证书信息,随后生成防御性风险摘要并提供可选的导出功能。
## 截图

```
▓█████▄ ▒█████ ███▄ ▄███▓ ▄▄▄ ██▓ ███▄ █ ...
Domain Intelligence Tool
Target: example.com
Started: 2026-07-27 14:30:00
[1/8] WHOIS Intelligence
[2/8] DNS Records
[3/8] MX Intelligence
[4/8] SPF Analysis
[5/8] DMARC Analysis
[6/8] ASN Intelligence
[7/8] GeoIP Intelligence
[8/8] TLS Certificate
Risk Summary
Export Results
```
## 功能特性
- 域名和 URL 规范化,支持 IDNA/Punycode
- 提取 WHOIS 注册商、日期、nameserver、DNSSEC 和滥用联系方式
- 收集 A、AAAA、CNAME、NS、SOA、MX、TXT、CAA 和 DNSKEY 等多种类型的 DNS 记录
- MX 记录解析与托管邮件提供商估算
- 解析 SPF 并提供策略及 DNS 查找警告
- 解析 DMARC 并进行策略、报告、对齐和百分比检查
- 通过公共 RDAP 数据获取 ASN 情报
- 获取公共 IP 地址的大致 GeoIP 信息
- 进行 TLS 证书和 HTTPS endpoint 分析(包含主机名验证)
- 支持 Rich 终端表格、面板、进度提示以及无颜色模式
- 支持 JSON、TXT 和对 Excel 友好的 CSV 导出
- 在本地记录日志到 `logs/domain_intelligence.log`
## 在 Windows 上安装
```
git clone https://github.com/USERNAME/domain-intelligence-tool.git
cd domain-intelligence-tool
python -m venv venv
venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txt
python domain_intelligence.py example.com
```
如果 Windows 弹出 Microsoft Store 而不是启动 Python,请从 python.org 安装 Python,并在设置过程中启用“Add python.exe to PATH”。
## 用法
交互模式:
```
python domain_intelligence.py
```
命令行模式:
```
python domain_intelligence.py example.com
python domain_intelligence.py https://example.com/page --full
python domain_intelligence.py example.com --dns
python domain_intelligence.py example.com --dns --srv
python domain_intelligence.py example.com --tls
python domain_intelligence.py example.com --tls-port 8443
python domain_intelligence.py example.com --export-json
python domain_intelligence.py example.com --export-txt
python domain_intelligence.py example.com --export-csv
python domain_intelligence.py example.com --export-json --export-txt --export-csv --output results
```
## CLI 参数
```
domain Domain or URL to investigate
--full Run all intelligence modules
--whois Run WHOIS analysis
--dns Run DNS analysis
--mx Run MX analysis
--spf Run SPF analysis
--dmarc Run DMARC analysis
--asn Run ASN analysis
--geoip Run GeoIP analysis
--tls Run TLS analysis
--tls-port PORT Custom TLS port
--srv Include SRV records during DNS analysis
--dns-server SERVER Custom DNS resolver
--timeout SECONDS Network timeout
--export-json Export results to JSON
--export-txt Export results to TXT
--export-csv Export suitable records to CSV
--output DIRECTORY Export directory
--no-color Disable terminal colors
--verbose Display detailed errors
--version Display program version
--help Display help
```
如果未选择任何模块标志,默认会运行所有模块。
## 导出格式
导出的文件会写入按域名划分的经过安全处理的文件夹中:
```
results/
└── example.com/
├── report.json
├── report.txt
├── dns_records.csv
├── ip_intelligence.csv
└── tls_certificate.txt
```
JSON 包含适合自动化的结构化数据。TXT 易于人工阅读。CSV 文件使用带 BOM 的 UTF-8 编码,以便 Microsoft Excel 能正确识别编码。
## 项目结构
```
domain-intelligence-tool/
├── domain_intelligence.py
├── requirements.txt
├── README.md
├── LICENSE
├── .gitignore
├── .env.example
└── modules/
├── __init__.py
├── validators.py
├── whois_lookup.py
├── dns_lookup.py
├── mail_security.py
├── ip_intelligence.py
├── tls_analyzer.py
├── risk_analyzer.py
└── exporters.py
```
## 模块说明
- `validators.py`:从域名或 URL 中提取主机名,移除端口和路径,安全地进行验证,并将国际化域名转换为 IDNA。
- `whois_lookup.py`:处理多变的 WHOIS 返回格式以及隐私或不可用的记录。
- `mail_security.py`:分析 MX 解析、SPF 策略和 DMARC 策略。
- `ip_intelligence.py`:仅为公共 IP 收集 ASN 和大致的 GeoIP 数据。
- `tls_analyzer.py`:执行已验证的 TLS socket 连接并总结证书元数据。
- `risk_analyzer.py`:创建包含 INFO、LOW、MEDIUM、HIGH 和 CRITICAL 严重级别的防御性配置发现。
- `exporters.py`:写入 JSON、TXT、DNS CSV、IP CSV 和 TLS 文本导出文件。
## API 与速率限制说明
默认的 ASN 收集器通过 `ipwhois` 使用公共 RDAP。GeoIP 使用免费的 `ip-api.com` endpoint,该服务可能会对请求进行速率限制。该工具采用了超时机制,会跳过非公共 IP 地址,避免重复的 IP 请求,并在远程服务失败时继续运行。
未来可选的 API 密钥可以从 `.env` 加载,但内置的基础功能不需要任何 API 密钥,也没有硬编码任何密钥。
## 故障排除
- `ModuleNotFoundError`:请激活您的虚拟环境并运行 `pip install -r requirements.txt`。
- WHOIS 不可用:某些注册中心会限制请求频率或出于隐私隐藏部分字段。
- DNS 超时:尝试使用 `--dns-server 1.1.1.1` 或增加超时时间 `--timeout 10`。
- GeoIP 错误:公共服务可能受到了速率限制或暂时不可用。
- TLS 失败:目标主机可能在所选端口上不支持 HTTPS,或者证书验证失败。
- 在命令提示符中出现 Unicode 显示问题:请使用 Windows Terminal 或加上 `--no-color` 运行。
## 合理使用
仅在您拥有、已获得授权评估,或出于合法的防御、教育或研究目的调查的域名上使用此工具。本工具不执行漏洞利用、密码攻击、接管检查、暴力枚举、身份验证绕过或恶意流量生成。
标签:ESC4, GitHub, OSINT, Python, 域名情报, 实时处理, 无后门, 防御性安全