bioonahnuu-design/recon-tool

GitHub: bioonahnuu-design/recon-tool

一个基于 Python 标准库的轻量级被动域名侦察 CLI 工具,用于收集域名的 IP、WHOIS 和 DNS 信息。

Stars: 0 | Forks: 0

# Recon 工具 ![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?logo=python&logoColor=white) ![License](https://img.shields.io/badge/License-MIT-green) ![Type](https://img.shields.io/badge/Type-Passive%20Reconnaissance-00b4d8) 一个用于被动域名侦察的轻量级 Python CLI。Recon Tool 验证域名,解析其 IPv4/IPv6 地址,收集 WHOIS 和 DNS 信息,并可以将结果导出为 JSON。 ## 演示 ![Recon Tool 终端演示](https://static.pigsec.cn/wp-content/uploads/repos/cas/1b/1b0f8bea6ada1ba478aa8acbc1469c12b5dc7cf58f468482c5ae7295af8ae42f.svg) 截图使用了确定性的 `--demo` 数据。演示模式不会执行任何网络请求。 ## 功能 - 域名和 URL 标准化及严格验证 - 使用 Python 标准库进行 IPv4 和 IPv6 解析 - WHOIS 注册信息查询 - 通过 `nslookup` 进行 DNS 查询 - 无 shell 的安全子进程执行 - 超时和缺失依赖处理 - 可选的 JSON 报告导出 - 用于文档的离线演示模式 - 核心行为的自动化测试 - 无需第三方 Python 依赖 ## 项目结构 ``` recon-tool/ ├── docs/ │ └── demo.svg ├── modules/ │ ├── __init__.py │ └── recon.py ├── tests/ │ └── test_recon.py ├── .gitignore ├── LICENSE ├── main.py ├── recon.py ├── requirements.txt └── README.md ``` ## 环境要求 - Python 3.9+ - 用于获取注册信息的 `whois` - 用于获取 DNS 信息的 `nslookup` Python 应用程序本身仅使用标准库。 ### Ubuntu/Debian ``` sudo apt update sudo apt install whois dnsutils ``` ### macOS ``` brew install whois bind ``` 在 Windows 上,`nslookup` 默认通常可用。WHOIS 可以通过 WSL 或单独安装的客户端来使用。 ## 安装 ``` git clone https://github.com/bioonahnuu-design/recon-tool.git cd recon-tool python main.py --help ``` ## 使用说明 针对某个域名运行: ``` python main.py example.com ``` URL 会自动进行标准化: ``` python main.py https://example.com/path ``` 将结果保存为 JSON: ``` python main.py example.com --json reports/example.json ``` 运行离线演示: ``` python main.py --demo ``` ## 测试 ``` python -m unittest discover -s tests -v ``` ## 工作原理 1. 输入被标准化为主机名并进行验证。 2. `socket.getaddrinfo()` 解析唯一的 IPv4 和 IPv6 地址。 3. 已安装的 `whois` 和 `nslookup` 程序收集被动的公开信息。 4. 结果将打印到终端,并可选地写入 JSON。 ## 限制 - WHOIS 数据可能被修订、受到速率限制或不可用。 - DNS 结果取决于当前的解析器和网络。 - 必须安装相应的系统实用程序才能显示相关部分的内容。 - 该工具不扫描端口、不利用目标漏洞,也不枚举子域名。 ## 路线图 - 原生 DNS 记录解析 - 可选的侦察模块 - 带时间戳的报告目录 - CSV 导出 - 扩展的单元测试覆盖率 ## 伦理使用 仅将此工具用于学习、防御性安全以及您拥有或获得明确授权进行评估的系统。您有责任遵守适用的法律、政策和服务条款。 ## 作者 **Nahnu Rohmania** — 信息工程系学生,网络安全爱好者。 [GitHub](https://github.com/bioonahnuu-design) ## 许可证 基于 [MIT 许可证](LICENSE) 发布。
标签:CDN识别, DNS查询, GitHub, Python, UDP扫描, 域名侦察, 安全工具库, 实时处理, 无后门, 被动侦察, 逆向工具