manches3003/netprobe-port-scanner

GitHub: manches3003/netprobe-port-scanner

基于 nmap 的全栈端口扫描器,提供 Web 界面、风险评分和 PDF 报告导出功能。

Stars: 0 | Forks: 0

# 🛡️ NetProbe — 端口扫描器 一个全栈网络安全工具,用于扫描任意目标主机的开放端口,评估风险等级,并生成可下载的 PDF 安全报告。 🔗 **在线演示:** [netprobe-port-scanner.netlify.app](https://netprobe-port-scanner.netlify.app) ⚙️ **后端 API:** [manches3003-netprobe-backend.hf.space](https://manches3003-netprobe-backend.hf.space) ## 📸 预览 ## ✨ 功能特性 - 🔍 **端口扫描** — 扫描任意目标 IP 或域名的常用或全端口范围 - ⚠️ **风险评估** — 每个开放端口均附带风险等级和原因评级 - 📊 **风险评分** — 每次扫描计算的整体安全评分 (0–100) - 📄 **PDF 导出** — 下载包含发现和建议的完整安全报告 - 🌐 **REST API** — 简洁的 FastAPI 后端,提供 `/scan` 和 `/export-pdf` 端点 ## 🧰 技术栈 ### 前端 | 技术 | 用途 | |---|---| | React + Vite | UI 框架 | | Netlify | 托管与部署 | ### 后端 | 技术 | 用途 | |---|---| | FastAPI | REST API 框架 | | Python-nmap | 端口扫描引擎 | | ReportLab | PDF 生成 | | Docker | 容器化 | | Hugging Face Spaces | 后端托管 | ## 🚀 快速开始 ### 前置条件 - Node.js 18+ - Python 3.10+ - 系统中已安装 nmap - Docker (用于后端部署) ### 1. 克隆仓库 ``` git clone https://github.com/manches3003/netprobe-port-scanner.git cd netprobe-port-scanner ``` ### 2. 运行前端 ``` cd frontend npm install npm run dev ``` 前端运行于 `http://localhost:5173` ### 3. 运行后端 ``` cd backend pip install -r requirements.txt uvicorn main:app --host 0.0.0.0 --port 8000 --reload ``` 后端运行于 `http://localhost:8000` ### 4. 连接前端与后端 在前端代码中设置 API URL: ``` const API_URL = "http://localhost:8000"; // local // or const API_URL = "https://manches3003-netprobe-backend.hf.space"; // production ``` ## 📡 API 端点 ### GET /health 返回后端状态。 ``` { "status": "ok" } ``` ### POST /scan 扫描目标主机的开放端口。 **请求:** ``` { "target": "example.com", "scan_type": "common" } ``` **响应:** ``` { "target": "example.com", "ip": "93.184.216.34", "open_ports": [...], "risk_score": 42, "risk_rating": "Medium", "recommendations": [...], "scan_duration": 3.2, "timestamp": "2025-03-17T10:00:00" } ``` `scan_type` 选项:`common` (常用端口) 或 `full` (全部 65535 个端口) ### POST /export-pdf 生成并返回 PDF 安全报告。 **请求:** 将完整的扫描结果对象作为请求体传递。 **响应:** PDF 文件下载。 ## 🐳 使用 Docker 部署后端 ``` cd backend docker build -t netprobe-backend . docker run -p 7860:7860 netprobe-backend ``` ## 📁 项目结构 ``` netprobe-port-scanner/ ├── frontend/ │ ├── src/ │ │ ├── components/ │ │ └── App.jsx │ ├── package.json │ └── vite.config.js │ ├── backend/ │ ├── main.py # FastAPI app & routes │ ├── scanner.py # Port scanning logic │ ├── requirements.txt │ └── Dockerfile │ └── README.md ``` ## ⚠️ 免责声明 NetProbe 仅供**教育目的及经授权的安全测试使用**。 切勿在未获得所有者**明确许可**的情况下扫描系统或网络。 未经授权的端口扫描在您所在的司法管辖区可能属于违法行为。 ## 👨‍💻 作者 **Keshav Kansara** 网络安全硕士 — 莱比锡 SRH 大学 📧 keshavkansara123@gmail.com 🔗 [GitHub](https://github.com/manches3003) ## 📄 许可证 本项目为开源项目,基于 [MIT License](LICENSE) 发布。
标签:AV绕过, DNS查询工具, Docker, FastAPI, Hugging Face Spaces, Netlify, NetProbe, Nmap, PDF报告生成, Python, React, Syscalls, 全栈应用, 后端API, 安全评分, 安全防御评估, 开源安全工具, 插件系统, 数据泄露防护, 无后门, 端口扫描器, 网络安全, 网络探测, 网络测绘, 虚拟驱动器, 请求拦截, 逆向工程平台, 隐私保护