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界面, 低级网络编程, 前后端分离, 开源项目, 插件系统, 数据统计, 无后门, 端口扫描, 系统分析, 网络分析, 网络安全, 网络安全工具, 网络行为分析, 逆向工具, 隐私保护