本发明涉及ip地址检测,具体而言,涉及一种检测ip地址的方法、装置、存储介质及电子设备。
背景技术:
1、随着大数据时代已经到来,网络安全事件也层出不穷。网络流量中对于ip(internet protocol,网际互连协议)地址的分析是安全检测的重要指标之一。目前一般是建立恶意ip数据库,在需要查询某ip地址时,若该ip地址存在与数据库中,则该ip地址就是有恶意的。
2、目前实时日志每秒高达10万条,每条日志中ip地址都需要恶意值检测,如果使用数据库作为存储,数据库是很难承受住这么大的并发量。目前可以利用hash函数在一定程度上解决该问题,但hash函数的缺点是内存占用高,它的hash表维护一个数组,hash算法特点不能完全填满这个数组,导致很多空位。并且为了性能,它的扩容采用2的n次幂,数据量较多,且数据量越多,空位也越多。
技术实现思路
1、为解决当前难以确定大量恶意ip地址的问题,本发明实施例的目的在于提供一种检测ip地址的方法、装置、存储介质及电子设备。
2、第一方面,本发明实施例提供了一种检测ip地址的方法,包括:
3、获取多个恶意ip地址的恶意ip值,并确定恶意上限值和恶意下限值,所有所述恶意ip值均位于所述恶意上限值与所述恶意下限值之间;
4、基于所述恶意ip值与所述恶意下限值之间的差值确定所述恶意ip值对应的恶意参考值;
5、生成包含n个按序排列的元素的参考集合,所述参考集合中的每个元素用于表示所述元素在所述参考集合中的位置是否对应一个恶意参考值;n-1大于或等于所述恶意上限值与所述恶意下限值之差;
6、确定待识别的目标ip地址的目标ip值,基于所述目标ip值与所述恶意下限值之间的差值确定所述目标ip值对应的目标参考值;
7、基于所述目标参考值查询所述参考集合,在所述目标参考值所对应的元素对应一个恶意参考值的情况下,确定所述目标ip地址为恶意ip地址。
8、可选地,所述恶意下限值为所有所述恶意ip值中的最小值,和/或所述恶意上限值为所有所述恶意ip值中的最大值。
9、可选地,所述获取多个恶意ip地址的恶意ip值包括:基于预设的转换规则将所述恶意ip地址转换为相应的恶意ip值;
10、所述确定待识别的目标ip地址的目标ip值包括:基于预设的所述转换规则将所述目标ip地址转换为相应的目标ip值;
11、其中,所述转换规则包括:将ip地址作为m进制的值,且ip地址a.b.c.d所对应的ip值为a×m3+b×m2+c×m+d,且m∈[256,999]。
12、可选地,所述参考集合中的每个元素均为能够被表示成第一数值或第二数值的二进制数;所述第一数值表示对应一个恶意参考值,所述第二数值表示不对应一个恶意参考值;
13、所述第一数值为0、所述第二数值为1,或者,所述第一数值为1、所述第二数值为0。
14、可选地,所述生成包含n个按序排列的元素的参考集合包括:
15、基于所述恶意上限值与所述恶意下限值之差确定需要表示的元素个数n;
16、将n个所述元素分为多个子集合,并形成包含多个所述子集合的参考集合,每个所述子集合中均包含n个所述元素,每个所述元素的值均为所述第二数值;
17、为每个所述子集合中的每个元素依次设置一级索引,所述一级索引用于表示所述元素在所述子集合中的位置,且第一个所述一级索引为0;
18、为每个所述子集合依次设置二级索引,所述二级索引用于表示所述子集合在所述参考集合中的位置,且第一个所述二级索引为0;
19、对每个所述恶意参考值执行除数为n的除法运算,确定所述恶意参考值所对应的商值和余数值,将所述二级索引为所述恶意参考值所对应的商值、所述一级索引为所述恶意参考值所对应的余数值的元素的值更新为所述第一数值;
20、基于所有所述恶意参考值对所述参考集合中相应元素的值进行更新后,生成所需的参考集合。
21、可选地,所述基于所述目标参考值查询所述参考集合,在所述目标参考值所对应的元素对应一个恶意参考值的情况下,确定所述目标ip地址为恶意ip地址,包括:
22、对所述目标参考值执行除数为n的除法运算,确定所述目标参考值所对应的商值和余数值,将所述二级索引为所述目标参考值所对应的商值、所述一级索引为所述目标参考值所对应的余数值的元素作为目标元素;
23、在所述目标元素的值为所述第一数值的情况下,确定所述目标ip地址为恶意ip地址。
24、可选地,该方法还包括:
25、在需要删除所述参考集合中已经存在的第一恶意ip地址时,确定所述第一恶意ip地址所对应的第一恶意参考值,将参考集合中所述第一恶意参考值所对应的元素修改为表示不对应一个恶意参考值;
26、在需要向所述参考集合中添加第二恶意ip地址时,确定所述第二恶意ip地址所对应的第二恶意参考值,将参考集合中所述第二恶意参考值所对应的元素修改为表示对应一个恶意参考值。
27、第二方面,本发明实施例还提供了一种检测ip地址的装置,包括:
28、预处理模块,用于获取多个恶意ip地址的恶意ip值,并确定恶意上限值和恶意下限值,所有所述恶意ip值均位于所述恶意上限值与所述恶意下限值之间;
29、第一确定模块,用于基于所述恶意ip值与所述恶意下限值之间的差值确定所述恶意ip值对应的恶意参考值;
30、生成模块,用于生成包含n个按序排列的元素的参考集合,所述参考集合中的每个元素用于表示所述元素在所述参考集合中的位置是否对应一个恶意参考值;n-1大于或等于所述恶意上限值与所述恶意下限值之差;
31、第二确定模块,用于确定待识别的目标ip地址的目标ip值,基于所述目标ip值与所述恶意下限值之间的差值确定所述目标ip值对应的目标参考值;
32、查询模块,用于基于所述目标参考值查询所述参考集合,在所述目标参考值所对应的元素对应一个恶意参考值的情况下,确定所述目标ip地址为恶意ip地址。
33、第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的检测ip地址的方法。
34、第四方面,本发明实施例还提供了一种电子设备,包括:
35、至少一个处理器;以及,
36、与所述至少一个处理器通信连接的存储器;其中,
37、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的检测ip地址的方法。
38、本发明实施例上述第一方面提供的方案中,将恶意ip地址转换为能够表示是否存在恶意参考值的元素,使得参考集合可以占用较小的内存,能够提高内存空间的利用率。并且,利用数据量较小的参考集合即可实现对任意ip地址的恶意查询检测,检测效率高,适用于高并发地ip地址检测。
39、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。