CN104836700B - 基于ipid和概率统计模型的nat主机个数检测方法 - Google Patents

基于ipid和概率统计模型的nat主机个数检测方法 Download PDF

Info

Publication number
CN104836700B
CN104836700B CN201510184723.6A CN201510184723A CN104836700B CN 104836700 B CN104836700 B CN 104836700B CN 201510184723 A CN201510184723 A CN 201510184723A CN 104836700 B CN104836700 B CN 104836700B
Authority
CN
China
Prior art keywords
sequence
ipid
period
sequences
lim
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201510184723.6A
Other languages
English (en)
Other versions
CN104836700A (zh
Inventor
毛志
牛温佳
赵卫中
张博
管洋洋
谭建龙
郭莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201510184723.6A priority Critical patent/CN104836700B/zh
Publication of CN104836700A publication Critical patent/CN104836700A/zh
Application granted granted Critical
Publication of CN104836700B publication Critical patent/CN104836700B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于IPID和概率统计模型的NAT主机个数检测方法。该方法把一段整体时间内的数据包,平均分割成n个时间段的数据包进行处理,在每个时间段里采用IPID的方法来得到IPID序列集,然后再对每两个相邻的时间段的IPID序列集计算交叉序列的个数,最终再通过整体来计算NAT后主机的总的个数。本发明能够解决IPID检测法中存在的序列混淆、序列间断问题,提高NAT主机个数计算的准确率。

Description

基于IPID和概率统计模型的NAT主机个数检测方法
技术领域
本发明属于网络技术领域,具体涉及一种基于IPID和概率统计模型的NAT主机个数检测方法。
背景技术
随着接入Internet的计算机数量的极速增长,IP地址资源也显得越来越紧张。一般用户几乎申请不到整段的C类IP地址,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。
NAT(Network Address Translation,网络地址转化)技术作为一种暂时解决IP地址不足的过渡技术,它是一个IETF标准,它能够让一个机构里面的所有用户可以通过有限个公网IP连接入Internet,即把内部私有网络地址转换成合法的公网IP地址的技术。NAT它不止解决了IP不足的问题,而且还能有效的避免来自网络外部的攻击,隐藏并保护网络内部的计算机。虽然NAT技术给我们带来了很多好处,但同时也有它带来的弊端,比如给网络管理和监控带来了一些不可避免的困难,多用户私自共享上网,更有甚者建立黑网吧经营逃避监管。这些都给运营商带来了很多不利因素。因为在基于NAT设备的共享接入网络环境中,设备后的主机对于其他公网设备是透明的,主机IP和主机数量等信息对于外部网络都是不可见的,因此,运营商无法轻易的确定在一个公网IP地址后面有多少个主机,所以通过使用一种方法来计算NAT设备后面的主机数是非常有必要的了。
在目前现有的检测技术中主要以IPID检测法为代表,本发明也主要是基于这种检测方法之上;也有人提出了一种基于CookieID技术的NAT后面的主机个数的计算方法,下面简单的对这两种检测方法进行介绍。
(1)IPID检测法:IPID指的是IP报文首部的标识域,长度为16比特,它用来唯一标示一个IP报文,在实际的应用中通常把它当做一个计数器,不论数据包属于哪一个链接,同一台主机每发出一个IP包它的IPID值递增1,但是不同的主机之间的IPID值的增长是相互独立的,因为NAT后的每台主机产生的IPID增长轨迹相同的概率非常小,所以我们可以通过分析给定的IP地址发出的数据包的IPID有多少条增长轨迹就可以确定这个地址后有多少台主机了。
(2)CookieID技术主机检测法:Cookie是大部分网站为了辨别身份而存储在用户本地终端的数据,Cookie ID是通过name=value这种方式存储的,同一网站为不同的用户分配的ID值不同,所以可以通过分析NAT发出的数据包中的CookieID来确定NAT后面有多少台主机,因为每一台主机它在同一个网站中的CookieID值是不同的。
IPID序列检测法的缺陷是:NAT内部发生通信的主机其序列会发生变化,包重传,逆序的影响,从而使得各个主机的序列之间可能存在混淆。IPID轨迹的获取过分的依赖于是否能够获连续的获得目标IP发出的数据包,当主机使用多线程下载工具时会使得IPID值有变化,使得IPID值失去规律性,一般表现为同一个主机的序列发生间断而变成多个序列,从而影响IPID序列检测法的准确性,导致误判或多检。
CookieID技术主机检测法的缺陷是:当有些主机它没有访问所分析的CookieID的网站时,就无法确定主机个数了,因此无法满足这种用户随机访问网站的情况,所以在NAT后的主机访问的网站随机性大,分布比较广的情况下,这种技术的主机个数计算方法的准确性难以满足需求,同时计算的时间也比较长。
发明内容
本发明提出了一种基于IPID和概率统计模型的NAT主机个数检测方法,能够解决IPID检测法中存在的序列混淆、序列间断问题,提高NAT主机个数计算的准确率。
本发明采用的技术方案如下:
一种基于IPID和概率统计模型的NAT主机个数检测方法,其步骤包括:
1)将在监听时间内获取的数据平均分成n份,n为大于1的自然数,每份的时间间隔为d;
2)获取每个时间段di里IP数据包的元数据<timestamp,IPID>,且按照时间戳timestamp进行排序;
3)初始化每个时间段di里的IPID序列集Si为空,并给出计算分别属于相邻时间段内的两个序列是否属于同一个序列的阈值;
4)循环遍历每个时间段di里的IPID值,根据所述阈值,将所有的IPID值添加到序列集Si中的合适序列中;
5)根据步骤4)的结果,计算每个时间段di里对应的序列总数
6)如果分别属于相邻时间段内的两个序列属于同一个序列,则该两个序列是交叉的,在相邻的两个时间段di和di+1里,求得交叉序列的个数,进而得到时间段di和di+1中的交叉序列总数
7)根据步骤5)得到的和步骤6)得到的求得整个监听时间上所有时间段的平均和平均
8)根据公式求得N作为NAT设备后主机的数量。
本发明是基于IPID检测法和概率统计模型之上的,它解决了IPID序列检测法易受包重发、主机内部通信影响的缺点,检测准确率比较稳定,相比IPID序列法计算准确率更高。
附图说明
图1是本发明的NAT主机个数检测方法的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
本发明提出了一种基于IPID和概率统计模型的NAT主机个数检测方法。解决了IPID检测法中的有些不足之处,提高了准确率。在IPID检测法中由于包重传,逆序的影响使得监听时间长度不宜确定,因此,本发明把一段整体时间内的数据包,平均分割成n个时间段的数据包进行处理,在每个时间段里采用IPID的方法来得到IPID序列集,然后再对每两个相邻的时间段的IPID序列集计算交叉序列的个数,最终再通过整体来计算NAT后主机的总的个数;该方法解决了IPID序列检测法易受包重发、主机内部通信影响的缺点,检测准确率比较稳定,不受监听时间的长短控制。
由于假设在极小的时间d内,到达的主机个数是服从泊松分布的,并且是否访问网络是等概率、相互独立的,因此本发明通过使用指数分布拟合等数学方法和实际实验来求得这个d,以下就是基于泊松分布的IPID主机识别法的具体算法:
1)将一个长度为SLOT(监听时间长度)的时间段上获取的数据平均分成n份,n为大于1的自然数,每份的时间间隔为d,然后对这n份时间段中的IP数据包进行处理;
2)获取每个时间段di里IP数据包的元数据<timestamp,IPID>,且按照时间戳timestamp进行排序;
3)初始化每个时间段di里的IPID序列集Si为空,该序列集Si是指IPID序列的集合,并给出gap_lim;gap_lim为计算分别属于相邻d内的两个序列是否属于同一个序列的阈值;
4)循环遍历每个时间段di里的IPID值,并将所有的IPID值添加到序列集Si中的某一个合适的序列中;所述合适的序列如步骤5)中所述。
5)对于元数据vi,如果序列集Si中存在一个序列Sj,满足以下条件:
|vi-vj|<gap_lim,|t(vi)-t(vj)|<time_lim,
其中vj是序列Sj中最后一个元数据,t(vj)代表其到达时间,gap_lim为判断两个序列是否相近的阈值,time_lim为判定两个序列为相近序列的最大时间间隔;则将vi添加到序列Sj中;否则就建立一个新的序列添加到Si中;
6)将Si中元数据个数小于f_size(最小序列长度)的序列删除,并得到每个时间段di里对应的序列总数
7)在相邻的两个时间段di和di+1里,求得交叉序列的个数,假设di时间段里的一个序列的尾部与di+1时间段里的一个序列的头部相近,则称这两个序列是交叉的,即属于同一个序列,因此得到时间段di和di+1中的序列交叉总数
8)根据上面得到的每个时间段中的序列总数和每两个连续时间段中相交叉合并的序列总数求得整监听时间SLOT上所有时间段的平均和平均
9)根据公式求得N作为NAT设备后主机数量。
本发明的关键点如下:
1)将一段长的时间平均分割成n段,在每一个时间段里到达的主机个数是服从泊松分布的,并且是否访问网络是等概率,相互独立的。
2)在每一个时间段里都采用IPID检测法进行聚类,但是只需要在每相邻的两个时间段里计算可以进行合并的序列数,不像IPID检测法是将整个时间段里所有的IPID都添加到序列集S中的的序列后再进行合并。
3)计算两相邻时间段里的平均交叉合并序列总数和每个时间段里的总的平均序列总数通过来计算NAT设备后主机数量N。
下面提供一个具体实例,该实例中设置如表1所示的参数,其中,SLOT为监听时间长度,d为设置的时间段,max_ipid_value为IPID最大值,gap_lim为判断两个序列是否相近的阈值,time_lim为判定两个序列为相近序列的最大时间间隔,单位为秒,f_size为最小序列长度。
表1.参数列表
我们定义计算准确率=min(N,Nr)/max(N,Nr),其中Nr为实际含有主机数,min(x,y)、max(x,y)分别为求取x,y中较小的数和较大的数。表2为使用基于原有IPID序列法的实验结果,可以看出由于序列间断、序列混淆等原因,一台主机的序列往往会被分成多个序列,因此在三个数据集上的准确率分别只有0.4875、0.3179、0.2488。根据表1设置的参数,采用本发明方法得到的实验结果如表3所示。可以看出,采用本发明方法,计算准确率分别达到0.8863、0.8387、0.9123,能够更加准确地计算NAT网络实际含有的主机个数。
表2.基于IPID序列法的实验结果列表
表3.基于IPID和概率统计模型方法的实验结果列表
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (5)

1.一种基于IPID和概率统计模型的NAT主机个数检测方法,其步骤包括:
1)将在监听时间内获取的数据平均分成n份,n为大于1的自然数,每份的时间间隔为d;
2)获取每个时间段di里IP数据包的元数据<timestamp,IPID>,且按照时间戳timestamp进行排序;
3)初始化每个时间段di里的IPID序列集Si为空,并给出计算分别属于相邻时间段内的两个序列是否属于同一个序列的阈值;
4)循环遍历每个时间段di里的IPID值,根据所述阈值,将所有的IPID值添加到序列集Si中的合适序列中;
5)根据步骤4)的结果,计算每个时间段di里对应的序列总数
6)如果分别属于相邻时间段内的两个序列属于同一个序列,则该两个序列是交叉的,在相邻的两个时间段di和di+1里,求得交叉序列的个数,进而得到时间段di和di+1中的交叉序列总数
7)根据步骤5)得到的和步骤6)得到的求得整个监听时间上所有时间段的平均和平均
8)根据公式求得N作为NAT设备后主机的数量。
2.如权利要求1所述的方法,其特征在于,步骤4)中将IPID值添加到序列集Si中的方法是:对于元数据vi,如果序列集Si中存在一个序列Sj,满足以下条件:
|vi-vj|<gap_lim,|t(vi)-t(vj)|<time_lim,
其中vj是序列Sj中最后一个元数据,t(vj)代表其到达时间,gap_lim为判断两个序列是否相近的阈值,time_lim为判定两个序列为相近序列的最大时间间隔,则将vi添加到序列Sj中;否则建立一个新的序列添加到Si中。
3.如权利要求1或2所述的方法,其特征在于:设定最小序列长度f_size,步骤5)将Si中元数据个数小于f_size的序列删除,然后得到每个时间段di里对应的序列总数
4.如权利要求3所述的方法,其特征在于,步骤6)中,假设di时间段里的一个序列的尾部与di+1时间段里的一个序列的头部相近,则称这两个序列是交叉的,即属于同一个序列。
5.如权利要求4所述的方法,其特征在于,对于序列s1=[i1,i2,...,ix]和s2=[j1,j2,...,jy],如果|j1.timestamp-ix.timestamp|<time_lim&&|j1.IPID-ix.IPID|<gap_lim,则称s1、s2相近,其中time_lim为判定两个序列为相近序列的最大时间间隔,gap_lim为判断两个序列是否相近的阈值。
CN201510184723.6A 2015-04-17 2015-04-17 基于ipid和概率统计模型的nat主机个数检测方法 Expired - Fee Related CN104836700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510184723.6A CN104836700B (zh) 2015-04-17 2015-04-17 基于ipid和概率统计模型的nat主机个数检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510184723.6A CN104836700B (zh) 2015-04-17 2015-04-17 基于ipid和概率统计模型的nat主机个数检测方法

Publications (2)

Publication Number Publication Date
CN104836700A CN104836700A (zh) 2015-08-12
CN104836700B true CN104836700B (zh) 2018-11-06

Family

ID=53814350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510184723.6A Expired - Fee Related CN104836700B (zh) 2015-04-17 2015-04-17 基于ipid和概率统计模型的nat主机个数检测方法

Country Status (1)

Country Link
CN (1) CN104836700B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110049147B (zh) * 2019-03-28 2020-07-31 中国科学院计算技术研究所 一种nat后主机数量检测方法
CN112333061A (zh) * 2020-10-23 2021-02-05 新华三信息安全技术有限公司 一种共享上网检测方法及装置
CN114928586A (zh) * 2022-02-09 2022-08-19 浙江远望信息股份有限公司 一种基于主动扫描的nat设备发现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026630A (zh) * 2007-03-30 2007-08-29 华为技术有限公司 检测方法、统计分析服务器以及检测系统
US8037167B1 (en) * 2002-12-24 2011-10-11 At&T Intellectual Property Ii, Lp Method for detecting hosts behind network address translators
CN102882748A (zh) * 2012-10-23 2013-01-16 深圳中兴网信科技有限公司 网络接入检测系统和网络接入检测方法
CN102957581A (zh) * 2012-11-29 2013-03-06 深圳中兴网信科技有限公司 网络接入检测系统和网络接入检测方法
CN103918246A (zh) * 2011-10-06 2014-07-09 高通股份有限公司 用于使用网络地址转换功能对ip分段进行数据分组处理的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037167B1 (en) * 2002-12-24 2011-10-11 At&T Intellectual Property Ii, Lp Method for detecting hosts behind network address translators
CN101026630A (zh) * 2007-03-30 2007-08-29 华为技术有限公司 检测方法、统计分析服务器以及检测系统
CN103918246A (zh) * 2011-10-06 2014-07-09 高通股份有限公司 用于使用网络地址转换功能对ip分段进行数据分组处理的系统和方法
CN102882748A (zh) * 2012-10-23 2013-01-16 深圳中兴网信科技有限公司 网络接入检测系统和网络接入检测方法
CN102957581A (zh) * 2012-11-29 2013-03-06 深圳中兴网信科技有限公司 网络接入检测系统和网络接入检测方法

Also Published As

Publication number Publication date
CN104836700A (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
Park et al. Classification of attack types for intrusion detection systems using a machine learning algorithm
CN105577679B (zh) 一种基于特征选择与密度峰值聚类的异常流量检测方法
CN101924757B (zh) 追溯僵尸网络的方法和系统
Giatsoglou et al. Retweeting activity on twitter: Signs of deception
CN102035698B (zh) 基于决策树分类算法的http隧道检测方法
CN107733851A (zh) 基于通信行为分析的dns隧道木马检测方法
WO2020133986A1 (zh) 僵尸网络域名家族的检测方法、装置、设备及存储介质
CN107370752B (zh) 一种高效的远控木马检测方法
CN111953552B (zh) 数据流的分类方法和报文转发设备
CN103795723A (zh) 一种分布式物联网安全态势感知方法
US9692779B2 (en) Device for quantifying vulnerability of system and method therefor
CN104836700B (zh) 基于ipid和概率统计模型的nat主机个数检测方法
CN106961450A (zh) 安全防御方法、终端、云端服务器以及安全防御系统
Zhang et al. Toward unsupervised protocol feature word extraction
Kothari et al. Mimic: An active covert channel that evades regularity-based detection
CN112615888A (zh) 一种网络攻击行为的威胁评估方法及装置
CN107302534A (zh) 一种基于大数据平台的DDoS网络攻击检测方法及装置
CN102571487A (zh) 基于多数据源分布式的僵尸网络规模测量及追踪方法
Wang et al. Botnet detection using social graph analysis
CN112270346A (zh) 基于半监督学习的物联网设备识别方法及装置
CN106878314A (zh) 基于可信度的网络恶意行为检测方法
CN109858510A (zh) 一种针对HTTP协议ETag值隐蔽通信的检测方法
CN106850658A (zh) 实时在线学习的网络恶意行为检测方法
Hammerschmidt et al. Efficient learning of communication profiles from ip flow records
CN112235242A (zh) 一种c&amp;c信道检测方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181106

Termination date: 20190417

CF01 Termination of patent right due to non-payment of annual fee