Skip to content

Repository files navigation

rosflowd

无界面 RouterOS 流量采集守护进程。监听 NetFlow/IPFIX,按 LAN 客户端汇总行为,写成最多 7 天的本地统计文件。单二进制,没有 UI。

项目画像、非目标与验收矩阵:docs/roadmap.md。实现核对表:docs/checklist.md。Agent 规范:AGENTS.md。

质量与验收

新增一级业务功能时,必须补 Happy Path E2E,并更新 docs/roadmap.md 验收矩阵。覆盖底线见该文档,不在 README 重复矩阵内容。

运行

# 回放(无 UDP,适合测试)
rosflowd --replay testdata/example.nfv5 --data ./data

# 监听(RouterOS /ip traffic-flow 指向此地址)
rosflowd --listen 0.0.0.0:2055 --data ./data --retain-days 7

# 可选:同机再听 TZSP(MikroTik /tool sniffer streaming),默关
rosflowd --listen 0.0.0.0:2055 --tzsp 0.0.0.0:37008 --data ./data

# SSID/主机名 sidecar(无线注册表外部 dump,不登录设备)
rosflowd --replay flow.nfv5 --identity clients.jsonl --data ./data

采集必须来自 LAN 桥。WAN 口导出的流在 NAT 之后,无法对应到家里的客户端。

分类:端口、TLS/QUIC SNI、DNS A,以及 nDPI(默认链接 libndpi 6.x)对 TZSP 采样包。NetFlow 字节仍不是 DPI。游戏流量走 nDPI(Steam/Xbox/PSN/Riot/Epic 等)。构建见 docs/install.md。nDPI 为 LGPLv3,运行时需要 libndpi。

数据目录

data/
  README.md
  metadata.json
  YYYY-MM-DD/
    clients.jsonl
    apps.jsonl
    hourly.json
    ingest.json

开发

cargo test
cargo clippy --all-targets -- -D warnings
cargo fmt --check

License: MIT

About

Headless RouterOS flow collector: NetFlow/IPFIX ingest, DPI-ready client stats, 7-day local files.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages