Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在数据库中存储数据包捕获文件_Database_Pcap - Fatal编程技术网

Database 在数据库中存储数据包捕获文件

Database 在数据库中存储数据包捕获文件,database,pcap,Database,Pcap,我试图将数据包捕获文件存储到数据库中,但我遇到了性能问题 以下是我的一些目标(按优先顺序排列) 1) 将各个数据包帧存储在数据库中,并至少使用它们的时间戳搜索它们 2) 在接收到数据包时存储数据包捕获(比如说,以每秒至少几百个数据包的速率) 3) 通过数据包过滤和搜索模式(大小、持续时间、tcp或udp等) 起初,我认为最好使用XDB这样的时间序列数据库,但后来我意识到我需要搜索时间以外的字段,这会降低效率。然后,我尝试使用tshark将所有字段解析成一个数据包转储xml文件(pdml),然后将

我试图将数据包捕获文件存储到数据库中,但我遇到了性能问题

以下是我的一些目标(按优先顺序排列) 1) 将各个数据包帧存储在数据库中,并至少使用它们的时间戳搜索它们 2) 在接收到数据包时存储数据包捕获(比如说,以每秒至少几百个数据包的速率) 3) 通过数据包过滤和搜索模式(大小、持续时间、tcp或udp等)

起初,我认为最好使用XDB这样的时间序列数据库,但后来我意识到我需要搜索时间以外的字段,这会降低效率。然后,我尝试使用tshark将所有字段解析成一个数据包转储xml文件(pdml),然后将它们存储到NoSQL数据库(elasticsearch),但这被证明非常缓慢

我的问题是: 1) 存储数据包捕获数据的有效数据库选项有哪些?我最好使用SQL还是NoSQL数据库

2) 如何将单个数据包保存到数据库?我找不到从命令行从tshark、bro、snort或其他数据包分析器获取单个数据包的方法

3) 是否有其他选项可用于将数据包解析为有用的datbase格式?我想用tshark提取更少的字段;我想我不需要所有的


任何帮助、想法或想法都会很好。谢谢。

忽略2,我在这里找到了pcap文件的格式,然后手动解析int:你说的是什么类型的卷?缓冲一组数据包,然后将它们作为一个批插入,或者甚至将整个序列捕获到一个文件中,然后将处理后的数据包放入数据库中,这是否合理?我不确定具体的容量是多少,但我估计至少每秒几兆字节。此外,我最终添加了对分组缓冲和批插入的支持,因为这非常有效。老实说,我的问题已经不重要了,因为我已经过了重新设计方法的阶段,不过还是要谢谢你。不过,我特别希望有一个mac替代jlibpcap。。。。