saagpatel/NetworkMapper
GitHub: saagpatel/NetworkMapper
一款带浏览器 UI 的本地网络扫描器,结合 ARP 发现、nmap 深度扫描与 CVE 匹配来帮助用户掌握局域网设备资产与安全风险。
Stars: 0 | Forks: 0
# NetMapper
[](#) [](#)
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, 云存储安全, 占用监测, 拓扑发现, 插件系统, 漏洞管理, 网络扫描, 资产管理, 逆向工具