onllytap/ZephyrusSecurity

GitHub: onllytap/ZephyrusSecurity

一款基于 Python 多线程并发和 Rich 终端 UI 的高性能网络端口扫描器,为安全审计和信息侦查提供极速扫描体验。

Stars: 0 | Forks: 0

# ⚡ ZephyrusProject (V2) - 高级端口扫描器

Python Version Security Tool Rich CLI

## 🛡️ 简介 **ZephyrusProject** 是一款高性能网络端口扫描器,其灵感来源于 *Nmap* 等行业标杆工具,但在设计时特别注重命令行界面 (CLI) 的用户体验。 该 V2 版本专为网络安全爱好者、系统管理员和渗透测试人员进行了全面重构。通过 `ThreadPoolExecutor` 充分发挥 **Multithreading**(多线程)的强大性能,并结合新一代终端界面库 **`rich`**,ZephyrusProject 提供了极速的扫描体验,并配以现代赛博朋克风格、清晰且互动的可视化渲染效果。 ## ✨ 核心功能 (V2) - **极速扫描 (Multithreading Pool)**:不同于 V1 版本中的顺序循环或繁琐的手动线程管理,ZephyrusProject 使用原生模块 `concurrent.futures.ThreadPoolExecutor` 及动态线程池(默认最多支持 50 个 worker)。请求是异步且并发执行的,从而大幅缩短了扫描时间。 - **“Rich”终端界面 (TUI)**: - **实时进度条** (`rich.progress`) 显示扫描百分比、已完成任务和预计剩余时间 (ETA),且不会在终端中产生冗余输出。 - **格式化的结果表格** (`rich.table`) 带有语法高亮功能,便于快速、专业地查看各项服务。 - **定制化的横幅和面板**,用于直观展示目标的关键数据。 - **目标地理位置定位 (OSINT)**:集成了 `geocoder` 库,能够被动解析目标 IP 所在的城市及 GPS 坐标,并将所有信息展示在专门的信息框中。 - **强大的参数解析器**:由 `argparse` 驱动并经 `rich-argparse` 强化,可完全掌控程序执行流程,提供极具视觉冲击力的 `-h` 帮助页面,并能妥善拦截语法错误(例如:无效 IP、格式错误的范围)。 - **审计报告导出**:在扫描会话结束时,提供动态的交互式提示,允许用户将审计结果导出为文本文件(格式化的日志记录)。 ## ⚙️ 前置条件与安装说明 ### 1. 获取项目 请确保您已进入项目的根目录。 ### 2. 安装依赖 此 V2 版本需要一些必要的外部库,以实现专业的图形化显示和 OSINT 功能。 ``` pip install -r requirements.txt ``` *(包含的主要依赖库:`rich`、`rich-argparse`、`pyfiglet`、`geocoder`)* ## 🚀 使用说明 首先,建议您查看帮助菜单,以欣赏全新设计的界面并熟悉相关参数标志: ``` python ZephyrusProject.py -h ``` ### 扫描模式: **1. 快速 / 标准扫描 (`-n`)** 对最关键的 20 个端口(例如:FTP 21、SSH 22、HTTP 80、HTTPS 443、RDP 3389 等)执行超快速的检测。非常适合用于初步的信息侦查。 ``` python ZephyrusProject.py scanme.nmap.org -n ``` **2. 指定范围扫描 (`-r`)** 自定义设置端口范围,以便对目标进行更深入的探测。 ``` python ZephyrusProject.py 192.168.1.1 -r 1-1000 ``` ## 🧠 底层架构深度解析 (Deep Dive Architecture) 对于偏向技术细节的用户,以下是 ZephyrusProject 的核心运行机制: ### 1. TCP Socket 分析 (Three-Way Handshake) 端口检测的核心依赖于 Python 的标准 `socket` 模块。我们会尝试与目标建立标准的 TCP 连接(`SOCK_STREAM` - IPv4 `AF_INET`)。 ``` s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) # Timeout agressif pour éviter le blocage du thread result = s.connect_ex((target, port)) ``` `connect_ex()` 函数会尝试进行异步连接,并返回一个系统错误代码 (C-style)。如果返回值为 `0`,则确认“TCP 三次握手”成功:该端口处于监听状态,即 **OPEN**。 ### 2. 并发架构 (ThreadPoolExecutor) 在传统方法中,按顺序逐一扫描 1000 个端口将耗费漫长的时间;而如果直接生成 1000 个原始的 `threading.Thread`,则会导致内存瞬间饱和。 `ThreadPoolExecutor` 完美解决了这种资源拥堵问题: ``` with ThreadPoolExecutor(max_workers=50) as executor: futures = {executor.submit(check_port_is_open, target, p): p for p in ports} for future in as_completed(futures): # L'événement est validé dès la complétion du future ``` 程序会创建一个可复用的 worker 池。一旦某个 worker 完成了对某端口超时的判定或握手过程,它就会立即处理下一个端口,从而确保 UI 进度条能够流畅地进行异步更新。 ### 3. 服务解析 当发现处于打开状态的端口时,工具会解析轻量级数据库 `portlist.csv`,以识别其关联的协议或服务(例如:`80 -> Hypertext Transfer Protocol (HTTP)`)。 ## ⚠️ 法律与道德免责声明 (Disclaimer) **注意:** 在未经明确授权的情况下,对网络、基础设施或 IP 地址进行端口扫描 可能会被视为**违法行为**,并可能被 IPS/IDS 判定为计算机入侵企图。 请**仅**出于网络安全学习的目的使用 **ZephyrusProject**,且必须在本地沙箱环境(localhost、本地虚拟机)中使用,或在此类获授权的平台上进行,例如 [scanme.nmap.org](http://scanme.nmap.org/)。对于任何恶意使用行为,作者概不负责。 ## 📚 参考资料与技术追踪 - [Python Socket 编程完全指南](https://www.datacamp.com/tutorial/a-complete-guide-to-socket-programming-in-python) - [用于终端 UI 的 `rich` API 文档](https://rich.readthedocs.io/) - [Python `concurrent.futures` 模块](https://docs.python.org/3/library/concurrent.futures.html)
标签:DNS查询工具, ESC4, OSINT, Python, 插件系统, 无后门, 端口扫描器, 网络安全, 逆向工具, 隐私保护