• 请不要在回答技术问题时复制粘贴 AI 生成的内容
oom
V2EX  ›  程序员

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

  •  
  •   oom · 11h 25m ago · 560 views

    之前发过一版([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 replies    2026-08-28 00:20:48 +08:00
    saka0609
        1
    saka0609  
       10h 47m ago
    star, 也许哪天能用上
    exkernel
        2
    exkernel  
       10h 42m ago
    DuckDB 还没有 pure go 的库, 我也非常烦这个
    swananan
        3
    swananan  
       5h 5m ago
    我之前也 vibe 了一个,不过是为了自己翻墙。我理解,翻墙其实核心点,就是流量精准匹配,也就是 DPI 内容识别。

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

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

    最骚的是,我写完了,懒得去买机器部署,另外也是机场一直没到期。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   937 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:26 · PVG 05:26 · LAX 14:26 · JFK 17:26
    ♥ Do have faith in what you're doing.