aman-sharma-dev/netsentryx
GitHub: aman-sharma-dev/netsentryx
一个基于 Python 和 FastAPI 的事件驱动型实时网络监控与威胁检测系统,提供流聚合分析、规则告警引擎和 WebSocket 驱动的现代化实时仪表板。
Stars: 0 | Forks: 0
# NetSentryx PRO 🛡️
**生产级实时网络可观测性与威胁检测**
NetSentryx PRO 是一个使用 Python 构建的高性能、事件驱动型网络监控系统。它通过现代化的 SaaS 风格仪表板,提供网络流量的实时可见性、异常检测和结构化告警。
⚠️ **状态:v0.1-alpha(积极开发中)**
本项目目前可用,但仍在不断演进中。请预期会有破坏性变更和持续的架构改进。
## 🚀 核心特性
- ⚡ **事件驱动架构**
内部轻量级事件总线,实现解耦处理。
- 📡 **实时仪表板**
通过 WebSockets 对告警、流和日志进行实时更新。
- 🌊 **基于流的网络分析**
将数据包聚合成流,并提供行为指标。
- 🧠 **基于规则的检测引擎**
检测以下异常情况:
- 流量激增
- 扫描行为
- 泛洪攻击
- 🪵 **结构化日志系统**
由 SQLite 支持的日志,带有 UTC 时间戳。
- 🎛️ **SaaS 风格 UI**
受 Datadog 风格布局启发的暗色系可观测性仪表板。
## 🏗️ 架构概览
```
[ Packet Capture / Simulator ]
↓
(EVENT BUS)
↓
┌─────────────────────────────┐
│ Flow Processor │
│ Alert Engine │
│ Log Manager │
└─────────────────────────────┘
↓
(EVENT STREAM)
↓
┌─────────────────────────────┐
│ Database (SQLite) │
│ WebSocket Broadcast Layer │
└─────────────────────────────┘
↓
[ FastAPI Dashboard UI ]
```
## 📁 项目结构
```
src/
├── core/ # Time utils, config, logging
├── events/ # Event bus system
├── flows/ # Flow aggregation engine
├── alerts/ # Detection + alert manager
├── database/ # SQLAlchemy models + DB layer
├── dashboard/ # FastAPI + Web UI + WebSockets
├── utils/ # Simulation + helpers
```
## 🚀 快速入门
### 🧰 前置条件
- Python 3.10+
- (用于实时抓包的可选依赖)
- Windows:Npcap
- Linux:libpcap-dev
## 📦 安装(推荐方式:UV)
### 1. 创建虚拟环境
```
uv venv
```
### 2. 激活环境
**Windows**
```
.venv\Scripts\activate
```
**Linux/Mac**
```
source .venv/bin/activate
```
### 3. 安装依赖
```
uv pip install -r requirements.txt
```
## ▶️ 运行项目
### 🧪 模拟模式(推荐)
```
uv run python main.py --simulate
```
### 🌐 实时模式
```
uv run python main.py
```
### 🌍 访问仪表板
```
http://localhost:8000
```


## ⚙️ 配置
### `config/config.yaml`
* 网络接口设置
* 仪表板端口
* 存储路径
### `config/rules.yaml`
* 启用/禁用检测规则
* 调整以下项的阈值:
* 流量激增
* 连接泛洪
* 异常情况
## 🧠 当前限制(Alpha 阶段)
* 偶尔出现的 UI 刷新不一致问题
* 使用 SQLite(尚不具备扩展性)
* 有限的身份验证/安全层
* 重构中的部分内部类型不一致问题
* 事件流水线仍在演进
## 🧭 路线图
### v0.2(下一版本)
* 完全的纯 WebSocket 数据流(移除轮询 API)
* 改进的告警去重系统
* 更好的流关联引擎
### v0.3
* PostgreSQL 支持
* 多节点事件处理
* 规则插件系统
### v1.0
* 生产就绪的 SOC 可观测性平台
* SaaS 风格的多租户仪表板
* 基于角色的访问控制
## 🧩 优质新手任务
* 改进告警去重逻辑
* 为日志 API 添加分页功能
* 增强 WebSocket 重连处理
* UI 改进(仪表板卡片 + 图表)
* 提高流聚合的准确性
## 🛡️ 许可证
MIT 许可证 — 可自由使用、修改和贡献。
## 🚀 愿景
NetSentryx 的目标是成为:
## 📌 版本
**v0.1-alpha**
标签:AMSI绕过, API集成, AV绕过, FastAPI, IP 地址批量处理, NetFlow, Python, SaaS, SQLite, WebSocket, 事件总线, 事件驱动架构, 云计算, 仪表盘, 依赖分析, 包捕获, 可观测性, 告警引擎, 威胁检测, 安全研究社区, 安全运营, 密码管理, 异常检测, 扫描框架, 无后门, 网络安全, 规则引擎, 逆向工具, 防御绕过, 隐私保护