Netflow 是一个基于 Electron 的模块化网络流量分析与可视化工具。它提供了一个灵活的插件系统,允许用户通过不同的插件进行网络抓包、数据分析、可视化展示以及报告生成。
- 模块化架构: 基于插件的设计,易于扩展和定制。
- 内置插件:
- Python Sniffer: 强大的网络抓包插件,负责捕获网络数据包。
- Packet Visualizer: 实时可视化展示数据包信息。
- Traffic Grapher: 网络流量图表化分析。
- Network Reporter: 生成网络分析报告。
- 多窗口支持: 支持插件独立窗口运行(Popout),方便多屏监控。
- 自动提权: 在 Windows 上自动请求管理员权限以进行底层网络操作。
netflow/
├── assets/ # 静态资源
├── plugins/ # 插件目录
│ ├── network_reporter/
│ ├── packet-visualizer/
│ ├── python-sniffer/
│ └── traffic-grapher/
├── renderer/ # 前端渲染进程代码
├── utils/ # 主进程工具类
├── main.js # Electron 主入口
└── package.json
- Node.js (建议 v16+)
- Python 3.x (用于 Python Sniffer 插件)
- Windows (目前主要针对 Windows 平台优化,需管理员权限)
-
克隆项目到本地:
git clone <repository-url> cd netflow
-
安装依赖:
npm install
启动开发模式:
npm start注意:
npm start脚本会自动检测并尝试以管理员身份运行 PowerShell,因为网络抓包通常需要较高的系统权限。
打包应用程序:
npm run buildNetflow 的核心在于其插件系统。每个插件位于 plugins/ 目录下,并包含一个 plugin.json 描述文件。
插件类型包括:
sniffer: 数据捕获visualizer: 数据可视化reporter: 报告生成
ISC