CN102307123A - 基于传输层流量特征的nat流量识别方法 - Google Patents

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

Info

Publication number
CN102307123A
CN102307123A CN201110261990A CN201110261990A CN102307123A CN 102307123 A CN102307123 A CN 102307123A CN 201110261990 A CN201110261990 A CN 201110261990A CN 201110261990 A CN201110261990 A CN 201110261990A CN 102307123 A CN102307123 A CN 102307123A
Authority
CN
China
Prior art keywords
nat
data
flow
characteristic
network
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.)
Granted
Application number
CN201110261990A
Other languages
English (en)
Other versions
CN102307123B (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.)
Sichuan Chengzhi Hearing Technology Co Ltd
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN 201110261990 priority Critical patent/CN102307123B/zh
Publication of CN102307123A publication Critical patent/CN102307123A/zh
Application granted granted Critical
Publication of CN102307123B publication Critical patent/CN102307123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及互联网应用技术领域,尤其涉及互联网应用中基于传输层特征对经过NAT的数据流量进行识别的方法,包括:如下步骤:采集经过NAT设备的数据包作为训练数据;从训练数据中学习一个分类器;将后续采集到的经过NAT设备的所有数据包送入所述分类器;所述分类器根据送入的数据包的数据流的特征区分NAT流量和非NAT流量。本发明不依赖于操作系统,不依赖任何特殊字段的被动识别方法,适用范围广,不易失效;通过对网络流量进行特征提取和特征选择可以有效地筛选出进行NAT识别的最优特征子集;根据筛选的最优特征子集,通过聚类算法将数据划分为不同簇,利用少量的标记数据确定簇的应用类型,实现NAT识别。

Description

基于传输层流量特征的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 EngineeringTask Force,因特网工程任务组)标准,允许一个整体机构所有用户以有限个公网IP地址在Internet上使用,也就是把内部私有网络地址转换成合法的公网IP地址的技术。借助于NAT技术,位于NAT后的主机拥有自己的内部私网IP地址,并利用NAT设备共享少量甚至一个公网IP地址,即可实现私有地址网络内所有计算机与Internet的通信需求。当位于NAT设备后的计算机需要与位于公网上的网络设备进行通信的时候,NAT设备将把对应的私网IP地址和端口号映射为自己的公网IP地址和端口号,这样位于NAT后的多台主机便可实现共享上网,相对于其他公网上的设备则是透明的。
NAT不仅解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机,给防火墙技术也带来了新的发展方向。但是,任何一种新技术都是一把双刃剑,NAT同时也给网络管理和监控带来了一些不可避免的问题,比如多用户私自共享上网,甚至私自建立黑网吧经营逃避监管等。这种无序的共享接入上网方式给运营商带来了诸多不利影响:降低了运营商的服务品质,网络接入基础建设费难以正常回收,运营商成本增加,用户流失,合法用户受到冲击,账号被盗用等情况。因此运营商迫切希望能够对这种无序的网络状况进行管理控制,而需要监控这种无序的共享上网行为,首先就要能够识别出共享上网的用户,然后对使用共享接入的用户进行验证审查,确认其是合法用户还是私接盗用的非法用户,最后对其中的非法用户接入的上网主机实施限制。
但是在基于NAT设备的共享接入网络环境下,NAT设备之后的主机对其他公网设备是透明的,其主机IP、主机数量等信息外部网络不可见,因此运营商无法轻易确定在一个公网IP地址之后到底有多少个用户。在更严重的情况下,NAT设备后的网络还可能成为黑客发起网络攻击的工具。因此,为了能够更加有效地管理网络环境,NAT检测技术的需求也越来越迫切,需要找到一种有效的方法来检测NAT设备之后的网络使用情况,有效区分一个公网IP对应的单个主机与NAT设备。
现有技术中,对于NAT检测技术的研究成果,根据检测技术的特点,主要分为两种类型:一是协议分析检测法,二是应用层特征检测法。以下分别对这两类检测技术作简单介绍:
1.协议分析检测法
该方法主要利用分析数据链路层、网络层、传输层的协议字段来进行NAT的检测识别,比如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检测方法的准确性。
(2)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设备的方法。
该方法的缺点:需要目标操作系统启用时间戳功能,如果主机不启用时间戳,该方法将完全失效。可以主动诱导被测主机发出时间戳,但这种方法就要主动向目标发数据,利用了主动的检测方法,而主动检测方法的缺点也是显而易见,发送的诱导数据很可能被拦截,从而使主动检测也失效。
(4)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等进行判断。
(1)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请求应该比较频繁。
所述特征选择步骤中,用进化包装Wrapper算法选择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种特征(248个TCP连接特征和1个目标应用类型特征)作为分类的候选特征。对于基于TCP头部的特征,可以采用tcptrace工具进行提取,对于TCP和UDP的其他特征,则可以按照特征的含义从数据包中提取,最后将这两部分合并到一起就形成了数据流的完整特征参数。
在本发明的研究中,流是指双向流,即a(client)->b(server)和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(过滤器)特征选择和Wrapper(进化包装算法)特征选择。Filter特征选择算法是根据给定的策略去选择最优的特征,它是独立于聚类算法的;而Wrapper选择算法使利用相关的聚类算法去评估每个候选特征子集。这两种特征选择算法各有优缺点,Filter算法数据处理速度较快,而Wrapper算法准确性较高,但效率较低。下面主要介绍了Wrapper特征选择算法的流程框架。
如图4所示,是本发明实施例的采用Wrapper算法进行特征选择的流程图,包括如下具体步骤:
步骤401,将经过特征提取获得的所有TCP和UDP的流量特征作为原始特征集用于特征搜索。
步骤402,对原始特征集利用特征搜索算法可以获取候选特征子集。特征搜索算法有很多,主要分为以下几类:完全搜索、顺序搜索、随机搜索和一些混合搜索策略。对于具体的问题可以根据实际情况采取不同特征搜索算法。
步骤403,使用聚类算法对上个步骤中得到的候选特征子集进行聚类,将数据划分为不同的两个簇。经典的聚类算法有很多,主要有基于划分的K-Means算法、基于密度的DBSCAN算法和基于模型的EM算法,可以根据实际问题采取相应的聚类算法。通过特征搜索和具体的聚类算法可以去掉候选特征之间的相关冗余性。
步骤404,直接以聚类学习算法的训练准确率作为特征评价标准对前面选择的候选特征子集和聚类结果进行评估,考察特征对聚类准确率的影响,藉此取出冗余特征。若不满足则不断重复上述过程直到找到满足的最优特征子集和相应聚类,若满足则该候选特征子集和相应聚类即是最后特征选择结果。
另外,本发明实施例利用数据挖掘软件WEKA中属性选择面板提供的特征搜索算法和属性评估器来进行特征选择,其中提供了很多不同类型的特征搜索算法和属性评估。下表是利用特征搜索算法BestFirst和属性评估Correlation-based Feature Selection(CFS)进行特征选择得到的NAT流最优特征子集。CFS是逐一评估每个属性的预测能力和它们之间的重复程度,然后挑选那些与类高度关联但相互之间关联程度却较低的属性;BestFirst是通过返回进行贪心式的爬山搜索。
本发明所最终确定的NAT数据流的最优特征子集包括的特征见表1。
Figure BDA0000089326380000141
表1:本发明所最终确定的NAT数据流的最优特征子集
所述服务端是指各种在因特网上使用公网IP地址提供资源服务的设备;而客户端是指在NAT设备之后的,使用私网IP地址的设备。
由于实际环境中不同的NAT网络所具有的流量特征有较大差异,所以特征选择尤为重要,经过特征选择出来的最优特征子集可能不同。对于不同的NAT网络,可以结合具体情况使用不同的特征选择算法,并根据标记的少量具有NAT流量类别的网络流量特征对其他流量特征进行反复训练,以找到最优的流量特征集合。
步骤304,聚类步骤:利用特征选择步骤从训练数据得到的NAT数据流的最优特征子集,使用聚类算法对大量的无标记数据和少量的标记数据进行聚类,将数据划分为不同的两个簇。无标记数据和标记数据针对的是特征提取中区分目标应用类型的特征,本发明的目标应用类型就是NAT流,无标记数据指的是不知道目标应用类型,标记数据指的是知道了目标应用类型为NAT流。无标记数据就是采集的数据包经过数据预处理、提取特征后直接得到的;而标记数据则是将采集的数据包先经过数据预处理,然后根据实验NAT网络的外部IP进行手工标记,再进行特征提取得到的。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (10)

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地址的设备。
CN 201110261990 2011-09-06 2011-09-06 基于传输层流量特征的nat流量识别方法 Active CN102307123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110261990 CN102307123B (zh) 2011-09-06 2011-09-06 基于传输层流量特征的nat流量识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110261990 CN102307123B (zh) 2011-09-06 2011-09-06 基于传输层流量特征的nat流量识别方法

Publications (2)

Publication Number Publication Date
CN102307123A true CN102307123A (zh) 2012-01-04
CN102307123B CN102307123B (zh) 2013-09-25

Family

ID=45380937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110261990 Active CN102307123B (zh) 2011-09-06 2011-09-06 基于传输层流量特征的nat流量识别方法

Country Status (1)

Country Link
CN (1) CN102307123B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811220A (zh) * 2012-07-31 2012-12-05 张江 宽带上网防私接串接的系统及方法
CN102882733A (zh) * 2012-10-24 2013-01-16 广东天波信息技术股份有限公司 一种穿越nat设备实现web网管方法
CN102984163A (zh) * 2012-12-06 2013-03-20 华为技术有限公司 控制同一ip地址的多个主机访问网络的方法及系统
CN105162901A (zh) * 2015-09-30 2015-12-16 北京特立信电子技术股份有限公司 一种基于sopc的nat的实现方法及装置
CN105577679A (zh) * 2016-01-14 2016-05-11 华东师范大学 一种基于特征选择与密度峰值聚类的异常流量检测方法
CN106850599A (zh) * 2017-01-18 2017-06-13 中国科学院信息工程研究所 一种基于融合用户行为和迅雷id的nat检测方法
CN107195020A (zh) * 2017-05-25 2017-09-22 清华大学 一种面向列车自动驾驶模式学习的列车运行记录数据处理方法
CN107454202A (zh) * 2017-07-11 2017-12-08 浙江远望信息股份有限公司 一种基于http协议分析的nat边界发现方法
CN108259637A (zh) * 2017-11-30 2018-07-06 湖北大学 一种基于决策树的nat设备识别方法及装置
CN109510785A (zh) * 2018-12-27 2019-03-22 杭州迪普科技股份有限公司 一种镜像报文的方法和装置
CN109726744A (zh) * 2018-12-14 2019-05-07 深圳先进技术研究院 一种网络流量分类方法
CN110049147A (zh) * 2019-03-28 2019-07-23 中国科学院计算技术研究所 一种nat后主机数量检测方法
CN110572325A (zh) * 2019-09-06 2019-12-13 成都深思科技有限公司 一种nat路由器流量识别方法
CN110769077A (zh) * 2019-10-14 2020-02-07 新华三信息安全技术有限公司 一种报文处理方法、装置、网络设备及存储介质
CN110868409A (zh) * 2019-11-08 2020-03-06 中国科学院信息工程研究所 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统
CN110912933A (zh) * 2019-12-17 2020-03-24 中国科学院信息工程研究所 一种基于被动测量的设备识别方法
CN110912904A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 恶意设备识别方法、装置、存储介质和计算机设备
CN112615854A (zh) * 2020-12-17 2021-04-06 北京天融信网络安全技术有限公司 终端准入控制方法、装置、准入服务器及存储介质
CN113381967A (zh) * 2020-03-09 2021-09-10 中国移动通信集团设计院有限公司 宽带防私接判断方法、装置、电子设备及存储介质
CN113381968A (zh) * 2020-03-09 2021-09-10 中国移动通信集团设计院有限公司 宽带防私接判断方法、装置、电子设备及存储介质
CN114884918A (zh) * 2022-05-20 2022-08-09 深圳铸泰科技有限公司 一种基于ip标识号的nat设备识别方法及系统
CN115567322A (zh) * 2022-11-15 2023-01-03 成都数默科技有限公司 一种基于tcp服务开放端口识别异常通信的方法
CN116032851A (zh) * 2022-12-30 2023-04-28 上海天旦网络科技发展有限公司 基于间隔时序轨迹特征的tcp短连接的nat识别方法及系统
CN117579525A (zh) * 2023-11-20 2024-02-20 北京思存通信技术有限公司 一种网络协议特征识别系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510873A (zh) * 2009-03-20 2009-08-19 扬州永信计算机有限公司 基于支持向量机的混合式点对点流量检测方法
US20100205120A1 (en) * 2009-02-06 2010-08-12 Microsoft Corporation Platform for learning based recognition research

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205120A1 (en) * 2009-02-06 2010-08-12 Microsoft Corporation Platform for learning based recognition research
CN101510873A (zh) * 2009-03-20 2009-08-19 扬州永信计算机有限公司 基于支持向量机的混合式点对点流量检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
龙坤: "P2P流量识别方法比较研究", 《信息工程大学学报》, 30 June 2009 (2009-06-30) *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811220A (zh) * 2012-07-31 2012-12-05 张江 宽带上网防私接串接的系统及方法
CN102882733A (zh) * 2012-10-24 2013-01-16 广东天波信息技术股份有限公司 一种穿越nat设备实现web网管方法
CN102882733B (zh) * 2012-10-24 2015-08-19 广东天波信息技术股份有限公司 一种穿越nat设备实现web网管方法
CN102984163A (zh) * 2012-12-06 2013-03-20 华为技术有限公司 控制同一ip地址的多个主机访问网络的方法及系统
CN102984163B (zh) * 2012-12-06 2015-09-30 华为技术有限公司 控制同一ip地址的多个主机访问网络的方法及系统
CN105162901A (zh) * 2015-09-30 2015-12-16 北京特立信电子技术股份有限公司 一种基于sopc的nat的实现方法及装置
CN105162901B (zh) * 2015-09-30 2019-05-14 北京特立信电子技术股份有限公司 一种基于sopc的nat的实现方法及装置
CN105577679B (zh) * 2016-01-14 2019-02-15 华东师范大学 一种基于特征选择与密度峰值聚类的异常流量检测方法
CN105577679A (zh) * 2016-01-14 2016-05-11 华东师范大学 一种基于特征选择与密度峰值聚类的异常流量检测方法
CN106850599A (zh) * 2017-01-18 2017-06-13 中国科学院信息工程研究所 一种基于融合用户行为和迅雷id的nat检测方法
CN106850599B (zh) * 2017-01-18 2019-12-03 中国科学院信息工程研究所 一种基于融合用户行为和迅雷id的nat检测方法
CN107195020A (zh) * 2017-05-25 2017-09-22 清华大学 一种面向列车自动驾驶模式学习的列车运行记录数据处理方法
CN107454202A (zh) * 2017-07-11 2017-12-08 浙江远望信息股份有限公司 一种基于http协议分析的nat边界发现方法
CN108259637A (zh) * 2017-11-30 2018-07-06 湖北大学 一种基于决策树的nat设备识别方法及装置
CN109726744A (zh) * 2018-12-14 2019-05-07 深圳先进技术研究院 一种网络流量分类方法
CN109510785A (zh) * 2018-12-27 2019-03-22 杭州迪普科技股份有限公司 一种镜像报文的方法和装置
CN110049147A (zh) * 2019-03-28 2019-07-23 中国科学院计算技术研究所 一种nat后主机数量检测方法
CN110049147B (zh) * 2019-03-28 2020-07-31 中国科学院计算技术研究所 一种nat后主机数量检测方法
CN110572325A (zh) * 2019-09-06 2019-12-13 成都深思科技有限公司 一种nat路由器流量识别方法
CN110769077A (zh) * 2019-10-14 2020-02-07 新华三信息安全技术有限公司 一种报文处理方法、装置、网络设备及存储介质
CN110868409A (zh) * 2019-11-08 2020-03-06 中国科学院信息工程研究所 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统
CN110912904A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 恶意设备识别方法、装置、存储介质和计算机设备
CN110912904B (zh) * 2019-11-27 2021-07-02 腾讯科技(深圳)有限公司 恶意设备识别方法、装置、存储介质和计算机设备
CN110912933B (zh) * 2019-12-17 2021-04-02 中国科学院信息工程研究所 一种基于被动测量的设备识别方法
CN110912933A (zh) * 2019-12-17 2020-03-24 中国科学院信息工程研究所 一种基于被动测量的设备识别方法
CN113381967B (zh) * 2020-03-09 2022-11-01 中国移动通信集团设计院有限公司 宽带防私接判断方法、装置、电子设备及存储介质
CN113381967A (zh) * 2020-03-09 2021-09-10 中国移动通信集团设计院有限公司 宽带防私接判断方法、装置、电子设备及存储介质
CN113381968A (zh) * 2020-03-09 2021-09-10 中国移动通信集团设计院有限公司 宽带防私接判断方法、装置、电子设备及存储介质
CN113381968B (zh) * 2020-03-09 2022-10-18 中国移动通信集团设计院有限公司 宽带防私接判断方法、装置、电子设备及存储介质
CN112615854A (zh) * 2020-12-17 2021-04-06 北京天融信网络安全技术有限公司 终端准入控制方法、装置、准入服务器及存储介质
CN114884918A (zh) * 2022-05-20 2022-08-09 深圳铸泰科技有限公司 一种基于ip标识号的nat设备识别方法及系统
CN115567322A (zh) * 2022-11-15 2023-01-03 成都数默科技有限公司 一种基于tcp服务开放端口识别异常通信的方法
CN115567322B (zh) * 2022-11-15 2023-03-10 成都数默科技有限公司 一种基于tcp服务开放端口识别异常通信的方法
CN116032851A (zh) * 2022-12-30 2023-04-28 上海天旦网络科技发展有限公司 基于间隔时序轨迹特征的tcp短连接的nat识别方法及系统
CN116032851B (zh) * 2022-12-30 2024-05-14 上海天旦网络科技发展有限公司 基于间隔时序轨迹特征的tcp短连接的nat识别方法及系统
CN117579525A (zh) * 2023-11-20 2024-02-20 北京思存通信技术有限公司 一种网络协议特征识别系统
CN117579525B (zh) * 2023-11-20 2024-06-11 北京思存通信技术有限公司 一种网络协议特征识别系统

Also Published As

Publication number Publication date
CN102307123B (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
CN102307123B (zh) 基于传输层流量特征的nat流量识别方法
USRE49126E1 (en) Real-time adaptive processing of network data packets for analysis
US8180892B2 (en) Apparatus and method for multi-user NAT session identification and tracking
CN102271090B (zh) 基于传输层特征的流量分类方法及装置
Livadas et al. Usilng machine learning technliques to identify botnet traffic
CN102035698B (zh) 基于决策树分类算法的http隧道检测方法
US10332005B1 (en) System and method for extracting signatures from controlled execution of applications and using them on traffic traces
KR101295708B1 (ko) 트래픽 수집장치, 트래픽 분석장치, 시스템 및 그 분석방법
CN104283897B (zh) 基于多数据流聚类分析的木马通信特征快速提取方法
CN106330584B (zh) 一种业务流的识别方法及识别装置
US20170118129A1 (en) Identifying ip traffic from multiple hosts behind a network address translation device
CN103139315A (zh) 一种适用于家庭网关的应用层协议解析方法
CN102724317A (zh) 一种网络数据流量分类方法和装置
CN104022999A (zh) 基于协议分析的网络数据处理方法及系统
CN104994016B (zh) 用于分组分类的方法和装置
CN107181605B (zh) 报文检测方法及系统、内容提取装置、流量匹配装置
CN106302450A (zh) 一种基于ddos攻击中恶意地址的检测方法及装置
CN106789242A (zh) 一种基于手机客户端软件动态特征库的识别应用智能分析引擎
Mongkolluksamee et al. Counting NATted hosts by observing TCP/IP field behaviors
CN104092588B (zh) 一种基于SNMP与NetFlow结合的网络异常流量检测方法
CN106789728A (zh) 一种基于NetFPGA的VoIP流量实时识别方法
CN107948015B (zh) 一种服务质量分析方法、装置及网络系统
Cohen Source attribution for network address translated forensic captures
CN114760216B (zh) 一种扫描探测事件确定方法、装置及电子设备
CN109309679A (zh) 一种基于tcp流状态的网络扫描检测方法及检测系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SICHUAN ZHILIAN KECHUANG TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA

Effective date: 20141210

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 611731 CHENGDU, SICHUAN PROVINCE TO: 610041 CHENGDU, SICHUAN PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20141210

Address after: 610041, No. 1, building 1, No. 104, No. 1129, Century Road, Chengdu hi tech Zone, Sichuan, 1

Patentee after: Zhaopin Sichuan Kechuang Technology Co. Ltd.

Address before: 611731 Chengdu province high tech Zone (West) West source Avenue, No. 2006

Patentee before: University of Electronic Science and Technology of China

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160921

Address after: 610000, No. 2, No. 51, No. 1, Wu Qing Road, Wuhou District Metro Administrative Science Park, Chengdu, Sichuan 1, China

Patentee after: Sichuan Chengzhi hearing Technology Co. Ltd.

Address before: 610041, No. 1, building 1, No. 104, No. 1129, Century Road, Chengdu hi tech Zone, Sichuan, 1

Patentee before: Zhaopin Sichuan Kechuang Technology Co. Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: NAT (Network Address Translation) flow identification method based on transmission layer flow characteristic

Effective date of registration: 20181012

Granted publication date: 20130925

Pledgee: Chengdu SME financing Company Limited by Guarantee

Pledgor: Sichuan Chengzhi hearing Technology Co. Ltd.

Registration number: 2018510000099

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20200119

Granted publication date: 20130925

Pledgee: Chengdu SME financing Company Limited by Guarantee

Pledgor: Sichuan Chengzhi hearing Technology Co. Ltd.

Registration number: 2018510000099

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Nat traffic identification method based on transport layer traffic characteristics

Effective date of registration: 20210207

Granted publication date: 20130925

Pledgee: Chengdu SME financing Company Limited by Guarantee

Pledgor: SICHUAN WISCRED TECHNOLOGY Co.,Ltd.

Registration number: Y2021980001104