Krish-Patwa01/ReconHawk

GitHub: Krish-Patwa01/ReconHawk

ReconHawk 是一款无需 API key 的域名 OSINT 与侦察工具,通过交互式菜单一站式完成 WHOIS、DNS、子域名枚举、SSL、端口扫描与技术栈指纹识别等信息收集任务。

Stars: 2 | Forks: 0

ReconHawk — Domain OSINT & Reconnaissance Toolkit

*通过一个交互式菜单全面剖析任何域名 —— 涵盖 WHOIS、DNS、子域名、SSL、技术栈等。* **100% 免费 · 无需 API key。**
![Python](https://img.shields.io/badge/Python-3.8+-3776AB?style=for-the-badge&logo=python&logoColor=white) ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-4EAA25?style=for-the-badge) ![License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge) ![No API Key](https://img.shields.io/badge/API%20Key-Not%20Required-brightgreen?style=for-the-badge)
[![Stars](https://img.shields.io/github/stars/Krish-Patwa01/ReconHawk?style=social)](https://github.com/Krish-Patwa01/ReconHawk/stargazers) [![Forks](https://img.shields.io/github/forks/Krish-Patwa01/ReconHawk?style=social)](https://github.com/Krish-Patwa01/ReconHawk/network/members)
## 📖 目录 - [✨ 功能](#-features) - [🎬 输出示例](#-sample-output) - [🔍 工作原理](#-how-it-works) - [🚀 安装说明](#-installation) - [🧭 使用指南](#-usage) - [📦 模块详情](#-module-details) - [💾 输出与报告](#-output--reporting) - [🛠️ 技术栈](#️-tech-stack) - [👤 作者](#-author) ## ✨ 功能 从菜单中选择一个数字,或按下 **`[11]`** 一次性运行所有模块。 🔥 | # | 模块 | 功能描述 | |:-:|--------|--------------| | 1️⃣ | **WHOIS 查询** | 注册商、IANA ID、滥用联系方式、注册人详情、状态、DNSSEC、日期 | | 2️⃣ | **DNS 记录** | A, AAAA, CNAME, MX, NS, SOA, TXT, SRV, CAA, DS, DNSKEY + PTR (反向) | | 3️⃣ | **子域名枚举** | 合并 **4 个来源** (crt.sh, HackerTarget, CertSpotter, OTX) — 如果其中一个不可用,其他来源仍可正常工作 | | 4️⃣ | **SSL / TLS 证书** | 颁发者、有效期、剩余天数、SANs、TLS 版本 | | 5️⃣ | **HTTP 安全标头** | 审计 HSTS、CSP、X-Frame-Options 等 | | 6️⃣ | **IP 地理定位** | 国家、城市、ISP、ASN、反向 DNS | | 7️⃣ | **端口扫描** | 多线程扫描 20 个常用端口 | | 8️⃣ | **Wayback Machine** | 来自 archive.org 的最新快照及总抓取次数 | | 9️⃣ | **robots.txt / sitemap** | 禁止访问的路径及已列出的 sitemap | | 🔟 | **技术分析器** | 类似 Wappalyzer 的指纹识别:CMS、JS 框架、服务器、CDN、分析工具及版本 |
**`[S]`** 保存为 JSON  ·  **`[T]`** 更改目标  ·  **`[0]`** 退出
## 🎬 输出示例 ``` ____ _ _ _ | _ \ ___ ___ ___ _ __ | | | | __ ___ _| | __ | |_) / _ \/ __/ _ \| '_ \ | |_| |/ _` \ \ /\ / / |/ / | _ < __/ (_| (_) | | | || _ | (_| |\ V V /| < |_| \_\___|\___\___/|_| |_||_| |_|\__,_| \_/\_/ |_|\_\ All-in-One Domain OSINT & Reconnaissance Toolkit - no API key needed ==[ Subdomain Enumeration ]========================= + crt.sh: 43 found + HackerTarget: 38 found + CertSpotter: 35 found --- 44 unique subdomains --- - sub: mail.example.com - sub: blog.example.com ==[ Technology Profiler ]=========================== + Meta generator: WordPress 7.1 --- Web server --- + Nginx --- Analytics --- + Google Tag Manager ``` ## 🔍 工作原理 ``` flowchart LR A([Enter domain]) --> B{Interactive Menu} B -->|1| C[WHOIS] B -->|2| D[DNS Records] B -->|3| E[Subdomains] B -->|4-9| F[SSL / Headers / GeoIP / Ports / Wayback / robots] B -->|10| G[Tech Profiler] B -->|11| H[Run ALL] C & D & E & F & G & H --> I[(Public Sources
no API key)] I --> J[Colored Terminal Output] J -->|press S| K[JSON Report] ``` 每个模块仅查询**公开、免费的来源** — 证书透明度日志、公开的 WHOIS/DNS、archive.org 以及目标自身的 HTTP 响应。没有任何侵入性操作,也没有任何付费门槛。 ## 🚀 安装说明 ``` # 1. Clone git clone https://github.com/Krish-Patwa01/ReconHawk.git cd ReconHawk # 2. 安装 dependencies pip install -r requirements.txt # 3. 运行 python reconhawk.py ``` ## 🧭 使用指南 ``` python reconhawk.py # asks for the target, then shows the menu python reconhawk.py example.com # pre-fills the target ``` 然后只需输入数字并按回车键即可。就这么简单。 🎯 ## 📦 模块详情
1 · WHOIS 查询
拉取完整的注册记录:注册商 + IANA ID、滥用联系邮箱/电话、注册人姓名和地址、域名状态码、DNSSEC 状态以及创建 / 更新 / 过期日期。结合结构化的 `python-whois` 字段与原始文本解析,以提取该库遗漏的详细信息。
2 · DNS 记录
解析 **11 种记录类型** — `A`, `AAAA`, `CNAME`, `MX`, `NS`, `SOA`, `TXT`, `SRV`, `CAA`, `DS`, `DNSKEY` — 外加对每个已解析 IP 的 **PTR 反向查询**(同时适用于 IPv4 和 IPv6)。
3 · 子域名枚举
并行查询 **4 个免费来源**,并对结果进行合并和去重: - 🔹 **crt.sh** — 证书透明度日志(自动重试) - 🔹 **HackerTarget** — hostsearch API - 🔹 **CertSpotter** — 证书颁发记录 - 🔹 **AlienVault OTX** — 被动 DNS 如果其中一个来源缓慢、不可用或受到速率限制,其他来源仍会提供结果。
4 · SSL / TLS 证书
通过 TLS 进行连接,并报告主题 CN、颁发者、协商的 TLS 版本、有效期窗口、**剩余天数**(带警告)以及所有主题可选名称 (SANs)。
5 · HTTP 安全标头
检查六个关键的安全标头 — **HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy** — 并标记出缺失的项。同时提取 `Server` 和 `X-Powered-By`。
6-10 · GeoIP · 端口 · Wayback · robots · 技术分析器
- **IP 地理定位** — 国家、城市、ISP、ASN、反向 DNS(通过免费的 `ip-api.com`) - **端口扫描** — 多线程扫描 20 个常用端口(FTP, SSH, HTTP, MySQL, RDP 等) - **Wayback Machine** — 最新快照 + 历史总抓取次数 - **robots.txt / sitemap** — 禁止访问的路径和已发现的 sitemap - **技术分析器** — 涵盖 CMS、JS 框架、UI 库、Web 服务器、后端语言、CDN/托管和分析工具的约 50 种指纹识别 — 尽可能进行版本检测
## 💾 输出与报告 所有结果都会以简洁、**淡色** 布局打印到终端(绿色 ✓,青色信息,黄色警告,红色错误 — 数据保持纯文本以保证可读性)。 随时按下 **`S`** 键,即可将目前收集到的所有信息保存到带时间戳的 JSON 文件中: ``` reconhawk_example.com_20260718_005131.json ``` 非常适合用于生成报告、进行时间差异对比,或作为输入提供给其他工具。 📊 ## 🛠️ 技术栈
![Python](https://img.shields.io/badge/Python-3776AB?style=flat-square&logo=python&logoColor=white) ![Requests](https://img.shields.io/badge/requests-2C3E50?style=flat-square) ![dnspython](https://img.shields.io/badge/dnspython-306998?style=flat-square) ![python--whois](https://img.shields.io/badge/python--whois-4B8BBE?style=flat-square)
使用 Python 标准库(`socket`, `ssl`, `concurrent.futures`)外加三个轻量级依赖项构建:**requests**、**dnspython** 和 **python-whois**。 ## 🏷️ 建议的 GitHub Topics ``` osint · reconnaissance · recon · cybersecurity · pentesting · whois · dns subdomain-enumeration · information-gathering · security-tools · wappalyzer · python ``` ## 👤 作者
**Krishna Patwa** [![GitHub](https://img.shields.io/badge/GitHub-Krish--Patwa01-181717?style=for-the-badge&logo=github)](https://github.com/Krish-Patwa01/) [![LinkedIn](https://img.shields.io/badge/LinkedIn-krishna--patwa-0A66C2?style=for-the-badge&logo=linkedin)](https://www.linkedin.com/in/krishna-patwa/)
### ⭐ 如果 ReconHawk 对您有帮助,请点个 star — 这对我意义重大! 由 Krishna Patwa 使用 🦅 制作 · 仅用于教育和授权的安全测试
标签:ESC4, GitHub, OSINT, Python, 子域名枚举, 字符串匹配, 实时处理, 无后门, 系统安全, 逆向工具