eBPF 流量工具更新,加了 DPI 深度检测

oom 2026-08-27 18:00 1

之前发过一版([https://www.v2ex.com/t/1236197]),这周主要加了这两块功能:



  1. DPI 内容特征识别:对 TLS / SSH / FTP / SMTP / POP3 / IMAP / MySQL / PostgreSQL / MongoDB / Redis / RDP / VNC / AMQP / gRPC 这十几种协议做了基于真实流量内容的识别,
    eBPF 里抓每条流最早的几个包发到用户态做协议特征匹配,不再单一的依赖 IANA 注册的端口映射。

  2. Kafka 写入压测优化:将 ebpf 采集的全量数据推送到队列供下游消费使用,可对接 Grafana 按照自己喜好出图。


目前生产环境(20Gbps/百万 pps)跑了一周,各方面功能都很稳定,无论是流量采集、存储查询都经过了实际压测。


代码在 [https://github.com/xxddpac/netra],有类似场景的大佬欢迎交流,尤其是 DPI 这块识别规则,还有没有什么常见协议可以补上。

最新回复 (3)
  • saka0609 08-27 18:38
    1
    star, 也许哪天能用上
  • exkernel 08-27 18:44
    2
    DuckDB 还没有 pure go 的库, 我也非常烦这个
  • swananan 08-28 00:20
    3
    我之前也 vibe 了一个,不过是为了自己翻墙。我理解,翻墙其实核心点,就是流量精准匹配,也就是 DPI 内容识别。

    我大概用的是 rust ,然后 xdp 把流量包在 ebpf 里面直接做处理,我无聊还支持了 QUIC 协议。

    比较蛋疼的是 http over dns ,甚至是 sni 加密那种,我处理方案就是直接家庭环境阻断了这类 dns 服务。。。

    最骚的是,我写完了,懒得去买机器部署,另外也是机场一直没到期。
* 帖子来源V2EX
返回