一种基于融合用户行为和迅雷ID的NAT检测方法与流程

文档序号:12693828阅读:352来源:国知局
一种基于融合用户行为和迅雷ID的NAT检测方法与流程
本发明属于互联网被动流量分析和NAT检测
技术领域
,涉及一种基于融合用户行为和迅雷ID的NAT检测方法。
背景技术
:NAT(NetworkAddressTranslation,网络地址转换)技术应用减缓了IP地址空间的枯竭,实现了私有网络IP地址与公共网络IP地址间的映射关系,使得内外网隔离开来,从而将局域网中的所有计算机隐藏并保护起来,无法通过公共网络访问,有效地防范了来自公共网络的各种非法攻击。因此,NAT技术也为防火墙技术的发展提供了新的思路。如今,绝大多数路由器中都集成了NAT技术,这为私有网络安全提供了一定的保障。然而,与历史上许多其他技术一样,NAT技术同样也有负面性。一方面,多用户共享上网的方式占据了大量的网络资源,运营商成本增加;另一方面,NAT技术增加了使用被动流量进行个性化网络服务及非法用户追踪的难度。现有的NAT流量识别方法一般都是采用被动检测方法,被动检测方法是通过被动地监听网络中的数据流量,检测数据包的首部或内容信息,来进行数据包的源IP地址的身份判断。根据各种识别方法的不同特点,大致上可以把现有的NAT被动检测方法分为两个大的类别,分别为:基于TCP/IP协议特征字段的识别方法、基于应用层信息的识别方法。1)与本发明相关的现有技术方案一:User-Agent识别法User-Agent是用户浏览器使用的一个特殊的只读字符串头,每当用户浏览某个网站时,浏览器发送的HTTP请求数据包的用户代理头中就包含该User-Agent值。Web服务器通过该User-Agent值,便可以知道用户使用的操作系统及版本是什么、浏览器及版本是什么、CPU类型是什么等。又由于同一个网络中的不同主机的操作系统及版本、浏览器及版本、甚至于打的补丁都不尽相同,因此通过统计分析同一个IP地址发出的所有HTTP请求数据包中的User-Agent字段,便可以确定是普通主机还是NAT设备,如果是NAT设备,还可以用来分别标识NAT。2)与本发明相关的现有技术方案二:CookieID识别法在HTTP协议中,为了在User-Agent(一般为浏览器)与Web服务器之间有效的传输状态信息,便于网站辨别用户的身份,定义了一个Cookie数据值。当用户浏览某个网站时,Web服务器将生成一个包含有用户ID、时间日期等信息的Cookie值,并将该Cookie值连同用户访问的相应内容一并返回给请求访问的浏览器,浏览器则将其存储于用户本地的终端中。当下次该用户再次浏览同一个网站时,用户会将上次保存在本地的Cookie值一并发送,网站通过该Cookie值便可以得到用户信息了。一般情况下,对于首次访问该网站的用户,Web服务器会在Cookie值中设置一个有效期。在有效期内,同一个网站下不同的用户的Cookie值中的用户ID是不同的。运营商经常利用一些知名网站的CookieID来对动态主机、NAT主机进行标识,进而做一些与网络测量、优化服务等相关的工作。然而,User-Agent识别法很大程度上受到用户上网习惯的制约,一些操作系统、浏览器的使用情况,如同一台主机打开两个不同的浏览器都会使其产生误判,而且由于User-Agent字段可以轻易地被用户修改,该方法的检测效果没有保障。CookieID识别法很大程度上受到用户上网习惯的制约,很难保证在同一段检测的时间内不同的用户都访问相同的网站。而且,有些用户会随时清理本机上的Cookie信息,这些因素都将使得CookieID识别法的检测误差相对较大。为了解决上述问题,本发明从已知的NAT检测方法出发,通过融合用户网络行为和迅雷ID特征识别NAT主机,同基于User-Agent、CookieID识别方法相比,可提高NAT判断的准确率,使得不仅能对NAT属性进行识别而且能够对NAT规模进行判定。技术实现要素:针对现有技术中存在的技术问题,本发明的目的在于提供一种基于融合用户行为和迅雷ID的NAT检测方法。本发明的技术方案为:一种基于融合用户行为和迅雷ID的NAT检测方法,其步骤为:1)流量处理平台从捕获的网络流量中提取User-Agent、CookieID、和迅雷ID信息,并将提取出的信息拼接成JSON串;2)根据网络流量的五元组将JSON串负载均衡到流量处理平台中相应的服务器进行处理;该五元组包括源IP、源端口、目的IP、目的端口和协议;3)所述服务器根据五元组对数据进行分类,当判断某一五元组对应的TCP流结束时;对该TCP流进行在线处理;其中,在线处理方法为:根据五元组计算客户端IP的主机出度、主机入度,判定该客户端IP的NAT属性,并计算该客户端IP的主机规模。进一步的,所述主机出度为:主机向其他主机发出的TCP连接数;所述主机入度为:主机接收其他主机的TCP连接数。进一步的,判定该客户端IP的NAT属性的方法为:当主机连续活跃程度>4小时,且从所述流量处理平台检测到该主机开始的连续24小时之内该主机总活跃程度>8小时,并且该主机出度/入度的比值>1.4时,将该主机标记为NAT主机。进一步的,计算该客户端IP的主机规模的方法为:根据该客户端IP的JSON串计算以User-Agent和CookieID组合键的数据量大小N1;将具有相同User-Agent的JSON串放入同一CookieID集合E,遍历集合E,找出不同User-Agent下具有相同的CookieID的User-Agent规模N2;以迅雷ID为Key计算Json串中去重的迅雷ID数量N3;主机规模计算为N1-N2+N3。进一步的,步骤3)中,所述服务器对收到的数据进行清洗,过滤掉没有User-Agent、CookieID、和迅雷ID特征的TCP连接数据,将属于同一五元组的数据进行集中。进一步的,所述流量处理平台为每一五元组对应的TCP流数据设置一个超时时间,当某一五元组在该超时时间内没有得到更新,则判定该五元组对应的TCP流结束。进一步的,根据网络流量的五元组将JSON串负载均衡到流量处理平台中相应的服务器进行处理的方法为:将五元组作为hash函数的key进行计算得到一索引值index,每一索引值index对应一不同的服务器;根据索引值index将JSON串负载均衡到相应的服务器,实现负载均衡。与现有技术相比,本发明的积极效果为:通过对现有识别方法的介绍可以看到,基于应用层协议特征字段的几种识别方法比较类似,都是完全依赖于应用层协议的某个特殊字段,会普遍受到该特殊字段的制约,识别效果的好坏完全取决于该字段,一旦该字段的数据不能满足要求,或者该字段本身被修改了,这些方法就将完全失效。并且这类方法还普遍受到来自于不同的操作系统的制约,而基于应用层信息的识别方法则普遍受到了用户上网习惯的制约,其检测效果充满了不确定性,如表1所示。表1为不同条件下对检测特征影响。类别|效果|方法基于User-Agent基于CookieID融合迅雷ID是否依赖于协议层是是否操作系统制约是是否用户上网习惯是是否现在,随着越来越多的NAT设备都具备了修改数据包中特殊字段的功能,现有的方法的使用范围变得越来越窄,已经远远无法满足需求。因此,找到一种不会过分依赖某一特征字段,不依赖于操作系统,用户操作习惯也对其影响较小的方法就显得迫在眉睫。本发明基于网络行为与网络内容挖掘相结合的方法,主要对应用层信息进行大范围流量检测,能够对大量IP属性进行标定并对NAT规模进行精准判断。附图说明图1为前端流量处理流程图;图2为后端融合计算平台处理流程图。具体实施方式下面结合附图对本发明进行进一步详细描述。●术语解释NAT(NetworkAddressTranslation):网络地址转换;主机出度:指主机向其他主机发出的四元组连接的数量;四元组连接指:源IP+源端口+目的IP+目的端口,等价于“TCP的连接数”。主机入度:指主机接收其他主机的四元组连接的数量;ISP(InternetServiceProvider):互联网服务提供商;●一种基于融合用户行为和迅雷ID的NAT检测方法基于单一的User-Agent识别方法或CookieID识别方法不能保证NAT检测的准确率,本发明在这两种方法的基础上提出了一种基于用户行为和迅雷P2PID识别的混合检测方法。这四种方法相互佐证,保证识别出的NAT以及判定NAT规模的准确性。下面对这两种方法进行介绍:1)主机出入度识别法为了更好的叙述和理解,下面给出“度”、“入度”和“出度”定义:度:TCP的连接数:源IP地址-源端口-目的端IP-目的端端口号;出度:主机向其他主机发出的TCP连接数;入度:主机接收其他主机的TCP连接数。计算机网络异常行为与主机的出、入度存在某种数学规律。通过实验发现,某些网络异常与出、入度之间确实存在某种数学规律,如表2所示:表2为网络异常与出、入度之间数学规律当主机连续活跃程度>4小时、前端流量平台上检测到这个主机开始算起的连续24小时之内总活跃程度>8小时,并且主机出度/入度的比值>1.4时,满足上述三个条件可以将该主机标记为NAT。该方法通过对NAT网络行为分析,能够较准确的对大规模NAT进行属性判定。2)迅雷ID识别法迅雷主要使用P2P协议进行文件下载,处于NAT设备之后的拥有私有IP地址的主机之间建立P2P连接,就必须想办法穿过NAT。迅雷自定义传输协议穿过NAT设备,通过对迅雷协议的识别,发现在传输的流量中会包含迅雷ID号和内网IP地址等信息,如下所示:通过前端平台,从流量中提取出迅雷相关信息。在分析中发现,迅雷ID是唯一的,一个ID对应一个用户账号信息,同时也对应着NAT网络中一台NAT主机的内网IP。通过对主机关联的迅雷P2PID特征的识别能够较准确的识别NAT规模以及对NAT主机进行精确的定位。迅雷ID号与NAT主机为一一对应关系。NAT检测系统处理流程分为前端流量平台处理和后端融合计算平台处理两个流程,前端流量处理流程如图1所示,后端融合计算平台处理流程如图2所示。NAT检测系统处理处理流程描述为:1)流量处理平台的前端服务器从网关处捕获网络流量,应用层插件从捕获的网络流量中提取User-Agent、CookieID、和迅雷ID等信息;2)将提取出的信息拼接成JSON串,将五元组源IP+源端口+目的IP+目的端口+协议作为hash函数的key进行计算得到一索引值index(每个index做对应不同的服务器)、将JSON串负载均衡到相应的后端服务器进行处理,实现负载均衡,处理流程以UDP包的形式或通过第三方的activeMQ消息中间件形式对数据中转发送给后端程序处理;3)日志接收程序以异步方式接收UDP包,一级Redis数据库完成数据清洗,清洗没有User-Agent、CookieID、和迅雷ID特征的TCP连接数据,将属于同一五元组的数据进行集中,并发布超时的key;本发明对于每个以五元组为key的TCP流数据,都设置为一个超时时间,当某一key在设定超时时间内没有得到更新表示对应的TCP流结束;4)日志回收程序接收超时的key,把单条流量完整信息进行在线处理,发送给二级Redis进行计算;其中,在线处理方法为:通过以五元组key信息计算客户端IP的主机出、入度判定主机的NAT属性;对同一客户端IP所对应的JSON串信息,包括:ser-Agent,CookieID,迅雷ID等信息:2-1)计算以User-Agent和CookieID组合键的数据量大小N1;2-2)以User-Agent为Key,将Json串中相同的User-Agent对应的CookieID放入同一集合,不同的User-Agent对应的CookieID形成一个集合E;2-3)遍历集合E,找出不同User-Agent下具有相同的CookieID的User-Agent规模N2;2-4)以迅雷ID为Key计算Json串中去重的xunlei_uid数量N3;2-5)主机规模计算为N1-N2+N3。5)二级Redis主要计算客户端IP的主机出入度、OS、CookieID以及迅雷ID数量,完成NAT属性识别及规模判定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1