https://github.com/xxddpac/go-flow
实时网络流量监控工具,基于滑动窗口分析,支持异常检测与 Web 可视化
https://github.com/xxddpac/go-flow
anomaly-detection dashboard extensible go kafka lightweight network-monitoring real-time traffic-analysis web-ui
Last synced: 6 days ago
JSON representation
实时网络流量监控工具,基于滑动窗口分析,支持异常检测与 Web 可视化
- Host: GitHub
- URL: https://github.com/xxddpac/go-flow
- Owner: xxddpac
- License: apache-2.0
- Created: 2025-04-17T09:20:24.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-05-15T03:05:01.000Z (7 days ago)
- Last Synced: 2025-05-15T03:28:03.996Z (7 days ago)
- Topics: anomaly-detection, dashboard, extensible, go, kafka, lightweight, network-monitoring, real-time, traffic-analysis, web-ui
- Language: Go
- Homepage:
- Size: 6.8 MB
- Stars: 24
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
![]()
![]()
![]()
![]()
GO-FLOW
轻量级、高性能的实时网络流量监控与异常检测工具
基于可配置的滑动时间窗口进行流量分析,并提供简洁直观的 Web 控制台,方便实时查看网络态势。
内置告警机制可快速识别异常大流量、高频扫描、分布式探测等可疑行为并触发告警,提前预警潜在安全风险。## 🚀 安装运行
1. **下载最新版本 Release**
从 GitHub Releases 页面获取最新版本的 `go-flow` 二进制文件。2. **编辑配置文件 `config.toml`**
根据需求修改 `config.toml`,配置网络接口、告警设置等参数3. **运行 `go-flow` 并访问**
执行以下命令启动服务,并通过浏览器访问 `http://:31415` 查看 Web 控制台:
```
./go-flow -c config.toml
```## 📊 Web UI
- `Sessions` 展示会话级流量,包含源/目的 IP、端口、协议、流量占用和请求次数,便于分析具体通信关系

- `IP Stats` 展示单个 IP 的流量使用和请求次数,帮助识别高流量主机和活跃节点

- `Port Stats` 展示各目的端口的流量占用和协议分布,便于识别热门服务和异常端口活动

- `Trend` 展示滑动时间窗口内整体网络流量变化趋势,便于观察流量高峰、波动和异常增长情况

## 🚨 风险预警
- `大流量预警` 计算滑动窗口内的流量总和,识别异常大流量
- `高频扫描预警` 识别高频扫描或分布式探测
## 💾 数据持久化
`go-flow` 设计初衷是简单轻量化,无需依赖额外组件,默认基于给定滑动窗口在内存中完成实时分析。
如果需要持久化数据以实现更多功能(如查看最近一周或一个月的流量趋势、生成丰富统计图、结合威胁情报等),`go-flow` 也支持将流量数据写入
Kafka 队列,供自定义消费与处理。
只需在配置文件中启用 Kafka 即可,后续的数据存储与分析自行实现。
## 🛠️ 源码编译
```
git clone https://github.com/xxddpac/go-flow.git
cd go-flow# Build for CentOS
make build-centos# Build for Windows
make build-win# Clean build artifacts
make clean
```