
现在项目上有需求,需要把 pcap 包解析并存储到系统中,并支持用户按照一些关键属性进行搜索,比如按照 ip 、端口、域名之类的属性去搜索。因为每种网络协议的格式都不一样,存储的结构也不同,所以用什么数据库、什么样的格式存储现在还没有敲定,求助大家有没有好的方法或者经验去存储网络数据包
1 opengps 2023-08-24 14:46:59 +08:00 太大了,存储能力跟不上网络能力,你这不是向数据库应用发起挑战,你这是向存储速度发起挑战了 |
2 sniperking1234 OP @opengps 网络流量不是全量和实时采集的,数据倒是没那么多,目前主要问题是存储不知道怎么存,因为需求要从所有流量中进行筛选 |
3 proxychains 2023-08-24 15:19:46 +08:00 pps 有多少? 机房最近也打算做流量记录和审计. 计划用 kafka+clickohuse |
4 sniperking1234 OP @proxychains 还没有 pps 的概念,我们是通过下发任务,采集回传 pcap 包,解析入库这个流程。你用 clickhouse 的话是打算一个协议一个表吗 |
5 proxychains 2023-08-24 16:20:06 +08:00 @sniperking1234 打算直接存对象, 一个表吧. clickhouse 做完分片副本和索引查起来还可以 layer:L2, SrcMAC: xxxxx, DstMAC:xxx layer:L3, SrcIp: xxx, DstIp:xxx, SrcPort:xxx, DstIp:xx, protocol: tcp ... 只是这样规划, 还没在测试环境做. |
6 815979670 2023-08-24 17:53:06 +08:00 单机的话 clickhouse 是个不错的选择,如果分布式的话 可以考虑一下 百度的 Apache Doris ,ClickHouse 分布式不太友好 但单机 ClickHouse 更好一些 |
7 sniperking1234 OP @proxychains 这是把所有的协议中出现的字段都列出来做成个大宽表吗 |
8 sniperking1234 OP @815979670 多谢建议,我去调研看看 |
9 proxychains 2023-08-24 19:06:48 +08:00 via Android |