System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据检索,特别涉及一支持多条件组合检索的索引的创建方法及报文的索引方法。
技术介绍
1、在网络流量回溯设备中,很有必要保存全流量的报文,以便发生安全事件或质量异常后进行故障分析、复盘或取证。而事后分析就涉及到对原始报文的分析,就需要检索、下载到所关心的报文。
2、而如今网络流量越来越大,千兆、万兆网络越来越普遍,在一天之内就可以保存几十tb的报文,如果对几十tb的报文采用传统工具比如wireshark进行检索,那对时间和资源来说,都是一个巨大的消耗,通过wireshark打开一个100g的报文都需要数十分钟。
3、因此有必要提出一种报文快速检索方法。目前业界采用的索引方法基本都是针对会话,只通过会话来检索报文,对于复杂的分析是远远不够的,例如对于复杂的安全事件,其可能涉及到多个会话,或者涉及到单ip和目标服务器建立的多个会话,或者多个ip对目标服务器建立的多个会话等等,且现有技术均不支持网段的检索,灵活性仍然不够。
技术实现思路
1、本申请提供一种支持多条件组合检索的索引的创建方法及报文的索引方法,以解决现有报文检索技术检索会话单一的问题。
2、第一方面,本申请提供一种支持多条件组合检索的索引的创建方法,所述创建方法包括:
3、从网络接口中获取报文,提取出报文属性信息,所述报文属性信息包括若干个关系为与/或的属性;
4、将所述报文和所述报文属性信息写入存包文件或存包缓存中,获取所述报文所述报文属性信息在存包文
5、对所述报文属性信息进行字节拆分处理,根据所述写入位置得到对应所述报文属性信息的若干个位图组和对应所述位图组的位图值,并存储所述位图组和所述位图值,得到索引文件,每组所述位图组对应所述报文属性信息的一个字节。
6、优选的,所述将所述报文和所述报文属性信息写入存包文件或存包缓存中的步骤包括:
7、将所述报文和所述报文属性信息按照时序顺序写入所述存包文件或所述存包缓存中;一个所述存包文件或一个所述存包缓存对应一个所述报文和所述报文属性信息,所述报文属性信息包括五元组、源ip、源端口、所属链路、时序、mac地址和关键属性。
8、优选的,所述根据所述写入位置得到对应所述报文属性信息的若干个位图组和对应所述位图组的位图值的步骤包括:
9、将所述报文属性信息拆分成若干个字节值;
10、按照对应一个所述报文属性信息的所有所述字节值和所述写入位置获取对应所述报文属性信息的所述位图组,根据所述位图组获取到所述位图值。
11、优选的,所述按照对应一个所述报文属性信息的所有所述字节值和所述写入位置获取对应所述报文属性信息的所述位图组,根据所述位图组获取到所述位图值的步骤还包括:
12、根据所述写入位置获取到所述报文和所述报文属性信息的存储偏移值;
13、根据所述字节值和所述存储偏移值获取到所述位图组;
14、并利用所述存储偏移值将所述位图组中的所有位图的位图值置1。
15、优选的,所述根据所述写入位置得到对应所述报文属性信息的若干个位图组和对应所述位图组的位图值的步骤还包括:
16、在所述位图组中设置中间数据结构,所述中间数据结构的下标为所述报文和所述报文属性信息的写入位置,所述中间数据结构的形态为数组,所述中间数据结构中保存对应所述报文和所述报文属性信息的存储偏移值。
17、优选的,所述将所述报文和所述报文属性信息写入存包文件或存包缓存中的步骤还包括:
18、当所述存包文件或所述存包缓存的存储报文数量大于设定值时,在磁盘中构建索引结构;
19、将所述报文和所述报文属性信息按照时序顺序写入所述磁盘;
20、所述存储所述位图组和所述位图值的步骤还包括:
21、将所述位图组和所述位图值依次存储到所述磁盘中;
22、将所述中间数据结构的数组写入所述磁盘中对应的所述位图组中;
23、对所述位图组进行位图压缩算法处理,得到所述索引文件。
24、优选的,所述存储所述位图组和所述位图值的步骤还包括:
25、在所述索引文件上设置布隆过滤器,所述布隆过滤器的形态为数组。
26、第二方面,本申请提供一种支持多条件组合检索的报文的索引方法,所述索引方法包括:
27、获取索引条件,提取出所述索引条件的索引属性,所述索引属性对应待索引报文的报文属性信息,所述索引属性包括若干个关系为与/或的属性;
28、对所述索引属性进行字节拆分处理,得到索引字节值;
29、根据所述索引字节值和所述索引属性的与关系计算得到待索引报文的所有位图组;
30、根据所有所述位图组和所述索引属性的与/或关系得到上述任意一项创建方法创建的索引文件。
31、优选的,所述根据所述索引字节值和所述索引属性的与关系计算得到待索引报文的所有位图组的步骤包括:
32、根据所述索引条件的时序属性筛选出所有索引文件;
33、计算所有所述索引文件的哈希值,得到哈希值的位为1的所有所述索引文件,当所述索引文件中的位图组经过位图压缩算法处理时,对所述索引文件中的位图组进行解压处理;
34、利用所述索引字节值获取到对应所述待索引报文的所有位图,并根据对应所述索引属性的一个属性的与关系得到对应所述待索引报文的一个属性的位图组,重复上述步骤得到对应所述待索引报文所有属性的位图组;
35、所述根据所有所述位图组和所述索引属性的与/或关系得到待索引报文的步骤包括:
36、根据所有所述位图组和所述索引属性的与/或关系确定目标位图组;
37、根据所述目标位图组获取所述索引文件的写入位置和存储偏移值;当存在中间数据结构时,通过所述中间数据结构获取所述写入位置获取所述存储偏移值;
38、根据所述写入位置和所述存储偏移值筛选出所述待索引报文的索引文件。
39、优选的,所述利用所述索引字节值获取到对应所述待索引报文的所有位图的步骤包括:
40、根据所述索引字节值筛选所有所述索引文件中置1的位图;
41、根据置1的位图进行与关系计算,得到新的位图;
42、所述当存在中间数据结构时,通过所述中间数据结构获取所述写入位置获取所述存储偏移值的步骤包括:
43、根据所述目标位图组中置1的位图获取索引文件的写入位置,根据所述写入位置找到所述中间数据结构,获取所述中间数据结构中保存的所述存储偏移值。
44、本申请提供一种支持多条件组合检索的索引的创建方法及报文的索引方法,所述创建方法包括从网络接口中获取报文,提取出报文属性信息,所述报文属性信息包括若干个关系为与/或的属性;将所述报文和所述报文属性本文档来自技高网...
【技术保护点】
1.一种支持多条件组合检索的索引的创建方法,其特征在于,所述创建方法包括:
2.根据权利要求1所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述将所述报文和所述报文属性信息写入存包文件或存包缓存中的步骤包括:
3.根据权利要求1所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述根据所述写入位置得到对应所述报文属性信息的若干个位图组和对应所述位图组的位图值的步骤包括:
4.根据权利要求3所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述按照对应一个所述报文属性信息的所有所述字节值和所述写入位置获取对应所述报文属性信息的所述位图组,根据所述位图组获取到所述位图值的步骤还包括:
5.根据权利要求4所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述根据所述写入位置得到对应所述报文属性信息的若干个位图组和对应所述位图组的位图值的步骤还包括:
6.根据权利要求5所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述将所述报文和所述报文属性信息写入存包文件或存包缓存中的步骤还包括
7.根据权利要求6所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述存储所述位图组和所述位图值的步骤还包括:
8.一种支持多条件组合检索的报文的索引方法,其特征在于,所述索引方法包括:
9.根据权利要求8所述的一种支持多条件组合检索的报文的索引方法,其特征在于,所述根据根据所述索引字节值和所述索引属性的与关系计算得到待索引报文的所有位图组的步骤包括:
10.根据权利要求9所述的一种支持多条件组合检索的报文的索引方法,其特征在于,所述利用所述索引字节值获取到对应所述待索引报文的所有位图的步骤包括:
...【技术特征摘要】
1.一种支持多条件组合检索的索引的创建方法,其特征在于,所述创建方法包括:
2.根据权利要求1所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述将所述报文和所述报文属性信息写入存包文件或存包缓存中的步骤包括:
3.根据权利要求1所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述根据所述写入位置得到对应所述报文属性信息的若干个位图组和对应所述位图组的位图值的步骤包括:
4.根据权利要求3所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述按照对应一个所述报文属性信息的所有所述字节值和所述写入位置获取对应所述报文属性信息的所述位图组,根据所述位图组获取到所述位图值的步骤还包括:
5.根据权利要求4所述的一种支持多条件组合检索的索引的创建方法,其特征在于,所述根据所述写入位置得到对应所述报文属性...
【专利技术属性】
技术研发人员:张钢,
申请(专利权)人:北京安博通科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。