Andrey-Soares8/DNS-Scanner-Pro

GitHub: Andrey-Soares8/DNS-Scanner-Pro

一款基于 Python Tkinter 的图形化 DNS 子域名枚举工具,通过 wordlist 和多线程并发解析帮助用户在授权范围内高效发现子域名及 DNS 记录。

Stars: 0 | Forks: 0

# DNS Scanner Pro 使用 Python 开发的图形化工具,通过使用 wordlists 进行 DNS 解析来实现**授权的子域名枚举**。 ## 目标 创建此项目旨在实践侦察、DNS、Python 自动化、图形用户界面以及并发任务执行等相关概念。 ## 功能 - 使用 Tkinter 构建的图形用户界面 - 基于 wordlist 的子域名枚举 - 解析 `A`、`AAAA` 和 `CNAME` 记录 - 使用 `ThreadPoolExecutor` 进行并发执行 - 使用 `queue.Queue` 和 `root.after()` 实现 GUI 的安全更新 - 对输入的域名进行验证和标准化处理 - Wordlist 清理:移除注释、重复项和无效条目 - 提供取消正在进行的扫描的按钮 - 将结果导出为 `.csv` 或 `.txt` - 在 `dns_scanner.log` 中记录日志 ## 应用的技术与概念 - Python 3 - Tkinter - DNS resolution - Subdomain enumeration - Threading - Queue-based GUI updates - 输入验证 - 导出 CSV - Logging ## 安装说明 ``` git clone https://github.com/Andrey-Soares8/DNS-Scanner-Pro.git cd DNS-Scanner-Pro python -m venv venv ``` 在 Windows 上: ``` venv\Scripts\activate pip install -r requirements.txt ``` 在 Linux/macOS 上: ``` source venv/bin/activate pip install -r requirements.txt ``` ## 使用说明 ``` python app.py ``` 在界面中: 1. 输入目标域名,例如 `example.com`。 2. 选择一个 `.txt` 格式的 wordlist。 3. 确认您已获得测试该域名的授权。 4. 点击 **Iniciar scan**。 5. 如有需要,导出结果。 ## Wordlist 格式 每行一个条目: ``` www mail api admin staging ``` 注释将被忽略: ``` # 通用环境 admin portal ``` ## 架构 该项目将核心逻辑与图形用户界面分离开来: ``` scanner_core.py # validação, wordlist, resolução DNS e modelos de dados app.py # interface Tkinter e controle do scan ``` 这种分离有助于测试、维护以及未来的改进。 ## 限制 - 该工具不执行激进的 brute force,也不绕过控制机制。 - 结果取决于公共 DNS 解析。 - 将无法找到受私有 DNS 保护的内部记录。 - 即使使用了多线程,过大的 Wordlist 可能仍会耗费较长时间。 ## 未来改进 - 支持导入多个 Wordlist - 通过 wildcard DNS 实现高级去重 - HTML 报告 - 除了 GUI 外增加 CLI 模式 - 增加更多的单元测试 - 使用 PyInstaller 打包 ## 道德使用 本项目出于教育和防御目的。未经许可,请勿用于测试第三方域名。
标签:DNS解析, GUI, Python, 子域名枚举, 并发编程, 开源项目, 无后门, 系统安全