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 证书信息,随后生成防御性风险摘要并提供可选的导出功能。 ## 截图 ![域名情报工具仪表板预览](https://raw.githubusercontent.com/X3roxDev/domain_intelligence_tool/main/assets/dashboard-preview.png) ``` ▓█████▄ ▒█████ ███▄ ▄███▓ ▄▄▄ ██▓ ███▄ █ ... 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, 域名情报, 实时处理, 无后门, 防御性安全