Persfone/web-port-scaner

GitHub: Persfone/web-port-scaner

基于Flask和React的Web端口扫描器,通过浏览器界面降低网络安全扫描的使用门槛,当前已实现多线程TCP端口扫描并规划了完整的漏洞检测演进路线。

Stars: 0 | Forks: 0

# web-port-scaner ### 具备 Web 界面的底层网络与漏洞扫描器 ## 概述 **web-port-scaner** 是一款网络和漏洞扫描工具,旨在将类似 Nmap 的底层扫描器功能与现代 Web 界面的易用性相结合。 该项目的目标是创建一款任何用户(甚至是不具备命令行知识的用户)都能轻松使用的工具,允许他们通过 Web 浏览器执行端口扫描、服务分析以及基础的漏洞检测。 该工具采用多阶段开发设计,逐步从基础的端口扫描器演进为具备模块化架构的完整漏洞扫描器。 ## 理念 该项目基于以下三大支柱: * 底层网络 (TCP, UDP, SYN, raw sockets) * 高层可访问性 (Web 界面) * 模块化漏洞分析 其核心思想是实现网络扫描的普及化(democratize),让任何人都能使用高级工具,而无需在终端中操作。 ## 架构愿景 ``` User (Web Browser) | v React Frontend | v Flask API | v Scanner Core (Python/C hybrid) | v Network Engine (TCP / UDP / SYN / Raw Sockets) | v Vulnerability Engine | v Reports & Dashboard ``` # 开发阶段 # 阶段 1 — 基础端口扫描器 ## 目标 构建一个可通过 Web 访问的功能性 TCP 端口扫描器。 ## 功能特性 * TCP connect 扫描 * 域名/IP 输入 * 多线程 * JSON API * React 前端 * 开放端口可视化 * 超时处理 * DNS 解析 ## 技术栈 * Python * Flask * React * Socket * ThreadPoolExecutor ## 输出 ``` Target: open.spotify.com IP: 151.101.219.42 Open Ports 80 TCP 443 TCP ``` ## 状态 已完成 # 阶段 2 — 协议支持 ## 目标 添加完整的协议支持。 ## 功能特性 * TCP 扫描 * UDP 扫描 * 端口状态 * open (开放) * closed (关闭) * filtered (被过滤) * error (错误) * 协议检测 * 自定义端口范围 ## 输出 ``` 80 TCP open 443 TCP open 53 UDP filtered 22 TCP closed ``` ## 改进 * 更快的扫描速度 * 更高的准确性 * 协议区分 # 阶段 3 — Banner 抓取 ## 目标 检测开放端口上运行的服务。 ## 功能特性 * HTTP headers * SSH banner * FTP banner * SMTP banner * 服务检测 * 版本检测 ## 输出 ``` 80 TCP open Apache 443 TCP open nginx 22 TCP open OpenSSH 8.2 21 TCP open FTP ``` ## 价值 有助于识别存在漏洞的软件。 # 阶段 4 — SYN 扫描 (底层) ## 目标 使用 raw sockets 实现 SYN 扫描。 ## 功能特性 * TCP SYN 扫描 * 数据包伪造 * Raw sockets * 隐蔽扫描 * 更快的扫描 * Linux 网络 ## 要求 * Linux * Root 权限 * cap_net_raw ## 输出 ``` 80 TCP open (SYN) 443 TCP open (SYN) 22 TCP filtered ``` ## 价值 达到专业级的扫描水平。 # 阶段 5 — Web 扫描器 ## 目标 扫描 Web 应用程序。 ## 功能特性 * 目录模糊测试 * HTTP 分析 * Headers 安全检测 * XSS 检测 * SQL 注入测试 * CMS 检测 ## 输出 ``` /admin found /login found XSS possible SQL injection possible Missing CSP header ``` # 阶段 6 — 漏洞引擎 ## 目标 构建漏洞检测引擎。 ## 功能特性 * 基于服务的规则 * 基于端口的分析 * CVE 映射 * 风险评分 * 指纹识别 * 操作系统 (OS) 检测 * CMS 检测 ## 输出 ``` Apache 2.4 -> outdated OpenSSH -> secure FTP -> anonymous login possible Risk Score: Medium ``` # 阶段 7 — 报告系统 ## 目标 生成专业的报告。 ## 功能特性 * JSON 报告 * HTML 报告 * PDF 报告 * 扫描摘要 * 风险等级 * 端口摘要 * 漏洞摘要 ## 输出 ``` scan_report.html scan_report.json scan_report.pdf ``` # 阶段 8 — 威胁情报 ## 目标 与威胁情报进行集成。 ## 功能特性 * 黑名单 IP 检查 * IOC feeds * 已知恶意主机 * 信誉系统 ## 输出 ``` Target flagged in blacklist Risk: High ``` # 阶段 9 — CLI + Web 混合模式 ## 目标 双重使用。 ## CLI ``` vulnscanner scan google.com ``` ## Web ``` http://localhost:3000 ``` ## 价值 专业且易于使用的工具。 # 阶段 10 — 完整的漏洞扫描器 ## 最终目标 创建一款完整的工具: * 底层网络扫描器 * Web 漏洞扫描器 * GUI * API * 报告系统 * 威胁情报 * 模块化引擎 # 技术栈 ## 前端 React CSS Axios ## 后端 Flask Python ## 底层扫描器 C Sockets Raw sockets Threads ## 网络 TCP UDP SYN HTTP ## 未来 Rust 或 C 核心引擎 # 项目结构 ``` vulnscanner/ frontend/ react app backend/ flask api scanner/ tcp scan udp scan syn scan engine/ vulnerability engine reports/ html json pdf docs/ readme architecture ``` # 目标 创建一款具备以下特性的网络安全工具: * 像专业扫描器一样强大 * 像 Web 应用一样易于访问 * 模块化 * 开源 * 具有教育意义 * 任何人都可以使用 # 愿景 一款集以下特点于一身的网络和漏洞扫描工具: 底层性能 高级别的可用性 安全分析 现代 Web 界面 全部集中在一个平台上。
标签:DNS枚举, DNS解析, Flask, Python, React, Socket编程, Syscalls, TCP连接, Web界面, 低级网络编程, 前后端分离, 开源项目, 插件系统, 数据统计, 无后门, 端口扫描, 系统分析, 网络分析, 网络安全, 网络安全工具, 网络行为分析, 逆向工具, 隐私保护