Scanopy 终极指南:如何自动发现和可视化网络基础设施
Scanopy 是一款开源的网络自动发现与拓扑可视化工具,口号是"自己会更新的网络图"。它用一个定时扫描的 Daemon 替代手工绘图:自动发现主机、子网、服务与依赖,并生成始终反映真实运行状态的拓扑模型。本文带你快速上手:一次扫描生成 4 种视图、Docker Compose 一键自托管、多网段分布式扫描,几分钟即可完成部署。
💡 为什么手工网络图总在"过期"?
用 draw.io 画的网络拓扑图,往往在保存的那一周就开始与现实脱节;而 IaC(基础设施即代码)状态又会漏掉漂移、以及绕过流水线直接开通的资源。
Scanopy 的思路完全反过来:不画图,而是持续建模——扫描网络中"实际正在运行的东西",让文档永远保持最新。
📡 Scanopy 是什么:会自己更新的网络拓扑
核心特性一览:
- 🔍 自动发现:扫描即出图,一个扫描器搞定全部,无需在每台设备装 Agent
- 🧩 230+ 服务定义:自动识别数据库、Web 服务器、容器、网络设备与企业应用(定义位于
backend/src/server/services/definitions/) - 📐 一次扫描,四种视图:L2 物理、L3 逻辑、工作负载、应用依赖
- 🌐 分布式扫描:在多个网段部署 Daemon,自动绘制多站点、多 VLAN 拓扑
- 🐳 Docker & SNMP 集成:原生发现容器化服务与网络硬件
- ⏰ 定时重扫:基础设施变化时,文档自动保持最新
- 👥 多用户 + RBAC:组织管理、角色权限,支持分享可交互的实时视图
模型还能导出为 SVG、Mermaid 或 Confluence、嵌入实时地图,或喂给你现有的"事实来源"系统。
🖼️ 一次扫描,四种视图
这是 Scanopy 最惊艳的地方:同一份扫描数据,自动渲染出四个不同视角的拓扑图。
L2 物理视图:每台交换机、每个端口、每条链路
通过 SNMP、LLDP、ARP 等协议还原真实的物理连接——哪台主机的哪块网卡插在哪个交换机的哪个端口,一目了然。
L3 逻辑视图:子网与跨子网连接
把主机按子网分组,展示它们如何跨网段互联,是理解整体网络架构最快的方式。
工作负载视图:从裸机到容器的一览无余
自动识别虚拟化层级:物理机 → 虚拟机/裸金属 → 容器,谁跑在哪里清清楚楚。
应用依赖视图:服务与数据库谁依赖谁
将服务按应用分组,自动连线展示"Web 层 → 数据库 → 存储"的依赖流向,排查故障时非常救命。
⚙️ 工作原理:Daemon 分布式扫描
Scanopy 由三部分组成:
| 组件 | 作用 | 代码位置 |
|---|---|---|
| Server | 存储模型、API 与计费权限 | backend/src/server/ |
| Daemon | 在网段内执行自动扫描 | backend/src/daemon/ |
| UI | 拓扑可视化与交互式界面 | ui/src/features/topology/ |
Daemon 是轻量扫描器:它会探测主机、端口、服务、网络接口,并支持 Docker / Podman(容器发现,见 backend/src/daemon/discovery/integration/)、SNMP(网络硬件)和 UniFi 控制器等集成。
💡 跨网段、跨站点?在不同网段各部署一个 Daemon 即可,拓扑会自动拼接成完整画面。
🚀 快速开始:Docker Compose 一键自托管
最快配置方法,只需 3 步:
git clone https://gitcode.com/gh_mirrors/ne/netvisor
cd netvisor
docker compose up -d
- 克隆仓库并启动:
docker-compose.yml里已编排好 3 个服务——daemon(宿主机网络扫描)、postgres(数据模型存储)、server(API + UI,端口60072) - 浏览器访问
http://<你的服务器IP>:60072,创建账户 - 等待首次自动发现完成,四大视图即刻生成 🎉
不想折腾的,也可以直接体验官方演示环境,无需安装任何东西。
🖥️ 在其他网段部署 Daemon
- Linux / macOS / FreeBSD:仓库根目录的
install.sh会自动下载对应架构的二进制并安装到/usr/local/bin - Windows:提供签名 MSI 安装包(安装源见
backend/wix/main.wxs),也支持在 UI 中生成 PowerShell 一键命令 - 服务化运行:附带 systemd 单元文件
scanopy-daemon.service与模板scanopy-daemon@.service,多实例各扫各的网段
🎯 它适合谁?
- 🛠️ 平台 / DevOps 团队:不装 APM 也能追踪服务依赖,容器、VM、硬件一张图
- 🌐 网络工程师:多 VLAN、多站点拓扑直接由 SNMP / LLDP / ARP 推导,零手工绘制
- 🏢 IT 运维:资产清单、拓扑、依赖跨团队跨站点保持最新
- 🤝 MSP(托管服务商):为每个客户生成独立文档 + 可分享实时视图
- 🏠 家庭实验室:不开 draw.io 也能给自己的网络存档
📜 许可证与延伸资源
- 📄 自托管免费使用:AGPL-3.0(见
LICENSE.md);无法遵守 AGPL 条款可选择商业许可(见COMMERCIAL-LICENSE.md) - 🌍 界面已内置多语言翻译(
messages/目录,含中文) - 🤝 欢迎贡献:最友好的入门方式是添加服务定义,指南见
contributing.md
总结:如果你受够了过期网络图,Scanopy 用"自动发现 + 四种视图 + 定时重扫"三件套,让网络文档第一次做到了自己维护自己——克隆仓库、docker compose up -d,剩下的交给扫描器就好。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考








