一种基于二进制哈希表的活动IP主机数量统计方法技术

技术编号:21340346 阅读:31 留言:0更新日期:2019-06-13 21:48
本发明专利技术公开了一种基于二进制哈希表的活动IP主机数量统计方法,属于网络安全监控领域,解决现有技术中主动探测方法和被动探测法的不足之处。本发明专利技术建立活动IP主机数量统计所需的数据结构,设置初始值,数据结构包括二进制哈希表、IP主机计数器,开始时间戳,时间周期;对网络流量进行分析,即对每个IP分组的源IP地址,用哈希函数进行运算,获得哈希值;在二进制哈希表中对哈希值进行更新操作,同时修改IP主机计数器;判断当前时间戳与开始时间戳的差值是否大于等于时间周期,如果大于或等于时间周期,输出IP主机计数器的值,再进行新一轮统计,否则循环分析网络流量并对活动IP主机进行计数。本发明专利技术用于对活动IP主机数量进行统计。

An Active IP Host Number Statistics Method Based on Binary Hash Table

The invention discloses a method for counting the number of active IP hosts based on binary hash table, which belongs to the field of network security monitoring, and solves the shortcomings of active detection method and passive detection method in the prior art. The invention establishes the data structure needed for counting the number of active IP hosts, sets the initial value, and the data structure includes binary hash table, IP host counter, start time stamp and time period; analyzes network traffic, that is, calculates the source IP address of each IP packet with hash function to obtain hash value; updates the hash value in binary hash table; At the same time, the IP host counter is modified to determine whether the difference between the current timestamp and the start timestamp is greater than or equal to the time period. If the difference is greater than or equal to the time period, the value of the IP host counter is output and a new round of statistics is made. Otherwise, the network traffic is analyzed and the active IP host is counted. The invention is used for counting the number of active IP hosts.

【技术实现步骤摘要】
一种基于二进制哈希表的活动IP主机数量统计方法
一种基于二进制哈希表的活动IP主机数量统计方法,用于对网络流量中的活动IP主机数量进行统计,属于网络安全监控领域。
技术介绍
随着Internet的不断发展,网络规模日益扩大,其承载的网络业务逐渐增多,网络安全已成为人们越来越关心的问题。以DDoS攻击为代表的网络攻击已经造成了多起安全事故,现有大量研究从网络通信流量分析入手开展网络安全检测,其中的一个重要基础能力,就是快速统计当前网络中正在活动的IP主机数量。根据检索,目前的网络活动主机统计方法有以下几种:1.专利“一种活动主机数量的检测方法及装置”(CN200610057572.9)提出一种基于流量分析的活动主机数量检测方法,包括在监测设备中设置监控表、根据流经所述监控设备的数据包更新所述监控表、以及根据所述监控表判断所述活动主机数量的步骤。该专利技术还提供了一种网络地址转换设备后活动主机数量的检测装置。该专利技术用于对各种网络设备后活动主机数量的统计。其主要思路为:在监控设备中设置监控表,记录所有新发现主机的信息,包括上线时间和下线时间,每个主机一条记录;针对每个数据包,从数据包中提取当前主机信息,包括当前主机开机时间、关机时间和端口号;将数据包中提取的当前主机信息中的开机时间与监控表中每个记录的开机时间进行依次对比,如果相等,则将当前主机的端口号添加到所述与当前主机有相同开机时间的结构中,否则新建立一个结构,记录当前主机信息;最后,根据监控表中每个结构的表项得出对应主机的活动区间,如果需要获得活动主机数量的时刻在该活动区间内,则该主机为活动主机,从而统计出活动主机数量(即在某个时刻T,如果需要判断某个主机H是否为该时刻的活动主机,则比较主机H的活动区间是否与T存在任何形式的重合,如果重合则判定H为T时刻的活动主机,以此完成对任意时刻的活动主机数量统计)。该方法主要根据主机开机时间来进行不同主机身份的识别,需要在监控表中为每个可能的活动主机保留一条记录,而且在每次更新监控表的过程中都需要对监控表进行遍历查找,在主机数量较多的情况下,监控表会占据大量内存空间,查找效率也会严重降低,导致统计结果不准确,甚至检测装置的内存耗尽。总体而言,该方法时间空间复杂度较高。2.论文“网络活动主机扫描探讨”(《经营管理者》2009年11期),提出一种基于主动扫描的活动主机探测方法,该方法使用winpcap等工具,向网络发送ARP、ICMP和TCP探测报文,通过分析接收到的ARP、ICMP应答报文来发现局域网和互联网主机,从而实现主机探测和数量统计。《一种活动主机的并行探测方法》(北京地区高校研究生学术交流会,2006)也采用了类似的方法,使用ICMPping、UDPping等主动探测方法,通过发送探测报文实现活动主机探测。3.专利“基于IPID和概率统计模型的NAT主机个数检测方法”(CN201510184723.6),提出了两种方法:(1)IPID检测法:IPID指的是IP报文首部的标识域,长度为16比特,它用来唯一标示一个IP报文,在实际的应用中通常把它当做一个计数器,不论数据包属于哪一个链接,同一台主机每发出一个IP包它的IPID值递增1,但是不同的主机之间的IPID值的增长是相互独立的,因为NAT后的每台主机产生的IPID增长轨迹相同的概率非常小,所以可以通过分析给定的IP地址发出的数据包的IPID有多少条增长轨迹就可以确定这个地址后有多少台主机了。(2)CookieID技术主机检测法:Cookie是大部分网站为了辨别身份而存储在用户本地终端的数据,CookieID是通过name=value这种方式存储的,同一网站为不同的用户分配的ID值不同,所以可以通过分析NAT发出的数据包中的CookieID来确定NAT后面有多少台主机,因为每一台主机它在同一个网站中的CookieID值是不同的。上述两种方法都仅仅用于统计NAT设备以下的网络主机数量。上述现有方法可以分为主动探测法(发送探测报文)和被动分析法(分析网络流量而不发送探测报文)。存在几个方面的问题:(1)主动探测方法需要向每一个IP地址发送探测报文,容易造成额外的网络负荷,也容易被防火墙等安全防护设备拦截,导致发送探测报文失效,从而无法精确的统计数量。(2)现有被动分析法大多用于对NAT设备后的主机数量进行统计,而不是针对所有主机(在能统计所有的情况下存在第(3)点中的不足);(3)被动探测法大多需要建立主机监控表,在监控表中为每个可能的活动主机保留一条记录,而且在每次更新监控表的过程中都需要对监控表进行遍历查找,算法的时间和空间复杂度均较高,在大规模IP主机活动的互联网环境下,会导致探测设备的内存和计算资源耗尽。
技术实现思路
针对上述研究的问题,本专利技术的目的在于提供一种基于二进制哈希表的活动IP主机数量统计方法,解决现有技术中:(1)主动探测方法需要向每一个IP地址发送探测报文,容易造成额外的网络负荷,也容易被防火墙等安全防护设备拦截,导致发送探测报文失效,从而无法精确的统计数量。(2)现有被动分析法大多用于对NAT设备后的主机数量进行统计,而不是针对所有主机;(3)被动探测法大多需要建立主机监控表,在监控表中为每个可能的活动主机保留一条记录,而且在每次更新监控表的过程中都需要对监控表进行遍历查找,算法的时间和空间复杂度均较高,在大规模IP主机活动的互联网环境下,会导致探测设备的内存和计算资源耗尽的问题。为了达到上述目的,本专利技术采用如下技术方案:一种基于二进制哈希表的活动IP主机数量统计方法,其特征在于,如下步骤:S1、建立活动IP主机数量统计所需的数据结构,设置初始值,数据结构包括一个二进制哈希表、一个IP主机计数器,一个开始时间戳,一个时间周期;数据结构的初始值为:二进制哈希表包括哈希位置和哈希成员,哈希位置对应的每个哈希成员为1个二进制位,每个哈希位置为十进制位,哈希表由固定长度的一串连续二进制位构成,记为HASHTABLE,二进制哈希表的长度为L,L=0XFFFFFF,即该二进制哈希表由连续16777215个二进制位构成,二进制哈希表中的每个二进制位设置初始值为0;IP主机计数器类型为正整数,单位为个,记为COUNT,设置初始值为0;开始时间戳类型为时间,记为BEGINTIME,设置初始值为开始时刻;时间周期为正整数,单位为秒,记为WINDOW,设置初始值为60;S2、对网络流量进行分析,即对每个IP分组的源IP地址,用哈希函数进行运算,获得哈希值,哈希值存放的是二进制哈希表中的某个哈希成员的二进制哈希位置;S3、在二进制哈希表中对哈希值相应的哈希成员进行更新操作,同时修改IP主机计数器;S4、判断当前时间戳与开始时间戳的差值是否大于等于时间周期,如果大于或等于时间周期,则输出IP主机计数器的值,并转到步骤S1进行新一轮统计,否则转到步骤S2继续进行统计。进一步,所述步骤S2的具体步骤为:S2.1、采用抓包方法捕获网络中的IP分组,提取源IP地址,使用标准的IP头部解析方法将捕获到的IP分组进行IP协议头部分析,提取其中的源IP地址,即ADDR,其长度为32位二进制;S2.2、对S2.1获得的ADDR采用哈希函数进行运算,获得哈希值,即V_HA本文档来自技高网
...

【技术保护点】
1.一种基于二进制哈希表的活动IP主机数量统计方法,其特征在于,如下步骤:S1、建立活动IP主机数量统计所需的数据结构,设置初始值,数据结构包括一个二进制哈希表、一个IP主机计数器,一个开始时间戳,一个时间周期;数据结构的初始值为:二进制哈希表包括哈希位置和哈希成员,哈希位置对应的每个哈希成员为1个二进制位,每个哈希位置为十进制位,哈希表由固定长度的一串连续二进制位构成,记为HASHTABLE,二进制哈希表的长度为L,L=OXFFFFFF,即该二进制哈希表由连续16777215个二进制位构成,二进制哈希表中的每个二进制位设置初始值为0;IP主机计数器类型为正整数,单位为个,记为COUNT,设置初始值为0;开始时间戳类型为时间,记为BEGINTIME,设置初始值为开始时刻;时间周期为正整数,单位为秒,记为WINDOW,设置初始值为60;S2、对网络流量进行分析,即对每个IP分组的源IP地址,用哈希函数进行运算,获得哈希值,哈希值存放的是二进制哈希表中的某个哈希成员的二进制哈希位置;S3、在二进制哈希表中对哈希值相应的哈希成员进行更新操作,同时修改IP主机计数器;S4、判断当前时间戳与开始时间戳的差值是否大于等于时间周期,如果大于或等于时间周期,则输出IP主机计数器的值,并转到步骤S1进行新一轮统计,否则转到步骤S2继续进行统计。...

【技术特征摘要】
1.一种基于二进制哈希表的活动IP主机数量统计方法,其特征在于,如下步骤:S1、建立活动IP主机数量统计所需的数据结构,设置初始值,数据结构包括一个二进制哈希表、一个IP主机计数器,一个开始时间戳,一个时间周期;数据结构的初始值为:二进制哈希表包括哈希位置和哈希成员,哈希位置对应的每个哈希成员为1个二进制位,每个哈希位置为十进制位,哈希表由固定长度的一串连续二进制位构成,记为HASHTABLE,二进制哈希表的长度为L,L=OXFFFFFF,即该二进制哈希表由连续16777215个二进制位构成,二进制哈希表中的每个二进制位设置初始值为0;IP主机计数器类型为正整数,单位为个,记为COUNT,设置初始值为0;开始时间戳类型为时间,记为BEGINTIME,设置初始值为开始时刻;时间周期为正整数,单位为秒,记为WINDOW,设置初始值为60;S2、对网络流量进行分析,即对每个IP分组的源IP地址,用哈希函数进行运算,获得哈希值,哈希值存放的是二进制哈希表中的某个哈希成员的二进制哈希位置;S3、在二进制哈希表中对哈希值相应的哈希成员进行更新操作,同时修改IP主机计数器;S4、判断当前时间戳与开始时间戳的差值是否大于等于时间周期,如果大于或等于时间周期,则输出IP主机计数器的值,并转到步骤S1进行新一轮统计,否则转到步骤S2继续进行统计。2.根据权利要求1所述的一种基于二进制哈希表的活动IP主机数量统计方法,其特征在于,所述步骤S2的具体步骤为:S2.1、采用抓包方法捕获网络中的IP分组,提取源IP地址,使用标准的IP头部解析方法将捕获到的IP分组进行IP协议头部分析,提取其中的源IP地址,即ADDR,其长度为32位二进制;S2.2、对S2.1获得的ADDR采用哈希函数进行运算,获得哈希...

【专利技术属性】
技术研发人员:张华峰段军红张小敏闫晓斌张驯袁晖赵博张小东宋曦李方军杨波张磊赵金雄李志茹魏峰杨凡高丽娜党倩卫祥王刚
申请(专利权)人:国网甘肃省电力公司电力科学研究院国网甘肃省电力公司国网甘肃省电力公司信息通信公司
类型:发明
国别省市:甘肃,62

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1