基于传输层流量特征的nat流量识别方法

文档序号:7902199阅读:539来源:国知局
专利名称:基于传输层流量特征的nat流量识别方法
技术领域
本发明涉及互联网应用技术领域,尤其涉及互联网应用中基于传输层特征对经过 NAT的数据流量进行识别的方法。
背景技术
IPv4 (IP协议版本4)指定了 32比特用于IP地址,理论上总共有4,294, 967,296 个IP地址。然而在实际应用中,由于预留了一些用于测试、组播和其他专门用途的IP地址, 实际仅有33亿个左右的IP地址可分配使用。由于互联网的飞速发展,越来越多的用户加入到使用互联网的行列之中,全球IP地址资源匮乏的问题也日益突出,可用IP地址数目现在明显不足。虽然新的IPv6(IP协议版本6)开拓了巨大的IP地址空间,可以解决网络地址资源不足的问题。但是,IPv6还处在发展推广阶段,距离IPv6的全球广泛使用还有一定距离。NAT (NetworkAddress Translation,网络地址转换)技术作为暂时解决IP地址耗尽的过渡技术应运而生。网络地址转换是一个IETF(Internet Engineering Task Force, 因特网工程任务组)标准,允许一个整体机构所有用户以有限个公网IP地址在hternet 上使用,也就是把内部私有网络地址转换成合法的公网IP地址的技术。借助于NAT技术, 位于NAT后的主机拥有自己的内部私网IP地址,并利用NAT设备共享少量甚至一个公网IP 地址,即可实现私有地址网络内所有计算机与hternet的通信需求。当位于NAT设备后的计算机需要与位于公网上的网络设备进行通信的时候,NAT设备将把对应的私网IP地址和端口号映射为自己的公网IP地址和端口号,这样位于NAT后的多台主机便可实现共享上网,相对于其他公网上的设备则是透明的。NAT不仅解决了 IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机,给防火墙技术也带来了新的发展方向。但是,任何一种新技术都是一把双刃剑,NAT同时也给网络管理和监控带来了一些不可避免的问题,比如多用户私自共享上网,甚至私自建立黑网吧经营逃避监管等。这种无序的共享接入上网方式给运营商带来了诸多不利影响降低了运营商的服务品质,网络接入基础建设费难以正常回收,运营商成本增加,用户流失,合法用户受到冲击,账号被盗用等情况。因此运营商迫切希望能够对这种无序的网络状况进行管理控制,而需要监控这种无序的共享上网行为,首先就要能够识别出共享上网的用户,然后对使用共享接入的用户进行验证审查,确认其是合法用户还是私接盗用的非法用户,最后对其中的非法用户接入的上网主机实施限制。但是在基于NAT设备的共享接入网络环境下,NAT设备之后的主机对其他公网设备是透明的,其主机IP、主机数量等信息外部网络不可见,因此运营商无法轻易确定在一个公网IP地址之后到底有多少个用户。在更严重的情况下,NAT设备后的网络还可能成为黑客发起网络攻击的工具。因此,为了能够更加有效地管理网络环境,NAT检测技术的需求也越来越迫切,需要找到一种有效的方法来检测NAT设备之后的网络使用情况,有效区分一个公网IP对应的单个主机与NAT设备。
现有技术中,对于NAT检测技术的研究成果,根据检测技术的特点,主要分为两种类型一是协议分析检测法,二是应用层特征检测法。以下分别对这两类检测技术作简单介绍1.协议分析检测法该方法主要利用分析数据链路层、网络层、传输层的协议字段来进行NAT的检测识另|J,比如IPID、TTL、TCP时间戳、TCP初始序列码等。(1) IPID检测法IPID是IP层中用来标识IP数据包的字段,占据两个字节,其初衷是为分片重组提供方便,用来唯一标识主机发出的每一个IP报文,而在实际应用中操作系统常常将IPID作为一个计数器使用。不论数据包属于哪个连接,同一主机每发出一个数据包IPID值就会递增1。不同主机的IPID值独立地递增,因此,当同一个网络中的多台主机同时访问网络时,每台主机的IPID值按照各自的序列递增。因为不同主机开机时间不尽相同,活动频率也不相同,因此NAT后的不同主机产生相同的IPID轨迹的概率极小。根据这点,通过分析统计一个指定IP地址发出的数据包的IPID值,查看其有多少个不同的连续轨迹,可以较准确地识别这个NAT设备后的主机数。该方法的缺点该方法的识别效果完全取决于IPID字段的数值,当NAT设备修改其后不同主机的IPID值,使修改后的数值看似同一主机发出的连续IPID值,这就会使该检测方法失效;当某些操作系统不适用线性的IPID也会使其失效;当NAT设备后的内网主机之间有数据交互时,IP数据包在内网传播时IPID也会增长,因此会使得IPID值从NAT外部看失去规律性,出现跳变;还有就是IPID在增长到65535时会发生翻转,重新从0开始计数,形成两条轨迹,这些都会影响IPID检测方法的准确性。O) TTL检测法TTL (生存时间,Time TO Live)值是IP协议包中的一个8位字段, 它表示该数据包的生存时间。根据TCP/IP协议,数据包每通过一个三层网络设备IP包头中的TTL字段值就会自动减1。典型的操作系统的初始TTL都是固定的,一般windows操作系统TTL值为128,其他常用操作系统TTL值会为64。因此通过NAT设备的数据包TTL值会比同等条件下没有通过NAT设备的数据包TTL值小1,在同类用户中检测到TTL值小1的主机即可初步判定有NAT设备的存在。该方法的缺点该检测方法完全依赖于TTL字段值,当设备能够修改该TTL字段值,则该方法就会失效;还有就是不同操作系统的TTL不同,这也会影响该检测方法的判断准确性。(3)TCP时间戳检测法时间戳是TCP协议的选项字段,发送方可以在数据包中放置一个时间戳,接收方在收到该带有时间戳的数据包后,在确认包中返回这个数值,从而使发送方能够为每一个ACK回复包计算RTT值。时间戳是个单调递增的数值,在开机瞬间从 0开始计数,之后的数值等于该主机从开机到当前时间的毫秒数,当系统重启该值也会重新置0。基于时间戳的以上性质,可以根据时间戳的不同取值获取主机的开机时间,一般说来不同主机的开机时间不可能完全相同,所以不同主机与标准时间之差往往按照一定比例线性变化,因此可以根据时间戳与标准时间的差值作为识别NAT设备的方法。该方法的缺点需要目标操作系统启用时间戳功能,如果主机不启用时间戳,该方法将完全失效。可以主动诱导被测主机发出时间戳,但这种方法就要主动向目标发数据,利用了主动的检测方法,而主动检测方法的缺点也是显而易见,发送的诱导数据很可能被拦截,从而使主动检测也失效。G)TCP初始序列码检测法TCP协议为了可靠地传输数据,使用了一个序列码字段以确定数据包发出的顺序,TCP协议的三次握手时要发出的TCPSYN标志数据包以建立连接,此数据包的序列码称为初始序列码(ISN),而后的每个数据包序列码递增1。因为TCP 连接建立时的三次握手时必不可少的,因此每个TCP连接建立都会发送TCP SYN数据包,从而可以从该SYN数据包中提取出源主机的ISN。现在的windows操作系统对ISN的选取采用的是每过一段时间ISN值就自动加上一个小的数值,这就使基于TCP ISN值的NAT识别成为可能。在NAT设备外部进行抓包,统计分析数据包的ISN值,由于不同主机的起始值和开启时间不同,随着时间的推移ISN值一般会相互离散成为几条连线。因此对一段时间的ISN值统计分析便可判断出被测流量是由一台还是由多台主机产生的,并且还可以根据离散连线的条数确定NAT设备后的共享主机数目。该方法的缺点因为各种操作系统生成ISN的算法一般不同,所以不同的操作系统会对该方法产生干扰。2.应用层特征检测法应用层特征检测法用于检测各种应用层数据报文特征,从而区别标识不同的主机,比如利用CookieID和UserAgent等进行判断。(I)CookieID检测法=Cookie是HTTP中用于浏览器与Web服务器之间传输状态信息的,是网站为了辨别用户身份而存储在用户本地终端的数据信息。一般情况下,当用户浏览某网站时,Web服务器返回给用户相应内容,并伴随一个含有用户ID信息和日期时间等信息的Cookie。用户浏览器将该Cookie保存在本地,当用户再次访问该网站时,会将该Cookie带出,该网站根据Cookie可以得到该用户的相关信息。在HTTP协议中,Web服务器对初次访问该网站的用户分配的Cookie信息中会设置有效期,若没设置有效期,则该 Cookie从打开浏览器到关闭浏览器之间有效。由于在Cookie有效期内,同一网站为不同用户分配的Cookie ID值是不同的。因此统计分析某指定IP地址发出的HTTP请求报文,如果同一 IP地址下访问某一相同网站有多个CookieID值,就可以确定这个IP地址后有多台主机共享接入网络,并且还可以根据Cookie ID的数目确定NAT设备后主机的数目。该方法的缺点使用Cookie ID检测NAT设备后的共享接入主机的数目时,要求在同一检测周期中用户会访问相同网站,而且当用户关闭浏览器时可能会清除Cookie,因此该检测方法很大程度上受用户上网习惯的影响,检测误差较大。(2)UserAgent检测法=UserAgent是一个特殊的只读字符串头,声明了浏览器用于HTTP请求的用户代理头的值,使得服务器能够识别客户使用的操作系统及版本、浏览器及版本、CPU类型等。因此应用层数据报文中的HTTP报头中的UserAgent字段因操作系统版本、浏览器版本和补丁的差异而不尽相同,通过分析HTTP报头中的该字段可以确定NAT 设备后的主机数。该方法的缺点该方法会因操作系统、浏览器的使用情况产生误判,比如一台主机开启两个浏览器就会对影响该方法的检测效果。综上所述,目前还尚未有根据传输层的流量特征对穿越NAT的网络流量进行识别,进而对NAT进行检测的方法。

发明内容
本发明提出了一种根据传输层流量特征进行NAT流量识别的方法,通过将数据挖掘技术应用到NAT识别,以克服现有NAT识别方法中依赖操作系统或者无法避免NAT设备修改协议头内容等缺陷。鉴于以上目的,本发明提供一种基于传输层流量特征的NAT流量识别方法,其特征在于,包括如下步骤A、采集经过NAT设备的数据包作为训练数据;B、从训练数据中学习一个分类器;C、将后续采集到的经过NAT设备的所有数据包送入所述分类器;D、所述分类器根据送入的数据包的数据流的特征区分NAT流量和非NAT流量。
具体的,步骤A中,所采集经过NAT设备的网络数据包为双向的。进一步的,步骤B具体包括如下步骤数据预处理步骤获取采集到的训练数据之后,按照五元组源IP、目的IP、源端口、目的端口和协议的方式提取出数据流,并丢弃不完整的数据流;特征提取步骤分别提取TCP数据流和UDP数据流中的特征参数信息;通过提取统计到TCP数据流的IP报文段的个数、字节大小以及到达时间作为特征参数,并通过TCP 报文头部信息提取特征参数,从而形成TCP数据流的完整特征参数;UDP数据流提取源、目的端口、以太帧的大小及统计特征、IP报文段的数据大小及统计特征、双向的UDP数据包总数、双向的UDP流量吞吐量作为特征参数;特征选择步骤用特征选择算法选择TCP数据流和UDP数据流特征参数信息中的 NAT数据流的最优特征子集和相应聚类;或者根据NAT流量特征凭经验进行特征选择;聚类步骤利用特征选择步骤从训练数据得到的NAT数据流的最优特征子集,使用聚类算法对大量的无标记数据和少量的标记数据进行聚类,将数据划分为不同的两个簇。更进一步的,步骤C具体包括如下步骤对于后续采集的经过NAT设备的数据包, 首先要先经过提取数据流,然后进行预处理之后,提取数据流的特征,最后再送入分类器;步骤D具体包括如下步骤利用少量的标记数据标记簇,并将标记信息扩展到簇内所有数据,确定两个簇分别与流量的映射关系,实现NAT流量和非NAT流量的识别。所述数据预处理步骤中,对于建立连接标志和拆除连接标志不完整的TCP数据流进行丢弃;并将具有相同五元组的UDP数据包归为一个完整的UDP流。所述特征选择步骤中,凭经验进行特征选择所依据的NAT流程特征包括NAT网络的网络流量较大、和或NAT网络的并发TCP连接数较多、和或NAT网络上下行流量差异较小、和或NAT网络总体上是持续稳定的流量、和或NAT网络的DNS请求应该比较频繁。所述特征选择步骤中,用进化包装feapper算法选择TCP数据流和UDP数据流特征信息中的NAT流量特征的具体步骤为将经过特征提步骤取获的所有TCP数据流和UDP 数据流的流量特征作为原始特征集,利用特征搜索算法从原始特征集中获取候选特征子集;然后使用聚类算法将所述候选特征子集进行聚类,最后直接以聚类学习算法的训练准确率作为特征评价标准对前面选择的候选特征子集和聚类结果进行评估,从而去除冗余特征;直到找到满足的NAT数据流的最优特征子集和相应聚类。所述NAT数据流的最优特征子集包括的特征为服务端端口、以太帧最小字节数、 服务端发送给客户端带重发数据包的SACK总数、客户端发送给服务端带FIN位的数据包总数、客户端发送给服务端建立TCP连接时的最大IP报文段长度、服务端到客户端的往返时间RTT的平均值、服务端到客户端从TCP 3次握手计算的RTT、在所有重传中,两次重传之间的最小时间、所有IP数据包中字节的中值。所述服务端是指各种在因特网上使用公网IP地址提供资源服务的设备;而客户端是指在NAT设备之后的,使用私网IP地址的设备。通过以上技术方案可以看出,本发明基于传输层流量特征的NAT识别,并将数据挖掘技术应用到NAT流量识别;本方案具有如下一些优点(1)本发明不依赖于操作系统,不依赖任何特殊字段的被动识别方法,适用范围广,不易失效;(2)通过对网络流量进行特征提取和特征选择可以有效地筛选出进行NAT识别的最优特征子集;(3)根据筛选的最优特征子集,通过聚类算法将数据划分为不同簇,利用少量的标记数据确定簇的应用类型,实现NAT识别。


图1是本发明提出的基于传输层流量特征的NAT流量识别方法的流程图;图2是本发明实施例提供的一种数据采集的网络环境示意图;图3是本发明实施例提供的一种分类器的生成流程图;图4是本发明实施例提供的采用Wrapper算法进行特征选择流程图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明。流量(Flow)是传输层的一个对象,它描述了具有相同的IP地址、端口号和协议 (TCP,UDP等)的包串,也就是将五元组(源IP、目的IP、源端口、目的端口和协议)相同的 IP包串组成双向的流。通常,对传输层流量的研究是为了识别上层应用的类型。如图1所示,为本发明基于传输层流量特征的NAT流量识别方法的流程图,包括如下步骤步骤101,采集经过NAT设备的数据包作为训练数据。如图2所示,本发明实施例进行数据采集的网络环境示意图,对连接NAT设备的局域网交换机的端口(称为被镜像端口)进行镜像,从而获取经过NAT设备进出该局域网交换机的全部数据包,数据采集终端连接该局域网交换机的镜像端口,采用windump或tcpdump等抓包工具软件实现数据采集,采集包含普通主机和NAT网络的流量作为样本数据。采集数据时应尽量保证普通主机和NAT 网络流量的网络环境相似。本发明中采集的经过NAT设备的网络数据包为双向的。步骤102,从训练数据中学习一个分类器。本发明利用数据挖掘技术生成一个分类器,以下针对本步骤会进行详细说明。步骤103,将采集到的经过NAT设备的所有数据包送入所述分类器。在本步骤中, 对于后续采集的经过NAT设备的数据包,也需要先经过提取数据流,然后进行预处理之后, 提取数据流的特征,再送入分类器。步骤104,所述分类器根据送入的数据包的数据流的特征区分NAT流量和非NAT流量。本发明利用少量的标记数据标记分类器的簇,并将标记信息扩展到簇内所有数据,确定簇与应用类型的映射关系,实现NAT流量识别。如图3所示,为本发明实施例的从训练数据中学习一个分类器的详细步骤步骤301,数据预处理在抓取了作为训练数据的网络数据包之后,首先要按照五元组(源IP,目的IP,源端口,目的端口,协议)的方式提取流。对于TCP数据流,由于其有明显的建立连接标志和拆除连接标志,所以TCP数据流的开始和结束相应也容易确定。对于UDP数据流无法确定开始和结束,则将具有相同五元组的UDP数据包归为一个完整的UDP 流。五元组相同的流可能存在多个,对于建立连接标志和拆除连接标志不完整的TCP数据流进行丢弃。在实际的网络环境中,获取少量的标记数据是可行的,因此我们可以根据实际NAT 网络的外部IP标记少量的NAT网络流量作为训练样本,标记的流量数据在一定程度上反映了真实网络数据的分布情况。步骤302,特征提取从采集的数据中提取的流只是一系列具有相同五元组的包串,为了用数据挖掘技术来研究NAT流量的识别,必须研究流量的特征行为,并从流量的包串中提取出这些特征参数。为了分析NAT流量,本发明首先研究了 TCP与UDP流的特征参数,对TCP数据流的主要提取的特征参数是统计流的IP报文段的个数、字节大小及到达时间,还有一部分是通过TCP的IP报文段头部的信息来提取的,而UDP的IP报文段头部包含的信息较少,可提取的特征相对也较少,所以UDP数据流提取源、目的端口、以太帧的大小及统计特征、IP报文段的数据大小及统计特征、双向的UDP数据包总数、双向的UDP流量吞吐量作为特征参数。为了提高识别率,总是最大限度地提取特征信息,现有技术中有提取 TCP连接的249种特征048个TCP连接特征和1个目标应用类型特征)作为分类的候选特征。对于基于TCP头部的特征,可以采用tcptrace工具进行提取,对于TCP和UDP的其他特征,则可以按照特征的含义从数据包中提取,最后将这两部分合并到一起就形成了数据流的完整特征参数。在本发明的研究中,流是指双向流,即a (client)-〉Mserver)和b_>a两个方向,相应的在特征参数中表示为后缀_a_b和_b_a。_ 步骤303,特征选择用特征选择算法选择TCP数据流和UDP数据流特征参数信息中的NAT数据流的最优特征子集和相应聚类;或者根据NAT流量特征凭经验进行特征选择。特征提取出的过高的特征维数给进一步流量识别处理带来了较大的困难,因此需要进行特征选择。特征选择的目的主要有两个,一是除去冗余的特征,二是除去那些对于目标属性无关的特征。特征选择的方法主要有两种一种是凭借主观经验来确定,另一种是通过特征选择算法来筛选。在具体的实际应用中也可以结合这两种方法进行特征选择。关于凭借主观经验来进行NAT流量特征选择时,由于在一定的时间内,相比于一台普通主机,NAT设备后具有多台主机,其网络流量特征也大不相同,首先进行NAT流量特征分析,所以本发明实施例以根据以下NAT流量特征凭经验确定一些NAT流量特征参数1、总体来看NAT网络的网络流量较大,虽然一台主机大量下载或看视频时产生的流量也可能很大,但通常情况下相对于NAT出口的总流量要小很多;2、NAT网络的并发TCP连接数较多,相对于NAT网络总得并发TCP连接数,一台主机同时打开的连接相对较少;3、NAT网络上下行流量差异较小,而一台主机的网络行为比较单一,短时间内上传和下载的差异较大;4、NAT网络总体上是持续稳定的流量,而一台主机的网络流量具有突发性,与用户网络操作密切相关,大部分时间应该没有网络流量;5,NAT网络的DNS请求应该比较频繁,由此DNS请求数量较多,一台主机短时间内不会产生较多DNS请求。特征选择算法主要分为两大类=Filter (过滤器)特征选择和feapper (进化包装算法)特征选择。Filter特征选择算法是根据给定的策略去选择最优的特征,它是独立于聚类算法的;而Wrapper选择算法使利用相关的聚类算法去评估每个候选特征子集。这两种特征选择算法各有优缺点,Filter算法数据处理速度较快,而Wrapper算法准确性较高, 但效率较低。下面主要介绍了 Wrapper特征选择算法的流程框架。如图4所示,是本发明实施例的采用Wrapper算法进行特征选择的流程图,包括如下具体步骤步骤401,将经过特征提取获得的所有TCP和UDP的流量特征作为原始特征集用于特征搜索。步骤402,对原始特征集利用特征搜索算法可以获取候选特征子集。特征搜索算法有很多,主要分为以下几类完全搜索、顺序搜索、随机搜索和一些混合搜索策略。对于具体的问题可以根据实际情况采取不同特征搜索算法。步骤403,使用聚类算法对上个步骤中得到的候选特征子集进行聚类,将数据划分为不同的两个簇。经典的聚类算法有很多,主要有基于划分的K-Means算法、基于密度的 DBSCAN算法和基于模型的EM算法,可以根据实际问题采取相应的聚类算法。通过特征搜索和具体的聚类算法可以去掉候选特征之间的相关冗余性。步骤404,直接以聚类学习算法的训练准确率作为特征评价标准对前面选择的候选特征子集和聚类结果进行评估,考察特征对聚类准确率的影响,藉此取出冗余特征。若不满足则不断重复上述过程直到找到满足的最优特征子集和相应聚类,若满足则该候选特征子集和相应聚类即是最后特征选择结果。另外,本发明实施例利用数据挖掘软件TOKA中属性选择面板提供的特征搜索算法和属性评估器来进行特征选择,其中提供了很多不同类型的特征搜索算法和属性评估。下表是利用特征搜索算法BestFirst和属性评估Correlation-based Feature Selection(CFS)进行特征选择得到的NAT流最优特征子集。CFS是逐一评估每个属性的预测能力和它们之间的重复程度,然后挑选那些与类高度关联但相互之间关联程度却较低的属性;BestFirst是通过返回进行贪心式的爬山搜索。本发明所最终确定的NAT数据流的最优特征子集包括的特征见表1。
权利要求
1.基于传输层流量特征的NAT流量识别方法,其特征在于,包括如下步骤A、采集经过NAT设备的数据包作为训练数据;B、从训练数据中学习一个分类器;C、将后续采集到的经过NAT设备的所有数据包送入所述分类器;D、所述分类器根据送入的数据包的数据流的特征区分NAT流量和非NAT流量。
2.根据权利要求1所述的方法,其特征在于,步骤A中,所采集经过NAT设备的网络数据包为双向的。
3.根据权利要求2所述的方法,其特征在于,步骤B具体包括如下步骤数据预处理步骤获取采集到的训练数据之后,按照五元组源IP、目的IP、源端口、目的端口和协议的方式提取出数据流,并丢弃不完整的数据流;特征提取步骤分别提取TCP数据流和UDP数据流中的特征参数信息;通过提取统计到TCP数据流的IP报文段的个数、字节大小以及到达时间作为特征参数,并通过TCP报文头部信息提取特征参数,从而形成TCP数据流的完整特征参数;UDP数据流提取源、目的端口、以太帧的大小及统计特征、IP报文段的数据大小及统计特征、双向的UDP数据包总数、 双向的UDP流量吞吐量作为特征参数;特征选择步骤用特征选择算法选择TCP数据流和UDP数据流特征参数信息中的NAT 数据流的最优特征子集和相应聚类;或者根据NAT流量特征凭经验进行特征选择;聚类步骤利用特征选择步骤从训练数据得到的NAT数据流的最优特征子集,使用聚类算法对大量的无标记数据和少量的标记数据进行聚类,将数据划分为不同的两个簇。
4.根据权利要求3所述的方法,其特征在于,步骤C具体包括如下步骤对于后续采集的经过NAT设备的数据包,首先要先经过提取数据流,然后进行预处理之后,提取数据流的特征,最后再送入分类器;步骤D具体包括如下步骤利用少量的标记数据标记簇,并将标记信息扩展到簇内所有数据,确定两个簇分别与流量的映射关系,实现NAT流量和非NAT流量的识别。
5.根据权利要求4所述的方法,其特征在于,所述数据预处理步骤中,对于建立连接标志和拆除连接标志不完整的TCP数据流进行丢弃;并将具有相同五元组的UDP数据包归为一个完整的UDP流。
6.根据权利要求4或5所述的方法,其特征在于,所述特征选择步骤中,凭经验进行特征选择所依据的NAT流程特征包括NAT网络的网络流量较大、和或 NAT网络的并发TCP连接数较多、和或 NAT网络上下行流量差异较小、和或 NAT网络总体上是持续稳定的流量、和或 NAT网络的DNS请求应该比较频繁。
7.根据权利要求6所述的方法,其特征在于,所述特征选择步骤中,用进化包装 Wrapper算法选择TCP数据流和UDP数据流特征信息中的NAT流量特征的具体步骤为将经过特征提步骤取获的所有TCP数据流和UDP数据流的流量特征作为原始特征集,利用特征搜索算法从原始特征集中获取候选特征子集;然后使用聚类算法将所述候选特征子集进行聚类,最后直接以聚类学习算法的训练准确率作为特征评价标准对前面选择的候选特征子集和聚类结果进行评估,从而去除冗余特征;直到找到满足的NAT数据流的最优特征子集和相应聚类。
8.根据权利要求6所述的方法,其特征在于,所述特征选择步骤中,利用数据挖掘软件 WEKA中提供的特征搜索算法和属性评估器来进行特征选择。
9.根据权利要求4-8任一项所述的方法,其特征在于,所述NAT数据流的最优特征子集包括的特征为服务端端口、以太帧最小字节数、服务端发送给客户端带重发数据包的 SACK总数、客户端发送给服务端带FIN位的数据包总数、客户端发送给服务端建立TCP连接时的最大IP报文段长度、服务端到客户端的往返时间RTT的平均值、服务端到客户端从 TCP 3次握手计算的RTT、在所有重传中,两次重传之间的最小时间、所有IP数据包中字节的中值。
10.根据权利要求9所述的方法,其特征在于,所述服务端是指各种在因特网上使用公网IP地址提供资源服务的设备;而客户端是指在NAT设备之后的,使用私网IP地址的设备。
全文摘要
本发明涉及互联网应用技术领域,尤其涉及互联网应用中基于传输层特征对经过NAT的数据流量进行识别的方法,包括如下步骤采集经过NAT设备的数据包作为训练数据;从训练数据中学习一个分类器;将后续采集到的经过NAT设备的所有数据包送入所述分类器;所述分类器根据送入的数据包的数据流的特征区分NAT流量和非NAT流量。本发明不依赖于操作系统,不依赖任何特殊字段的被动识别方法,适用范围广,不易失效;通过对网络流量进行特征提取和特征选择可以有效地筛选出进行NAT识别的最优特征子集;根据筛选的最优特征子集,通过聚类算法将数据划分为不同簇,利用少量的标记数据确定簇的应用类型,实现NAT识别。
文档编号H04L12/26GK102307123SQ201110261990
公开日2012年1月4日 申请日期2011年9月6日 优先权日2011年9月6日
发明者于富才, 周阳, 文竞成, 胡光岷, 钱峰 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1