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

文档序号:8514516阅读:682来源:国知局
基于ipid和概率统计模型的nat主机个数检测方法
【技术领域】
[0001] 本发明属于网络技术领域,具体设及一种基于IPID和概率统计模型的NAT主机个 数检测方法。
【背景技术】
[0002] 随着接入Internet的计算机数量的极速增长,IP地址资源也显得越来越紧张。一 般用户几乎申请不到整段的C类IP地址,即使是拥有几百台计算机的大型局域网用户,当 他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,该样少的IP 地址根本无法满足网络用户的需求,于是也就产生了NAT技术。
[0003] NAT(NetworkAcMressTranslation,网络地址转化)技术作为一种暂时解决IP 地址不足的过渡技术,它是一个IETF标准,它能够让一个机构里面的所有用户可W通过有 限个公网IP连接入Internet,即把内部私有网络地址转换成合法的公网IP地址的技术。 NAT它不止解决了IP不足的问题,而且还能有效的避免来自网络外部的攻击,隐藏并保护 网络内部的计算机。虽然NAT技术给我们带来了很多好处,但同时也有它带来的弊端,比如 给网络管理和监控带来了一些不可避免的困难,多用户私自共享上网,更有甚者建立黑网 吧经营逃避监管。该些都给运营商带来了很多不利因素。因为在基于NAT设备的共享接 入网络环境中,设备后的主机对于其他公网设备是透明的,主机IP和主机数量等信息对于 外部网络都是不可见的,因此,运营商无法轻易的确定在一个公网IP地址后面有多少个主 机,所W通过使用一种方法来计算NAT设备后面的主机数是非常有必要的了。
[0004] 在目前现有的检测技术中主要WIPID检测法为代表,本发明也主要是基于该种 检测方法之上;也有人提出了一种基于CookielD技术的NAT后面的主机个数的计算方法, 下面简单的对该两种检测方法进行介绍。
[0005] (l)IPID检测法JPID指的是IP报文首部的标识域,长度为16比特,它用来唯 一标示一个IP报文,在实际的应用中通常把它当做一个计数器,不论数据包属于哪一个链 接,同一台主机每发出一个IP包它的IPID值递增1,但是不同的主机之间的IPID值的增长 是相互独立的,因为NAT后的每台主机产生的IPID增长轨迹相同的概率非常小,所W我们 可W通过分析给定的IP地址发出的数据包的IPID有多少条增长轨迹就可W确定该个地址 后有多少台主机了。
[0006] (2)CookieID技术主机检测法;Cookie是大部分网站为了辨别身份而存储在用户 本地终端的数据,CookieID是通过name=value该种方式存储的,同一网站为不同的用 户分配的ID值不同,所W可W通过分析NAT发出的数据包中的CookielD来确定NAT后面 有多少台主机,因为每一台主机它在同一个网站中的CookielD值是不同的。
[0007] IPID序列检测法的缺陷是;NAT内部发生通信的主机其序列会发生变化,包重传, 逆序的影响,从而使得各个主机的序列之间可能存在混淆。IPID轨迹的获取过分的依赖于 是否能够获连续的获得目标IP发出的数据包,当主机使用多线程下载工具时会使得IPID 值有变化,使得IPID值失去规律性,一般表现为同一个主机的序列发生间断而变成多个序 列,从而影响IPID序列检测法的准确性,导致误判或多检。
[0008] CookielD技术主机检测法的缺陷是;当有些主机它没有访问所分析的CookielD 的网站时,就无法确定主机个数了,因此无法满足该种用户随机访问网站的情况,所W在 NAT后的主机访问的网站随机性大,分布比较广的情况下,该种技术的主机个数计算方法的 准确性难W满足需求,同时计算的时间也比较长。

【发明内容】

[0009] 本发明提出了一种基于IPID和概率统计模型的NAT主机个数检测方法,能够解决 IPID检测法中存在的序列混淆、序列间断问题,提高NAT主机个数计算的准确率。
[0010] 本发明采用的技术方案如下:
[0011] 一种基于IPID和概率统计模型的NAT主机个数检测方法,其步骤包括:
[0012] 1)将在监听时间内获取的数据平均分成n份,n为大于1的自然数,每份的时间间 隔为d;
[0013] 2)获取每个时间段di里IP数据包的元数据〈timestamp,IPID〉,且按照时间戳 timestamp进行排序;
[0014] 3)初始化每个时间段中里的IPID序列集Si为空,并给出计算分别属于相邻时间 段内的两个序列是否属于同一个序列的阔值;
[0015] 4)循环遍历每个时间段di里的IPID值,根据所述阔值,将所有的IPID值添加到 序列集Si中的合适序列中;
[0016] 5)根据步骤4)的结果,计算每个时间段di里对应的序列总数Nd,.;
[0017] 6)如果分别属于相邻时间段内的两个序列属于同一个序列,则该两个序列是交叉 的,在相邻的两个时间段di和dW里,求得交叉序列的个数,进而得到时间段di和dW中的 交叉序列总数Nci,N。=N屯气1;
[001引 7)根据步骤W得到的Nd,和步骤6)得到的Nc,,求得整个监听时间上所有时间 段的平均Nd,和平均Nc,,即
【主权项】
1. 一种基于IPID和概率统计模型的NAT主机个数检测方法,其步骤包括: 1) 将在监听时间内获取的数据平均分成η份,η为大于1的自然数,每份的时间间隔为 d ; 2) 获取每个时间段屯里IP数据包的元数据〈timestamp,IPID>,且按照时间戳 timestamp进行排序; 3) 初始化每个时间段Cli里的IPID序列集S i为空,并给出计算分别属于相邻时间段内 的两个序列是否属于同一个序列的阈值; 4) 循环遍历每个时间段Cli里的IPID值,根据所述阈值,将所有的IPID值添加到序列 集Si中的合适序列中; 5) 根据步骤4)的结果,计算每个时间段Cli里对应的序列总数Nd.; 6) 如果分别属于相邻时间段内的两个序列属于同一个序列,则该两个序列是交叉的, 在相邻的两个时间段屯和d i+1里,求得交叉序列的个数,进而得到时间段d JP d i+1中的交 叉序列总数Nc, ,Nci =Ndi ηΛ^+ι; 7) 根据步骤5)得到的Nd,和步骤6)得到的NC|,求得整个监听时间上所有时间段的平 均^+和平均N c,,即
8) 根据公式| = 求得N作为NAT设备后主机的数量。
2. 如权利要求1所述的方法,其特征在于,步骤4)中将IPID值添加到序列集S i中的 方法是:对于元数据Vi,如果序列集存在一个序列满足以下条件: vi-vJ|<gap_lim, It(Vi)^(Vj) |<gap_lim, 其中'是序列\中最后一个元数据,t(v p代表其到达时间,则将Vi添加到序列\中; 否则建立一个新的序列添加到Si中。
3. 如权利要求1或2所述的方法,其特征在于:设定最小序列长度f_size,步骤5)将 Si中元数据个数小于f_size的序列删除,然后得到每个时间段d ,里对应的序列总数Ndi。
4. 如权利要求3所述的方法,其特征在于,步骤6)中,假设d i时间段里的一个序列的尾 部与di+1时间段里的一个序列的头部相近,则称这两个序列是交叉的,即属于同一个序列。
5. 如权利要求4所述的方法,其特征在于,对于序列s i= [i u i2,.....ix]和S2 = Ui, J.2, · · ·,jy],如果 ji- timestamp-ix. timestamp | <time_lim&& | J1. IPID-ix. IPID|<gap_ 1:1111,则称81、82相近,其中1:;[1]16_1;[1]1为判定两个序列为相近序列的最大时间间隔,83口_1;[1]1 为判断两个序列是否相近的阈值。
【专利摘要】本发明涉及一种基于IPID和概率统计模型的NAT主机个数检测方法。该方法把一段整体时间内的数据包,平均分割成n个时间段的数据包进行处理,在每个时间段里采用IPID的方法来得到IPID序列集,然后再对每两个相邻的时间段的IPID序列集计算交叉序列的个数,最终再通过整体来计算NAT后主机的总的个数。本发明能够解决IPID检测法中存在的序列混淆、序列间断问题,提高NAT主机个数计算的准确率。
【IPC分类】H04L12-26
【公开号】CN104836700
【申请号】CN201510184723
【发明人】毛志, 牛温佳, 赵卫中, 张博, 管洋洋, 谭建龙, 郭莉
【申请人】中国科学院信息工程研究所
【公开日】2015年8月12日
【申请日】2015年4月17日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1