System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及网络安全领域,具体涉及一种ip地址存储方法、装置、设备、介质及程序产品。
技术介绍
1、随着互联网的快速发展和广泛应用,网络安全问题日益突出。在网关设备上,黑名单识别算法是一项至关重要的技术,用于识别和阻止来自恶意来源的网络流量。相关技术中,将所有的黑名单格式化为单ip的格式进行存储,每个单ip可以分为多个段,即多级子节点,并且在每个单ip的最后一个节点上添加规则,但是,相关技术中每个单ip分别存储的方式占用较大的内存空间,并且在匹配的过程必须匹配到最后节点才能够命中规则,导致匹配的效率较低。
2、因此,如何在减少内存占用的同时提高匹配效率成为需要解决的问题。
技术实现思路
1、本申请实施例提供一种ip地址存储方法、装置、设备、介质及程序产品,通过本申请的一些实施例至少能够将ip地址的存储方式和规则的添加方式进行改进,从而减少内存的占用,提高匹配效率。
2、第一方面,本申请提供了一种ip地址存储方法,所述方法包括:获取掩码格式的待添加ip地址,解析所述待添加ip地址,获取掩码起始段和掩码覆盖范围;将所述待添加ip地址中的各ip段与ip地址库中各节点进行匹配,基于所述掩码起始段和所述掩码覆盖范围,在相应的节点上添加规则,以使将所述待添加ip地址存储至所述ip地址库。
3、因此,本申请实施例通过掩码的方式存储ip地址,能够减少ip地址的存储节点,从而能够减少内存的占用。基于掩码起始段和掩码覆盖范围,在相应的节点上添加规则,能够将规则添
4、结合第一方面,在本申请的一种实施方式中,所述基于所述掩码起始段和所述掩码覆盖范围,在相应的节点上添加规则,包括:确认匹配到所述掩码起始段并且所述掩码覆盖范围可覆盖当前ip段,则在所述当前ip段上添加所述规则;或者,确认匹配到所述掩码起始段并且所述掩码覆盖范围不能覆盖当前ip段,则在所述掩码覆盖范围内的各节点上添加所述规则。
5、因此,本申请实施例通过在掩码覆盖的ip段上整体添加规则,能够在匹配ip地址的过程中,只需匹配到任一ip段即可触发规则,从而实现无需匹配到最后一个节点即可触发规则,进而减少遍历次数,提高匹配效率。
6、结合第一方面,在本申请的一种实施方式中,在所述将所述待添加ip地址存储至所述ip地址库之后,所述方法还包括:将待匹配ip地址中的各ip段在所述ip地址库中进行匹配,当任意ip段匹配到目标节点的规则,则停止匹配操作,得到匹配到的目标节点的规则。
7、因此,本申请实施例通过在任意ip段匹配到目标节点的规则就停止匹配操作,能够减少后续节点的规则匹配操作,从而提高匹配速度。
8、结合第一方面,在本申请的一种实施方式中,在所述得到匹配到的目标节点的规则之后,所述方法还包括:获取所述待匹配ip地址的端口信息,查找与所述端口信息相对应的规则,并且确认所述与所述端口信息相对应的规则有效;执行所述匹配到的目标节点的规则中与所述端口信息相对应的规则。
9、因此,本申请实施例通过查找端口信息相应的规则,能够保证规则执行的准确性。
10、结合第一方面,在本申请的一种实施方式中,在所述将所述待匹配ip地址中的各ip段在所述ip地址库中进行匹配之后,所述方法还包括:在确定当前匹配节点不存在相对应的规则,或者,确定当前匹配的端口不存在相对应的规则的情况下,通过当前匹配节点在ip地址前缀树的位置,判断是否继续进行匹配。
11、结合第一方面,在本申请的一种实施方式中,所述通过当前匹配节点在ip地址前缀树的位置,判断是否继续进行匹配,包括:在所述当前匹配节点为所述ip地址前缀树的最后一个节点的情况下,确定匹配失败,停止继续匹配;在所述当前匹配节点不是所述ip地址前缀树的最后一个节点的情况下,继续匹配所述当前匹配节点的下一节点。
12、因此,本申请实施例通过判断ip地址前缀树的位置,进一步确定是否继续匹配,能够实现在确认当前节点不存在规则之后再判断是不是最后一个节点,进而提高匹配速度。
13、结合第一方面,在本申请的一种实施方式中,在所述将所述待添加ip地址存储至所述ip地址库之后,所述方法还包括:获取待变更的规则;通过端口对所述待变更的规则相对应的ip地址进行匹配,并且确定与所述ip地址匹配的目标节点所属的目标名单;变更所述目标名单中包括的所述待变更的规则。
14、因此,本申请实施例通过变更目标名单中包括的待变更的规则,能够提高名单存储的灵活性。
15、结合第一方面,在本申请的一种实施方式中,在所述获取掩码格式的待添加ip地址之前,所述方法还包括:将网段格式的待添加ip地址通过转换算法,转换为所述掩码格式的待添加ip地址。
16、因此,本申请实施例通过将网段格式的待添加ip地址转换为掩码格式的待添加ip地址,能够在同一掩码格式之后进行存储,无需解析多个单ip。
17、第二方面,本申请提供了一种ip地址存储装置,所述装置包括:
18、解析模块,被配置为获取掩码格式的待添加ip地址,解析所述待添加ip地址,获取掩码起始段和掩码覆盖范围;
19、存储模块,被配置为将所述待添加ip地址中的各ip段与ip地址库中各节点进行匹配,基于所述掩码起始段和所述掩码覆盖范围,在相应的节点上添加规则,以使将所述待添加ip地址存储至所述ip地址库。
20、结合第二方面,在本申请的一种实施方式中,所述存储模块还被配置为:确认匹配到所述掩码起始段并且所述掩码覆盖范围可覆盖当前ip段,则在所述当前ip段上添加所述规则;或者,确认匹配到所述掩码起始段并且所述掩码覆盖范围不能覆盖当前ip段,则在所述掩码覆盖范围内的各节点上添加所述规则。
21、结合第二方面,在本申请的一种实施方式中,匹配模块还被配置为:将待匹配ip地址中的各ip段在所述ip地址库中进行匹配,当任意ip段匹配到目标节点的规则,则停止匹配操作,得到匹配到的目标节点的规则。
22、结合第二方面,在本申请的一种实施方式中,匹配模块还被配置为:获取所述待匹配ip地址的端口信息,查找与所述端口信息相对应的规则,并且确认所述与所述端口信息相对应的规则有效;执行所述匹配到的目标节点的规则中,与所述端口信息相对应的规则。
23、结合第二方面,在本申请的一种实施方式中,匹配模块还被配置为:在确定当前匹配节点不存在相对应的规则,或者,确定当前匹配的端口不存在相对应的规则的情况下,通过当前匹配节点在ip地址前缀树的位置,判断是否继续进行匹配。
24、结合第二方面,在本申请的一种实施方式中,匹配模块还被配置为:在所述当前匹配节点为所述ip地址前缀树的最后一个节点的情况下,确定匹配失败,停止继续匹配;在所述当前匹配节点不是所述ip地址前缀树的最后一个节点的情况下,继续匹配所述当前匹配节点的下一节点。
25、结合第二方面,在本申请的一种实施本文档来自技高网...
【技术保护点】
1.一种IP地址存储方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述掩码起始段和所述掩码覆盖范围,在相应的节点上添加规则,包括:
3.根据权利要求1或2所述的方法,其特征在于,在所述将所述待添加IP地址存储至所述IP地址库之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在所述得到匹配到的目标节点的规则之后,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,在所述将待匹配IP地址中的各IP段在所述IP地址库中进行匹配之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述通过当前匹配节点在IP地址前缀树的位置,判断是否继续进行匹配,包括:
7.根据权利要求1或2所述的方法,其特征在于,在所述将所述待添加IP地址存储至所述IP地址库之后,所述方法还包括:
8.根据权利要求1或2所述的方法,其特征在于,在所述获取掩码格式的待添加IP地址之前,所述方法还包括:
9.一种IP地址存储装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,包括:处理器、存储器和总线;
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如权利要求1-8任一项所述方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品被执行时可实现如权利要求1-8任一项所述方法。
...【技术特征摘要】
1.一种ip地址存储方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述掩码起始段和所述掩码覆盖范围,在相应的节点上添加规则,包括:
3.根据权利要求1或2所述的方法,其特征在于,在所述将所述待添加ip地址存储至所述ip地址库之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在所述得到匹配到的目标节点的规则之后,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,在所述将待匹配ip地址中的各ip段在所述ip地址库中进行匹配之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述通过当前匹配节点在ip地址前缀树的位置,判断是否继续进...
【专利技术属性】
技术研发人员:刘晗,李玉柱,童兆丰,赵林林,薛锋,
申请(专利权)人:北京微步在线科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。