saagpatel/NetworkMapper

GitHub: saagpatel/NetworkMapper

一款带浏览器 UI 的本地网络扫描器,结合 ARP 发现、nmap 深度扫描与 CVE 匹配来帮助用户掌握局域网设备资产与安全风险。

Stars: 0 | Forks: 0

# NetMapper [![Python](https://img.shields.io/badge/python-%233776ab?style=flat-square&logo=python)](#) [![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](#) NetMapper 是一款带有基于浏览器 UI 的本地网络扫描器。通过 ARP 扫描您的局域网(LAN),利用 nmap 的端口/服务/操作系统检测结果丰富扫描结果,按类型对设备进行分类,标记开放端口风险,并可选择与 NIST NVD CVE 数据源进行匹配 —— 所有这些都通过您机器上的单一进程完成。 ## 功能 - **ARP 扫描** — 通过 scapy 实现快速局域网发现,无需凭据 - **nmap 丰富** — 端口扫描、服务 banner、操作系统指纹识别(快速 / 标准 / 深度配置) - **设备分类** — 基于规则,利用开放端口、OUI 厂商查找和服务名称进行分类 - **风险引擎** — 标记高风险开放端口,并将服务版本与 NVD CVE 进行匹配 - **拓扑图** — 在浏览器中显示交互式的 Cytoscape.js 网络拓扑图 - **持久化历史** — 扫描结果存储在 SQLite 中,位于 `~/.netmapper/netmapper.db` - **定时扫描** — 通过设置 UI 使用可选的 cron 表达式(APScheduler) ## 快速开始 ### 前置条件 - Python 3.11+ - 已安装 nmap(在 macOS 上使用 `brew install nmap`) - Node.js 18+ 和 npm - 进行 ARP 扫描需要 Root/sudo 权限 ### 安装说明 ``` git clone https://github.com/saagpatel/NetworkMapper cd NetworkMapper pip install -r backend/requirements.txt cd frontend && npm install ``` ### 用法 ``` # 启动 backend ./scripts/run.sh # 启动 frontend(单独终端,dev mode) cd frontend && npm run dev # 打开 http://localhost:5173 ``` ## 技术栈 | 层级 | 技术 | |-------|------------| | 后端 | Python 3.11+, FastAPI, uvicorn | | 扫描 | scapy (ARP), python-nmap | | 存储 | SQLite (标准库 sqlite3) | | 调度 | APScheduler 3.x | | CVE 数据 | NIST NVD JSON 数据源(可选) | | 前端 | React 19 + TypeScript + Tailwind CSS 4 + Vite | | 图谱 | Cytoscape.js | ## 许可证 MIT
标签:AV绕过, CVE匹配, FastAPI, GPT, React, Syscalls, 云存储安全, 占用监测, 拓扑发现, 插件系统, 漏洞管理, 网络扫描, 资产管理, 逆向工具