之前发过一版([https://www.v2ex.com/t/1236197]),这周主要加了这两块功能:
- DPI 内容特征识别:对 TLS / SSH / FTP / SMTP / POP3 / IMAP / MySQL / PostgreSQL / MongoDB / Redis / RDP / VNC / AMQP / gRPC 这十几种协议做了基于真实流量内容的识别, eBPF 里抓每条流最早的几个包发到用户态做协议特征匹配,不再单一的依赖 IANA 注册的端口映射。
- Kafka 写入压测优化:将 ebpf 采集的全量数据推送到队列供下游消费使用,可对接 Grafana 按照自己喜好出图。
目前生产环境(20Gbps/百万 pps)跑了一周,各方面功能都很稳定,无论是流量采集、存储查询都经过了实际压测。
代码在 [https://github.com/xxddpac/netra],有类似场景的大佬欢迎交流,尤其是 DPI 这块识别规则,还有没有什么常见协议可以补上。