diouri11/ReconXI

GitHub: diouri11/ReconXI

ReconXI 是一个基于 Python asyncio 的高并发端口扫描框架,解决渗透测试与 Bug Bounty 场景下快速端口发现、服务 banner 识别及多格式报告导出的需求。

Stars: 0 | Forks: 0

# ReconXI — 专业端口扫描器框架 ReconXI 是一个使用 Python 编写的快速、模块化且异步的端口扫描器。它旨在执行并发端口扫描、支持协议感知的 banner grabbing,并能以多种格式清晰地导出扫描结果。 ## 特性 - **极速扫描:** 使用 Python 的 `asyncio` 实现非阻塞的并发连接。 - **协议感知的 Banner Grabbing:** 专门针对 HTTP、SSH、FTP、SMTP、POP3 和 IMAP 进行握手,以提取准确的服务版本 banner。 - **精选端口数据库:** 使用预定义的列表(前 22、前 100、前 1000 或全部 65,535 个端口)快速扫描最常用的端口。 - **精美的 UI:** 由 `rich` 库提供支持,提供带有实时进度条的简洁、现代的终端界面。 - **稳健的导出功能:** 将扫描结果直接导出为 JSON、CSV、HTML 和 PDF 格式,以便生成报告。 ## 安装说明 请确保已安装 Python 3.10+。 1. 导航至项目目录: cd reconXI 2. 安装所需的依赖项(用于 UI 的 `rich`,用于导出 PDF 的 `fpdf2`): pip install -r requirements.txt ## 用法 ReconXI 是作为一个 Python 模块构建的。你可以使用 `python -m reconxi scan` 加上你的目标(域名或 IP 地址)来运行它。 ### 基础扫描 扫描前 22 个最常用的端口(默认行为): ``` python -m reconxi scan scanme.nmap.org ``` ### 扫描模式 你可以指定不同的端口范围进行扫描: - **前 100 个端口:** python -m reconxi scan scanme.nmap.org --top100 - **前 1000 个端口:** python -m reconxi scan scanme.nmap.org --top1000 - **全部 65,535 个端口(警告:速度慢且动静大):** python -m reconxi scan scanme.nmap.org --all - **自定义端口:** python -m reconxi scan scanme.nmap.org --ports 22,80,443,8000-8080 ### 高级选项 你可以配置超时时间和 worker 线程,以在网络连接缓慢时获得更好的性能: ``` python -m reconxi scan scanme.nmap.org --timeout 3.0 --workers 200 ``` ### 导出结果 ReconXI 允许你将结果同时导出为多种格式。默认情况下,它会根据时间戳自动生成文件名,但你也可以提供自定义的保存路径。 ``` # 自动生成 filenames python -m reconxi scan scanme.nmap.org --json --csv --html --pdf # 指定自定义 filenames python -m reconxi scan scanme.nmap.org --json report.json --html /path/to/report.html ``` ## 项目结构 - `reconxi/cli.py`:命令行界面入口点。 - `reconxi/core/scanner.py`:驱动并发端口连接的 `asyncio` 引擎。 - `reconxi/banners/grabbers.py`:用于安全提取服务 banner 的特定协议逻辑。 - `reconxi/data/ports.py`:预定义的常用端口及其关联服务名称的字典。 - `reconxi/export/exporters.py`:用于格式化和写入 JSON、CSV、HTML 和 PDF 报告的逻辑。 - `reconxi/utils/logger.py`:内部日志记录配置。
标签:Python, 密码管理, 插件系统, 数据统计, 无后门, 端口扫描, 计算机取证, 逆向工具