Skip to content

Repository files navigation

Netflow

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 平台优化,需管理员权限)

安装

  1. 克隆项目到本地:

    git clone <repository-url>
    cd netflow
  2. 安装依赖:

    npm install

运行

启动开发模式:

npm start

注意: npm start 脚本会自动检测并尝试以管理员身份运行 PowerShell,因为网络抓包通常需要较高的系统权限。

构建

打包应用程序:

npm run build

插件开发

Netflow 的核心在于其插件系统。每个插件位于 plugins/ 目录下,并包含一个 plugin.json 描述文件。

插件类型包括:

  • sniffer: 数据捕获
  • visualizer: 数据可视化
  • reporter: 报告生成

License

ISC

About

Netflow 是一个基于 Electron 的模块化网络流量分析与可视化工具。它提供了一个灵活的插件系统,允许用户通过不同的插件进行网络抓包、数据分析、可视化展示以及报告生成。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages