CN102685016B - 互联网流量区分方法 - Google Patents
互联网流量区分方法 Download PDFInfo
- Publication number
- CN102685016B CN102685016B CN201210184211.6A CN201210184211A CN102685016B CN 102685016 B CN102685016 B CN 102685016B CN 201210184211 A CN201210184211 A CN 201210184211A CN 102685016 B CN102685016 B CN 102685016B
- Authority
- CN
- China
- Prior art keywords
- packet
- flow
- application type
- network
- stream
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种互联网流量区分方法,依据少量的标表示的流量样本,通过离线的监督学习分类,通过被分类的流量的特征对没有被标记的流量进行识别,能够在网络流量发生的早期实现对生成流量的应用类别进行预测,保证对网络监督的及时性,从而实现在真实的网络环境下实现网络流量分类的问题。通过进一步的半监督聚类添加新的应用类型,完善应用类型标记与应用类型的关系表,对网络中声称的流量进行有效的标记,从而可以实时获取具有准确应用类型标签的流量数据。同时,当网络环境发生变化时,这种变化会在半监督聚类中体现出来,并进一步的满足对新网络环境的的流量区分。
Description
技术领域
本发明涉及一种网络流量分类的获得方法,特别是涉及一种互联网流量的区分方法。
背景技术
互联网流量区分主要是根据网络流量所呈现的特征,例如数据包大小,包间隔时间等,来预测产生该流量的网络应用类型。从而,网络管理员根据分类结果可以对网络资源的使用情况进行监测与控制,并针对提供的服务确保其服务质量。
现有的网络流量区分的实现主要是基于有监督学习的智能方法(对应于监督分类)和基于半监督学习的智能方法(对应于半监督分类)。
其中,基于有监督学习的网络流量区分方法,其实现过程可分为两个阶段:训练阶段和识别阶段。在训练阶段,对大量具有应用类型标签的流量样本进行学习,通过学习获取网络流量分类的经验知识,换句话说,就是根据被所述标签标记的流量样本的特征的学习获得标签的对应产生特征判定应用类型的一组规则,即分类模型。
在识别阶段,就可以对没有应用类型标签的流量,只需根据分类模型对流量的特征划分决策边界,就能得出该流量的应用类型。该方法的优点:在具有应用类型标签的流量样本充足的情况下,分类模型可以获取足够多的知识,能够对没有应用类型标签的流量进行快速、准确的识别。其缺点:在真实的网络环境中受限于应用类型使用的频率使得获取具有准确应用类型标签的流量样本非常困难;该方法的适用性受其训练样本的约束,即需要区分的网络流量与训练分类模型的流量样本之间具有相似性;不能发现新的应用类型,只能对经过训练的应用类型进行识别。
基于半监督学习的网络流量区分方法的实现表现在该方法使用少量的具有应用类型标签的流量数据作为指导信息,对大量的没有应用类型标签的流量进行区分,并能识别具体的应用类型。其实现过程也可分为两个阶段:聚类阶段和映射阶段。在聚类阶段,具有应用类型标签的流量数据作为指导信息约束聚类搜索过程,聚类结束后得到的结果是多个簇的集合。其中每个簇包含的是具有相似性质的多个流量数据,不同的簇间具有较大的差异性。在映射阶段,对于聚类得到的簇信息,根据簇所包含的有应用类型标签的样本对应的应用类型,将簇信息映射到具体的应用类型,即对于该簇所包含的没有应用类型标签的流量样本使用该类型进行标记;对于不存在具有应用类型标签的流量样本的簇,将其所包含的流量样本都映射为新的应用类型。该方法的优势:能够发现新的应用类型。该方法的缺点:其计算的复杂性带来较高的时延和计算的开销。
以上内容主要是互联网流量区分方法描述的内容,那么在线智能识别互联网流量的方法则通常是模拟在线条件对离线数据(即观察所采集的一段时间内的数据)进行分类。这类方法通过将所采集的网络数据,即数据包集合按照数据包的五元组(源IP地址、源端口号、目的IP地址、目的端口号、协议)聚合成不同的网络流(数据包序列),然后抽取这个数据包序列的前几个数据包,作为观察特征的来源,以此来训练并测试分类器,从而模拟在线流量分类。
该方法的缺点:没有在真实的网络环境中实时地完成分类任务,网络状态的变化对分类***的影响没有被考虑在内,离真实网络环境部署实际的在线流量分类***存在差距;由于没有应用类型标签的流量数据不知道其具体为哪种应用类型所产生,因此对于分类结果的真实性需要进行验证,然而现有的在线分类技术却缺乏对分类结果真实性的验证。
作为支持性的内容,网络中混合流量的识别,对网络操作者和管理者而言,有至关重要的意义。为此,研究团体就混合流量提出了很多分类算法,如基于端口的分类算法和基于包检测的分类算法。由于越来越多的网络应用使用动态端口号和加密技术来发送数据包,因此随着网络应用中动态端口号和加密技术的逐步流行,使得基于端口号的和基于包检测的分类算法已经失去了有效性。基于机器学习的流量分类方法能够克服这种问题,便成为了研究的重点。但是,基于机器学习的流量分类算法需要具有准确应用类型标记的网络流量数据集来训练分类器和测试分类器。
为了使本领域的技术人员更有利于理解本文中相关的技术手段,在此对其中的某些手段和应用的对象进行一个说明,仅用于相关人员对本文所提出技术方案的延续性理解,不构成以下某些技术手段视为对现有技术的承认。
为调用socket请求流出主机的TCP数据包标记产生该数据包的应用类型标记,需要在主机上安装Socket Hook驱动和NDIS Hook驱动。在网络的边界处使用基于FPGA的流量采集器来采集经过网路边界的数据包,并且把采集的数据包发送到数据处理器。数据处理器首先把得到的数据包根据数据包的五元组(源IP地址、目的IP地址、源端口号、目的端口号和协议)信息整合成流,然后根据不同的需求制作不同的数据集。
在获得具有准确应用类型标签的网络流量数据集的过程中使用到的技术如下所述:
Socket Hook和NDIS Hook:
Hook的一种解释是Windows中提供的一种用以替换DOS下“中断”的***机制,中文译为“挂钩”或“钩子”。在对特定的***事件进行Hook后,一旦发生Hook事件,对该事件进行Hook的程序就会受到***的通知,这时程序就能在第一时间对该事件做出响应。
Hook的另一种解释则是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。也就是说,钩子机制允许应用程序截获处理Windows消息或特定事件。
套接字(Socket)接口是TCP/IP网络的API(Application Programming Interface,应用程序接口),而Windows Sockets,即Winsock是一个基于Socket模型的API, 它工作于 Windows 应用层,提供与底层传输协议无关的高层数据传输编程接口。在 Windows ***中,使用 WinSock 接口为应用程序提供基于 TCP/IP 协议的网络访问服务,这些服务是由 Wsock32.DLL 动态链接库提供的函数库来完成的。
由以上说明可知,任何 Windows 基于 TCP/IP 的应用程序都必须通过 WinSock接口访问网络。应用程序接口让应用程序开发人员得以调用一组例程功能,而无需考虑其底层的源代码为何或理解其内工作机制的细节。由此我们可以通过Hook技术去控制 WinSock 接口,钩挂通过WinSock接口的数据包,进而分析钩挂的数据包,获得和数据包相关的五元组信息和产生该数据包的应用类型信息。
NDIS (Network Driver Interface Specification ,即网络驱动接口规范)有三种类型,分别是网络接口卡驱动程序、中间层驱动程序、高层协议驱动程序。
网络接口卡驱动程序(Miniport Network Interface Card drivers) 管理网络接口卡,NIC(Network Interface Card,网络适配器,又称网卡)驱动程序在它的下端直接控制网络接口卡硬件,在它的上端提供一个较高层的驱动能够使用的接口,这个接口一般完成以下的一些任务:初始化网卡,停止网卡,发送和接收数据包,设置网卡的操作参数等等。
中间层驱动程序(Intermediate Protocol Driver)工作在协议驱动程序和微端口驱动程序之间。在高层的传输层驱动程序看来,中间层驱动程序象一个微端口驱动程序,而在底层的微端口驱动程序看来,它象一个协议驱动程序。使用中间层驱动程序的最主要的原因可能是在一个已经存在的传输层驱动程序和一个使用新的传输层驱动程序并不认识的媒体格式的微端口驱动程序中相互转换格式,即充当翻译的角色。
高层的协议驱动程序(Upper Level Protocol Driver)像各种TCP/IP协议,一个协议驱动程序完成TDI(Transport Driver Interface,传输驱动程序接口)或者其他的应用程序可以识别的接口来为它的用户提供服务。这些驱动程序分配数据包,将用户发来的数据拷贝到数据包中,然后通过NDIS将数据包发送到低层的驱动程序,这个低层的驱动程序可能是中间层驱动程序,也可能是微端口驱动程序。当然,它在自己的下端也提供一个协议层接口,用来与低层驱动程序交互,其中最主要的功能就是接收由低层传来的数据包,这些通讯基本上都是由NDIS完成的。
承上所述,NDIS Hook就是基于中间层驱动实现的,通过钩挂协议驱动和小端口驱动交互的数据包,获取数据包的相关信息,进而得到产生该数据包的应用类型信息,并且把应用类型信息标记在数据包中。
FPGA( Field Programmable Gate Array),即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable Array Logic)、门阵列逻辑GAL(Gate Array Logic)、可编程逻辑器件PLD(Programmable Logic Device)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。
使用FPGA器件设计数字电路,不仅可以简化设计过程,而且可以降低整个***的体积和成本,增加***的可靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。使用FPGA器件设计数字***电路的主要优点如下:
(1)设计灵活
使用FPGA器件,可以不被标准系列器件在逻辑功能上所限制,而且修改逻辑可在***设计和使用过程的任一阶段中进行,并且只须通过对所用的FPGA器件进行重新编程即可完成,给***设计提供了很大的灵活性。
(2)功能密集度大
功能密集度是指在给定的空间能集成的逻辑功能数量。可编程逻辑芯片内的组件门数高,一片FPGA可代替几片、几十片乃至上百片中小规模的数字集成电路芯片。用FPGA器件实现数字***时用的芯片数量少,从而减少芯片的使用数目,减少印刷线路板面积和印刷线路板数目,最终导致***规模的全面缩减。
(3)可靠性高
减少芯片和印刷板数目,不仅能缩小***规模,而且它还极大的提高了***的可靠性。具较高集成度的***比用许多低集成度的标准组件设计的相同***具有高得多的可靠性。使用FPGA器件减少了实现***所需要的芯片数目,在印刷线路板上的引线以及焊点数量也随之减少,所以***的可靠性得以提高。
(4)设计周期短
由于FPGA器件的可编程性和灵活性,用它来设计一个***所需时间比传统方法大为缩短。FPGA器件集成度高,使用时印刷线路板电路布局布线简单。同时,在样机设计成功后,由于开发工具先进,自动化程度高,对其进行逻辑修改也十分简便迅速。因此,使用FPGA器件可大大缩短***的设计周期,加快产品投放市场的速度,提高产品
的竞争能力.
(5)工作速度快
FPGA/CPLD器件的工作速度快,一般可以达到几百兆赫兹,远远大于软件。同时,使用FPGA器件后实现***所需要的电路级数又少,因而整个***的工作速度会得到提高。
(6)NetFPGA带有四个1G的RJ45接口和高速PCI总线,脱离主机进行工作而很少占用主机的资源,这样就可以使主机的工作效率得到很大的提高。
发明内容
本发明的是提供一种具有在线智能识别能力的互联网流量区分方法,能够在真实的网络环境中实现在线实时地对网络流量进行分类。
为了实现上述发明目的,所采用的技术方案为:
一种互联网流量区分方法,包括以下步骤:
100.流出被测量网络中部分主机的数据依据应用程序与预定的应用类型标签的映射关系而被标记;
200.在被测量网络边界处镜像流出被测量网络的网络流量,进而将该镜像的网络流量转发两路以备处理,一路用于半监督聚类分析,转步骤310,另一路用于监督学习分类,转步骤320;
310.半监督聚类分析:将镜像的网络流量聚类成簇的集合,对其中包含有应用类型标签的流量样本的簇进行标记,并将其中没有包含应用类型标签的流量样本的簇所包含的所有流量样本都映射为半监督聚类分析得出的新的应用类型;然后将半监督聚类分析的结果输出;
400.依据半监督聚类分析的结果中新的应用类型,添加新的应用程序与应用类型标签的映射关系项;
320.监督学习分类:
321.使用镜像的网络流量中的被标记的流量样本,既有标签数据训练分类器;
322.依据所述分类器对未被标记的流量进行分类,并把分类后的分类结果输出;
500.对半监督聚类分析的结果与步骤322分类结果输出的流量进行成分对比分析,以用于指导分类训练器的生成和半监督聚类分析方法。
依据本发明的上述互联网流量区分方法,依据少量的标表示的流量样本,通过离线的监督学习分类,通过被分类的流量的特征对没有被标记的流量进行识别,能够在网络流量发生的早期实现对生成流量的应用类别进行预测,保证对网络监督的及时性,从而实现在真实的网络环境下实现网络流量分类的问题。
通过进一步的半监督聚类添加新的应用类型,完善应用类型标记与应用类型的关系表,对网络中声称的流量进行有效的标记,从而可以实时获取具有准确应用类型标签的流量数据。同时,当网络环境发生变化时,这种变化会在半监督聚类中体现出来,并进一步的满足对新网络环境的的流量区分。
上述互联网流量区分方法,步骤100包括:
101.依据预定的用于映射应用程序的应用类型名称和应用类型标签创建一个Socket Hash表;
102.针对数据流,在应用程序使用套接字调用处理数据包时利用Hook机制截获相应的数据包,并至少获取其中的流出主机的数据包的应用类型名称;
103.进而,在所述Socket Hash表中匹配有步骤102获得的应用类型名称时,建立数据包与相应应用类型标记的对应关系;并依据该对应关系添加表项至预设的NDIS Hash表中;
104.在网络协议驱动与小端口驱动进行数据交互中利用Hook机制截获流出主机的所述数据包,在该数据包匹配有NDIS Hash表项时,标记该数据包。
上述互联网流量区分方法,在步骤102获取的信息还包括流出主机的数据包所属流的五元组;
相应地,在NDIS Hash表项中含有相应数据包的三元组。
上述互联网流量区分方法,对数据包的标记为标记在数据包IP头部中,从而在数据包汇聚流时,通过对包头信息的识别获取所述应用类型标记。
上述互联网流量区分方法,在网络边界处通过基于FPGA的接口卡镜像并转发流出被测网络的网络流量。
上述互联网流量区分方法,所述步骤监督学习分类采用被标记的流量样本生成分类器的步骤如下:
301.针对流量样本中的所有数据包,提取该数据包的五元组信息,然后查找初始创建的流记录表以判断在该表中是否存在所获得五元组信息相匹配的流;若有,转下一步,否则在所述流记录表中添加新的流记录;
302.对流记录表中满足观测窗口要求的数据包依序进行存储并根据对应的五元组信息及包序列号进行成流汇聚;
303.当一条流记录中的数据包个数等于观测窗口包个数上限时,计算该流的特征信息,与获取的匹配的应用类型形成特征进而存储到文件;
304.以所述文件为基础,依据选定的监督学习算法进行训练,生成判断流量为对应应用类型的规则,规则的集合形成分类器。
上述互联网流量区分方法,依据生成的分类器,所述步骤监督学习分类对无标签的流量进行分类的步骤如下:
301’.针对无标签的流量中的所有数据包,提取五元组,查找当前流记录表,匹配有流记录时转步骤302’,否则创建新的流记录并添加到流记录表;
302’.对匹配的流的数据包个数的变量进行加一,然后判断该变量是否小于观测窗口的上限;
303’.对于满足观测窗口要求的数据包依序存储并根据其五元组信息及包序列号进行成流汇聚;
304’.当某条流的数据包个数等于观测窗口上限N时,计算该流的特征信息,用于步骤305’;重复步骤301’-304’,实现对网络流量的实时识别。
305’.使用步骤304’获得的该流量的特征,依据所述分类器进行判断,得出给流量的应用类型,并将该流的特征及分类得出的应用类型进行文件存储,以备调用。
上述互联网流量区分方法,所述步骤304’中,预设一个特征信息列表,通过所获得的特征信息与该特征信息列表中的特征信息匹配进行所获得特征信息的筛选。
下面结合说明书附图对本发明的技术方案进行更具体的描述,是本领域的技术人员更好的理解本发明。
附图说明
图1 具有在线智能识别能力的互联网流量区分方法的网络拓扑图。
图2 具有在线智能识别能力的互联网流量区分方法的总体流程图。
图3 生成具有准确应用类型标记数据的流程图。
图4 基于NetFPGA的流量转发流程图。
图5分类器训练阶段的流程图。
图6 分类器在线分类的流程图。
图7 半监督聚类的流程图。
图8 分类结果验证流程图。
具体实施方式
参照说明书附图1,为具有在线智能识别能力的互联网流量区分方法所部属网络环境的网络拓扑图,如图1所示。在被测量的网络中,选择在少数网络节点上部署基于准确应用标记的模块,目的是产生有标签流量,这些有标签流量与多数网络节点产生的无标签流量以及进入该网络的流量,在网络出口处,或者说网络边界被镜像到一台基于FPGA的网络流量转发器中。这台转发器将所有的网络流量转发到运行半监督聚类分析的服务器和有监督学习分类的服务器。后者将有标签数据送入训练分类器模块,将无标签流量送入在线分类模块。
依据上述内容,某些技术问题被进一步定义,一个目的是网络流量在线实时分类模块的设计,解决现有技术中无法在真实的网络环境中实现在线实时对网络流量进行分类的问题,能够在网络流量发生的早期阶段即可实现对生成流量的应用类别进行预测,保证对网络监控的及时性。
另一个目的是针对具有准确应用类型标签的数据难以获取的问题,依据本发明的实施例提供能够生成具有准确应用类型标签的流量数据的方法。
再者,根据预先建立的应用类型和标记的对应关系表,如本文中所提到的专家分析得出的新的应用类型以及对应关系表,对网络中生成的流量进行有效地标记,从而可以实时获取具有准确应用类型标签的流量数据。
再一个目的是针对有监督学习方式的适用性受训练分类模型的流量样本约束的问题,提供被投入训练分类器模块的训练样本为从被测量网络中实时获取的具有准确应用类型标签的数据,从而可以对当前网络的状况有一个清晰的认识,进而可以更好的对当前网络中没有进行标示的流量进行有效地识别,并且当网络发生变化时,可以对在线分类模型进行实时更新。
再一个目的是针对有监督学习方法不能发现新的应用类型的问题,本发明使用离线半监督学习方法对被测量网络的流量进行识别。该模块是在具有准确应用类型标签数据的指导下,对被测量网络中未知应用类型的流量进行有效识别;由于半监督聚类的特性,同时有助于发现新的应用类型,作为建立应用类型和标记的对应关系表的依据。
再一个目的是对于在线分类的结果无法有效验证的问题,使用离线半监督聚类的结果与在线分类结果进行网络流量成分分析,然后进行对比验证,从而对在线分类结果进行验证,用以保证在线分类的真实可靠性。
一、这里首先说明对有标签流量的准确标记的实现和相关辅助环境,如说明书附图3所示,包括以下内容:
获得具有准确标记的标签流量的方法总体上表现为首先是对数据包标记准确的应用类型标记,然后对被标记的数据包进行提取,在进一步改进的方案中可以对被提取的数据包制作网络流量数据集。当然这里只要简单区分有标签流量和无标签流量就可满足实现要求。因此,整体的方案可以这样来理解,其主要由三个部分组成,分别是数据包标记、数据采集和数据处理。
利用Hook机制,对流出主机的数据包进行标记,网络出口处通过路由器镜像,FPGA接口卡对镜像数据流进行采集、过滤,将带有标记的数据包发送到处理服务器进行处理,最后按要求生成所需的带有标记的数据集。
首先基于套接字调用(Socket call,也叫Socket请求,套接字请求)利用Hook机制对流出主机的TCP数据包标记产生该数据包的应用类型标记;接着在网络边界处使用基于FPGA的流量采集器来采集具有准确应用类型标记的网络流量,并将采集的具有准确应用类型标记的网络流量发送给数据处理器;数据处理器接收采集器发送过来的数据包后,先依据数据包的五元组信息和应用类型标记信息将数据包汇聚成流,然后再制作成适合不同分类算法要求的数据集,用于训练分类器或者被分类器分类。
其中,网络边界的百科定义是网络的不安全的问题有哪些,以及对这些方面的采取的举措。其定义实际上是从网络的安全防护的角度进行描述的,更具体的描述为实现资源共享是网络出现的源动力,多年的发展使Internet成为现实,全世界的计算机都可以连成网络,连成一个整体;但计算机越多,网络规模越大,安全也成为问题。不管是通过ADSL连入Internet的家庭用户,还是通过专线连入Internet的企业用户,抑或通过专线连入专用网络的行业用户,都面临着越来越多的不安全因素影响。“划地而治”是现实中解决安全问题的通用办法,国家具有主权疆土、城市具有行政区域、企业具有自主园区、居民有个人空间,这些主体都具有物理空间和边界,把不同安全级别的网络相连接,就产生了网络边界。
关于套接字调用,多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作***为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口,前面已经对此进行了较为详细的描述。
在每台主机上应用Hook机制部署相关的模块,以截获相关的消息。这里涉及两部分内容,或者说两个接口,一个是套接字(Socket)一个是NDIS,分别命名为Socket Hook驱动和NDIS Hook驱动,作为如中间驱动程序的方式存在于***中,依据中间驱动程序的特点进行相关信息的获取。对此背景技术部分也进行了清楚地描述,本领域的技术人员基于Hook机制容易实现。
通过这两个模块的部署,对Socket call流出主机的数据包标记产生该数据包的应用类型标记。Socket Hook驱动用来截获使用socket call传输的数据包,并且依据不同的应用获得该数据包的五元组信息和/或产生该数据包的应用类型信息,最好至少应含有应用类型信息;然后把获得的信息,如该数据包的五元组和应用类型标记信息传输给NDIS Hook驱动使用。
NDIS Hook驱动截获使用socket call传输的数据包,并且获得该数据包的三元组信息,然后和Socket Hook驱动传过来的五元组和应用类型标记的对应关系进行比较,若有匹配信息就把应用类型标记标记在该数据包IP头部的TOS位上,若是无匹配信息,就不处理该数据包,直接传输该数据包。
相比于五元组,对于用户主机而言,本地IP地址是固定的,我们又是只处理TCP数据包,那么协议也就没有必要去进行比较了,该方案既节省了处理时间,也提高了内核处理的效率。
为了使本领域的技术人员更清楚地了解Socket Hook和Socket Hook的实现,一个具体的实施流程如图3和图4所示。
在此之前,建立一个用于映射应用程序的应用类型名称和应用类型标记的文档,或者说一个应用类型名称和应用类型标记的对应关系表,如表1。依据该预先设立的表的调用,通过除留余数法及开放地址法创建一个Socket Hash表以备调用。
表1 应用类型名称和应用类型标记的对应关系表
应用类型名称 | 应用类型标记 |
Thunder.exe | 1 |
eMule.exe | 2 |
360se.exe | 3 |
TheWorld.exe | 4 |
QQ.exe | 5 |
Msnmsgr.exe | 6 |
… | … |
其它 | 255 |
Socket Hook驱动获得调用Socket call传输的数据包的五元组和应用类型标记的对应关系的具体步骤如下所示:
a1. 在启动Socket Hook之前,已经建立了如前所述的表1或者一个可读的文档。
a2. 在启动Socket Hook时使用哈希表中的除留余数法及开放地址法把应用类型名称和应用类型标记的对应关系表中的所有内容存储到Socket Hash表中,表项如表1所示。
a3. 当应用程序执行Socket call处理数据包时,Socket Hook驱动就会截获该数据包,并且根据Socket call的接收函数和发送函数来判断数据包的流向,如果是流入主机的数据包就不进行处理,直接传输该数据包;如果是流出主机的数据包,转步骤a4。
a4. 对于流出主机的数据包,也就是需要标记的数据包,Socket Hook驱动就获取该数据包的五元组信息和产生该数据包的应用类型名称信息,进而根据应用类型名称和之前创建的Socket Hash表中的应用类型名称进行比较。
a5. 如果有匹配的信息,就建立该数据包的五元组和应用类型标记的对应关系,如果没有匹配的信息,就把该数据包的应用类型标记标记为255/
注:255是自定义的一个值,代表那些属于TCP连接的流出主机的数据包,但是产生该数据包的应用类型没有被加入到应用类型名称和应用类型标记的对应关系表中,也可以用来验证还存在那些未被标记的应用,从而进一步完善应用类型名称和应用类型标记的对应关系表。据此可以修改表1,为后续的修改提供基础。
另外,参见表1由于IP包头部的区分服务字段用八位来表示,除去TOS(terms of service,服务条款)位为0的不能使用和255被用来标记在应用类型名称和应用类型标记对应关系表中找不到的应用外,还有254个值能被用来标记应用类型,能够满足大多数的应用。
a6. Socket Hook驱动使用METHOD_IN_DIRECT的方式把数据包的五元组和应用类型标记的对应关系写入到内存中。
METHOD_IN_DIRECT的方式,即DMA(Direct Memory Accessory,直接内存存取方式,常称还有直接内存读取方式、直接内存模式),操作***会将Socket Hook驱动调用的DeviceIoControl函数指定的缓冲区锁定,然后在内核模式地址下重新映射一段地址,直到内核模式下操作结束,操作***才会释放这段缓冲区,这样可以避免内核驱动程序访问用户模式的内存地址,从而避免了数据在使用过程中被篡改。
另外,对于流出主机的数据包,可以进一步判断该数据包是否是TCP Transmission Control Protocol,传输控制协议)数据包,如果不是TCP数据包,就不进行任何处理,直接发送该数据包。如果是TCP数据包,Socket Hook驱动就提取该数据包的五元组信息和获得调用该Socket请求的应用类型名称。这种区分是否是TCP数据包的方式可以为后续的应用提供所需要的数据包。
NDIS Hook驱动为流出主机的数据包标记准确的应用类型标记的具体步骤如下所示:
b1. 在启动NDIS Hook驱动时会首先初始化一个空的NDIS Hash表,当NDIS Hook驱动在内存中以METHOD_IN_DIRECT方式获取数据包的三元组和应用类型标记的信息时,就会使用哈希表中的除留余数法及开放地址法把数据包的三元组和应用类型标记写到NDIS Hash表中。
表2 数据包的三元组和应用类型标记的对应关系
哈希地址 | 源端口号 | 目的IP地址 | 目的端口号 | 应用类型标记 |
417 | 18327 | 202.194.64.200 | 8000 | 5 |
56 | 22958 | 58.254.134.211 | 80 | 1 |
1301 | 23727 | 212.63.206.35 | 4242 | 2 |
72 | 23452 | 119.118.15.225 | 53 | 3 |
1806 | 23812 | 202.194.64.200 | 8000 | 4 |
932 | 23064 | 60.217.235.148 | 80 | 6 |
… | … | … | … | … |
NDIS Hook提取三元组信息的原因:对于用户主机而言,本地IP地址是固定的,我们又是只处理TCP数据包,那么协议也就没有必要去进行比较了,该方案既节省了处理时间,也提高了内核处理的效率。把三元组信息和应用类型标记的对应信息存储到NDIS HASH表(即数据包的三元组和应用类型标记的对应关系表,如表2所示)中。
b2. 当NDIS Hook驱动截获调用socket call的数据包时,根据socket call的发送函数和接收函数来判断该数据包的流向,如果是流入主机的数据包,就不进行任何处理,直接传输该数据包。
b3. 如果是流出主机的数据包,就根据该来判断该数据包的类型:是结束TCP连接的数据包、请求建立TCP连接的数据包、还是TCP数据传输的数据包。
公知的,数据包TCP头部信息中的控制位在TCP头部中占了六位,分别是紧急指针:URG;确认标志:ACK;推送标志:PSH;复位标志:RST;同步标志:SYN;终止标志:FIN。
b4. 首先判断该数据包是否是结束TCP连接的数据包,如果是结束TCP连接的数据包,NDIS Hook驱动就获取该数据包的三元组信息,并且和NDIS Hash表中的三元组信息进行比较,如果有匹配的信息,就删除和该数据包的三元组信息相匹配的记录;如果无匹配的信息,就不做任何处理,直接传输该数据包。
这样,可以节省空间,对已经处理完毕的数据包的相关信息进行删除。
b5. 如果不是结束TCP连接的数据包,就判断该数据包是否是请求建立TCP连接的SYN数据包,如果是SYN数据包,就不做任何处理,直接传输该数据包。
b6. 如果不是请求建立TCP连接的SYN数据包,就判断该数据包是否是TCP数据传输的数据包,如果是带有负载的数据传输数据包,NDIS Hook驱动就获得该数据包的三元组信息,并且和NDIS Hash表中的三元组信息进行比较,如果无匹配信息,就不对该数据包做任何处理并且直接传输该数据包;如果有匹配信息,就把匹配结果的应用类型标记添加到服务类型区域(即TOS位)上,然后重新计算该数据的IP头部校验和,修改完成后就传输该数据包。
参照说明书附图4,从被监测网络的出口处,图中FPGA板卡上的千兆以太网端口COM0与网络出口的镜像端口相连以获取镜像转发的全部流量。对于镜像过来的流量通过检查是否为IP包,将所有的IP包通过NetFPGA的COM1口进行转发到半监督聚类服务器。对于IP数据包进一步分析并转发到有监督学习服务器,通过检查每个IP数据包的头部字段中TOS位是否为0,将数据包转发到不同的端口流出。
TOS位不为0的数据包是有标签数据包,被发送到千兆以太网端口COM2,此端口与有监督学习服务器的网卡1相连,从网卡1接收有标签数据作为有监督分类方法的训练样本,对分类方法进行训练,得出的分类模型用于在线识别网络流量。TOS位为0的数据包是无标签数据包,被发送到千兆以太网端口COM3,此端口与有监督学习服务器的网卡2相连,从网卡2接收无标签数据,根据训练得到的分类模型,进行在线实时识别。
进入离线训练分类器模块的流量,作为训练集,结合有监督机器学习智能算法训练分类器。送入在线分类模块的流量,基于每个流的前N个数据包提取特征,然后使用分类器进行分类。转发到半监督聚类分析服务器的流量,使用半监督聚类分析模块进行分析,该模块具有发现新的应用的功能。最后,将分类结果和半监督聚类结果做验证分析,完成整个在线流量分类任务。
参见说明书附图4,为基于NetFPGA的流量转发流程图,NetFPGA中的PHY 指的是 NetFPGA 板卡上的四个吉比特以太网接口,其通过标准的双绞线连接到局域网中。在物理层的接口上, 为了能够降低***内部时钟,在 FPGA 内部加入了一个 RGMII接口模块,配合外部的 BCM5464 芯片完成网络的物理层接口。其具体实施步骤如下所示:
c1.对于镜像过来的网络流量,首相通过NetFPGA的PHY模块和RGMII接口模块进入V2,即核心FPGA芯片中。
c2.在V2芯片中进行判断,首先判断NF2数据包的头部信息,FPGA板卡检测自定义的数据格式为72b位宽,其中前8b位NF2数据包的包头,其为8’hff时,表明NF2数据包的开始,此时设备开始检测包头,否则为NF2数据包结束。
c3.判断数据包是否为IP包,如果是则进一步进行处理,如果不是则丢弃该数据包。
c4.对于IP数据包,判断其NF2数据包是否结束,如果没有则对数据进行转发到FIFO1口,如果NF2数据包结束,则FIFO为关闭状态,不能进行存储操作。于此同时判断数据包的TOS位是否为零,如果为零,则表示无标签数据,判断NF2数据是否结束,如果否,转发到FIFO3口,如果TOS位非零,则表示为有标签数据,判断NF2数据包是否结束,如果否则转发到FIFO2口。
D5.FIFO中数据依次通过RGMII接口模块和PHY部件将数据转发。。
参考:中国CN102253909A发明专利申请公布公开的FPGA环境下多用途PCI接口及其数据传输方法与本文中基于FPGA的板卡除了接口部分不一样之外,控制部分和基本电路是一致的。
二、针对一个被测的园区网,说明书附图2表示了在线智能识别能力的互联网流量区分方法的总体流程图,其具体实施步骤如下:
110.被监测园区网络中,打标签网络节点集合基于准确应用类型标记方法提供有标签的数据流量;不打标签的网络节点集合正常向外发送数据。
111.在网络出口处,将被测量园区网络的所有流量镜像到装有NetFPGA 的网络流量转发器中。
112.通过NetFPGA 对网络流量的包头信息进行判断,然后按照不同的需求进行转发,全部流量转发到半监督聚类模块,同时,有标签数据转发到分类器训练阶段,无标签数据被当前的分类器实时识别。
113.其中,使用有标签数据对分类器进行离线训练,得到的分类模型,用于对无标签数据就行分类识别,随着网络的变化,根据得到的分类模型,对在线分类器进行实时更新,获得步骤112所需要的分类器,使得当需要更新分类器时,能够实时更新。
114.进而,本领域的技术人员更清楚地知晓,对于无标签的网络流量,观测每个流的前N个数据包,并在此基础上计算统计特征,并根据步骤113 得到的分类模型进行预测,将其预测结果及流量特征存储到文件,用于步骤118中进行分析。该步骤在较短时间间隔内定时执行,从而达到实时识别。
115.对于步骤112中转发的全部流量,采用半监督聚类方法进行分析,所有流量中有标签数据作为指导信息,对无标签数据流量进行识别,识别结果进行文件存储。假如分析过程中,存在无法根据有标签数据识别的数据流量,根据存储结果到步骤116进行分析。
116.对于半监督聚类的结果进行人工分析,如有存在有标签数据无法指导识别的无标签网络数据,则根据记录的关于该流量的信息(如,四元组信息,即数据的源IP地址,目的IP地址,源端口号,目的端口号)进行追溯,分析其为那种网络行为所产生,如果是新的应用行为,则进行特征分析并存储备用。
117.根据步骤116人工分析结果对应用类型名称和应用类型标记的对应关系表进行更新。
118.分别统计在线分类结果和半监督聚类的分类结果中各种网络应用行为的比例,并进行对比,专家进行评价,如果两种结果得出的流量分布相似,则能正确反映当前的网络状况,如果出现某种成分相差太大,则需专家进行分析,并将分析结果信息用于对两种流量识别技术进行指导。
图5表示分类器的训练阶段的流程图,对于有监督学习方法首先需要根据有标签样本就行学习,其输出的分类模型,即分类的规则;对于待识别样本,根据其特征进行判断,分类模型给出一个识别结果,即网络应用类型。训练过程如下:
D1.对于每一个采集到的数据包,从数据包头部提取五元组信息,然后查找当前流记录表,判断是否有五元组信息匹配的流;如果有,转到步骤D2,否则创建新的流记录并填写相关的数据项信息;其中流记录表记录当前出入被观测网络的流信息,依据预定的数据结构存放流记录。
D2.对于找到的与五元组相匹配的流记录信息的数据包,首先将该匹配的流记录中记录已观测数据包个数的变量加一,然后判断该变量是否小于观测窗口的上限N。
D3.对于满足观测窗口要求的数据包进行存储并根据其五元组信息及包序列号进行成流汇聚。
D4. 当一个流的所观测到的数据包个数等于观测窗口上限N时,根据分析获得的适合在线分类的特征列表,计算该流的特征信息,并根据其TOS位的具体值从应用类型名称和标识对应关系表中查找到对应的应用类型名称作为该流的标签。,连通该流的相关特征存储到文件。
D5.使用步骤D4获得的具有准确的应用类型标签的样本作为训练数据,结合某种有监督学习算法训练分类器,得到分类模型即判定某种流量为某种应用类型的一些规则,用于在线网络流量识别。
说明书附图6为分类器在线分类的流程图,使用监督学习方法用于在线实时对未知网络流量进行识别,首先要计算该流量的特征,然后根据该样本的特征使用分类模型进行判断,即可得出该样本的应用类型。其实现过程如下:
E1.对于未被标记的每一个获取到的数据包,从数据包头部抽取五元组信息,然后查找当前用于存放未被标记的数据包的流记录的流记录表,判断是否有五元组信息匹配的流;如果有,转到步骤E2,否则创建新的流记录并填写相关的数据项信息。
E2.对于找到与五元组相匹配的流记录信息的数据包,首先对记录观测到流的数据包个数的变量加一,然后判断该变量是否小于观测窗口的上限N。
E3.对于满足观测窗口要求的数据包进行存储并根据其五元组信息进行成流汇聚。
E4.当某条流的数据包个数等于观测窗口上限N时,根据分析获得的适合在线分类的特征列表,计算该流的特征信息,用于步骤E5。那么循环执行步骤E1-E3的过程,就可以实现对网络流量的实时识别。
E5.使用步骤E4获得的该流量的特征,结合离线状态下建立的分类模型进行判断,得出该流量的应用类型,并将该流的特征及分类得出的应用类型进行文件存储,供管理员使用。
图7为半监督聚类的流程图,半监督聚类模块得到的结果有助于从未知类型数据中发现新的应用类型,用于修改生成具有准确应用类型标识数据模块中的应用类型名称和应用类型标识的对应关系表,从而获得更加丰富的有标签数据。
F1.对于采集到的被测量网络的所有流行,首先按照获得的五元组信息,进行汇聚形成数据流。
F2.检测组成流的数据包的TOS位是否为零,如果非零则表示该流为有标签数据,将该流存储到有标签流的集合,如果为零则表示该流为无标签数据,将其存储到无标签流的集合。
F3.对于无标签流集合和有标签集合流分别计算流的特征,对于有标签集合流,根据其TOS位的具体值与打标签时使用的应用类型名称和应用类型标记的对应关系表进行对比,获取其准确应用类型并作为其的一个特征。
F4.将有标签数据集合和无标签数据集合,根据流量直接的相似性进行半监督聚类,即使用有标签样本作为指导信息,加速聚类的过程及其准确性,聚类的目的为将具有相似特性的网络流量聚集到一起形成一个簇,聚类结束后,得到多个簇的相关信息,形成多个簇的集合。
F5.对于聚类得到的簇的集合,观测每个簇中是否包含具有应用类型标签的样本,如果有则根据有标签样本的类型来标记簇中其他没有标记的样本,即将簇信息映射到网络应用类型;假如簇中的样本均为无标签数据,则标记为“未知”类型,然后通过人工进行分析,判断是否为新的应用类型,如果是则用于修改打标签时使用的应用类型名称和应用类型标记的对应关系表。将半监督聚类得到的结果存储,然后与有监督分类得到的结果进行对比验证。
图8则是分类结果验证的原理图,通过人工分析,根据两种分类方法的识别结果进行判断,反馈信息用于指导调整两种分类方法。
首先,分别对半监督聚类得到的结果和有监督分类得到的结果进行网络流量成分分析。
然后,对两种流量分类方法得到的分析结果进行对比,得出对比结果。
再者,专家对对比结果进行评价,如果两种结果相似则表示在线***分类正常,如果对比结果中,两种结果相差太大则专家反馈信息到两种流量识别方法,对其进行调整。
Claims (7)
1.一种互联网流量区分方法,其特征在于,包括以下步骤:
100.流出被测量网络中部分主机的数据依据应用程序与预定的应用类型标签的映射关系而被标记;
200.在被测量网络边界处镜像流出被测量网络的网络流量,进而将该镜像的网络流量转发两路以备处理,一路用于半监督聚类分析,转步骤310,另一路用于监督学习分类,转步骤320;
310.半监督聚类分析:将镜像的网络流量聚类成簇的集合,对其中包含有应用类型标签的流量样本的簇进行标记,并将其中没有包含应用类型标签的流量样本的簇所包含的所有流量样本都映射为半监督聚类分析得出的新的应用类型;然后将半监督聚类分析的结果输出;
400.依据半监督聚类分析的结果中新的应用类型,添加新的应用程序与应用类型标签的映射关系项;
320.监督学习分类:
321.使用镜像的网络流量中的被标记的流量样本,即有标签数据训练分类器;
322.依据所述分类器对未被标记的流量进行分类,并把分类后的分类结果输出;
500.对半监督聚类分析的结果与步骤322分类结果输出的流量进行成分对比分析,以用于指导分类训练器的生成和半监督聚类分析方法;
其中,步骤100包括:
101.依据预定的用于映射应用程序的应用类型名称和应用类型标签创建一个Socket Hash表;
102.针对数据流,在应用程序使用套接字调用处理数据包时利用Hook机制截获相应的数据包,并至少获取其中的流出主机的数据包的应用类型名称;
103.进而,在所述Socket Hash表中匹配有步骤102获得的应用类型名称时,建立数据包与相应应用类型标记的对应关系;并依据该对应关系添加表项至预设的NDIS Hash表中;
104.在网络协议驱动与小端口驱动进行数据交互中利用Hook机制截获流出主机的所述数据包,在该数据包匹配有NDIS Hash表项时,标记该数据包。
2.根据权利要求1所述的互联网流量区分方法,其特征在于,在步骤102获取的信息还包括流出主机的数据包所属流的五元组;
相应地,在NDIS Hash表项中含有相应数据包的三元组。
3.根据权利要求1所述的互联网流量区分方法,其特征在于,对数据包的标记为标记在数据包IP头部中,从而在数据包汇聚流时,通过对包头信息的识别获取所述应用类型标记。
4.根据权利要求1所述的互联网流量区分方法,其特征在于,在网络边界处通过基于FPGA的接口卡镜像并转发流出被测网络的网络流量。
5.根据权利要求1所述的互联网流量区分方法,其特征在于,所述步骤监督学习分类采用被标记的流量样本生成分类器的步骤如下:
301.针对流量样本中的所有数据包,提取每个数据包的五元组信息,然后查找初始创建的流记录表以判断在该表中是否存在所获得五元组信息相匹配的流;若有,转下一步,否则在所述流记录表中添加新的流记录;
302.对流记录表中满足观测窗口要求的数据包依序进行存储并根据对应的五元组信息及包序列号进行成流汇聚;
303.当一条流记录中的数据包个数等于观测窗口包个数上限时,计算该流的特征信息,与获取的匹配的应用类型形成特征进而存储到文件;
304.以所述文件为基础,依据选定的监督学习算法进行训练,生成判断流量为对应应用类型的规则,规则的集合形成分类器。
6.根据权利要求5所述的互联网流量区分方法,其特征在于,依据生成的分类器,所述步骤监督学习分类对无标签的流量进行分类的步骤如下:
301’.针对无标签的流量中的所有数据包,提取五元组,查找当前流记录表,匹配有流记录时转步骤302’,否则创建新的流记录并添加到流记录表;
302’.对匹配的流的数据包个数的变量进行加一,然后判断该变量是否小于观测窗口的上限;
303’.对于满足观测窗口要求的数据包依序存储并根据其五元组信息及包序列号进行成流汇聚;
304’.当某条流的数据包个数等于观测窗口上限N时,计算该流的特征信息,用于步骤305’;重复步骤301’-304’,实现对网络流量的实时识别;
305’.使用步骤304’获得的该流量的特征,依据所述分类器进行判断,得出给流量的应用类型,并将该流的特征及分类得出的应用类型进行文件存储,以备调用。
7.根据权利要求6所述的互联网流量区分方法,其特征在于,所述步骤304’中,预设一个特征信息列表,通过所获得的特征信息与该特征信息列表中的特征信息匹配进行所获得特征信息的筛选。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210184211.6A CN102685016B (zh) | 2012-06-06 | 2012-06-06 | 互联网流量区分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210184211.6A CN102685016B (zh) | 2012-06-06 | 2012-06-06 | 互联网流量区分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102685016A CN102685016A (zh) | 2012-09-19 |
CN102685016B true CN102685016B (zh) | 2015-01-07 |
Family
ID=46816401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210184211.6A Active CN102685016B (zh) | 2012-06-06 | 2012-06-06 | 互联网流量区分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102685016B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346137B (zh) * | 2013-07-24 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 一种应用联网的管理方法、***和计算机可读存储介质 |
CN104734894A (zh) * | 2013-12-18 | 2015-06-24 | ***通信集团甘肃有限公司 | 一种流量数据筛选方法和装置 |
CN103973493A (zh) * | 2014-05-12 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种千兆以太网的数据采集方法 |
CN110855576B (zh) * | 2015-12-31 | 2023-07-21 | 杭州数梦工场科技有限公司 | 应用识别方法及装置 |
CN106330612B (zh) * | 2016-08-31 | 2019-07-23 | 国家计算机网络与信息安全管理中心 | 一种互联网流量分类测评方法及*** |
CN106452948A (zh) * | 2016-09-22 | 2017-02-22 | 恒安嘉新(北京)科技有限公司 | 一种网络流量的自动分类方法和*** |
CN108199863B (zh) * | 2017-11-27 | 2021-01-22 | 中国科学院声学研究所 | 一种基于两阶段序列特征学习的网络流量分类方法及*** |
CN108933785B (zh) * | 2018-06-29 | 2021-02-05 | 平安科技(深圳)有限公司 | 网络风险监控方法、装置、计算机设备及存储介质 |
CN109728939B (zh) * | 2018-12-13 | 2022-04-26 | 杭州迪普科技股份有限公司 | 一种网络流量检测方法及装置 |
CN109831392B (zh) * | 2019-03-04 | 2020-10-27 | 中国科学技术大学 | 半监督网络流量分类方法 |
CN111343037B (zh) * | 2019-08-19 | 2022-05-31 | 海通证券股份有限公司 | 云平台负载按应用的流量监控方法、装置、计算机设备 |
CN112995104B (zh) * | 2019-12-16 | 2022-05-20 | 海信集团有限公司 | 一种通信设备及网络安全预测方法 |
CN113326946A (zh) * | 2020-02-29 | 2021-08-31 | 华为技术有限公司 | 更新应用识别模型的方法、装置及存储介质 |
CN112073371A (zh) * | 2020-07-30 | 2020-12-11 | 中国人民解放军战略支援部队信息工程大学 | 一种针对弱监管路由设备的恶意行为检测方法 |
CN112235152B (zh) * | 2020-09-04 | 2022-05-10 | 北京邮电大学 | 流量大小估算方法和装置 |
CN112615738B (zh) * | 2020-12-09 | 2023-02-28 | 四川迅游网络科技股份有限公司 | 一种基于流量特征的网络加速方法 |
CN112968968B (zh) * | 2021-02-26 | 2022-08-19 | 清华大学 | 基于无监督聚类的物联网设备流量指纹识别方法和装置 |
CN113377527B (zh) * | 2021-04-26 | 2023-06-02 | 佳源科技股份有限公司 | 一种基于流量强度自适应的流媒体转发处理装置与方法 |
CN115174961A (zh) * | 2022-07-07 | 2022-10-11 | 东南大学 | 一种面向高速网络的多平台视频流量早期识别方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291279A (zh) * | 2011-08-18 | 2011-12-21 | 西北工业大学 | P2p网络流量检测方法 |
-
2012
- 2012-06-06 CN CN201210184211.6A patent/CN102685016B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291279A (zh) * | 2011-08-18 | 2011-12-21 | 西北工业大学 | P2p网络流量检测方法 |
Non-Patent Citations (1)
Title |
---|
基于半监督支持向量机的网络流量分类机制的研究与实现;李响;《北京邮电大学硕士学位论文》;20111015;第8页第2-3段,第9页第3段,第11页第3-5段,第13页第1-5段 * |
Also Published As
Publication number | Publication date |
---|---|
CN102685016A (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102685016B (zh) | 互联网流量区分方法 | |
CN102694733B (zh) | 一种获得具有准确应用类型标识的网络流量数据集的方法 | |
CN109361617B (zh) | 一种基于网络包载荷的卷积神经网络流量分类方法及*** | |
CN102523241B (zh) | 基于决策树高速并行处理的网络流量在线分类方法及装置 | |
CN104052639B (zh) | 基于支持向量机的实时多应用网络流量识别方法 | |
CN107579876A (zh) | 一种资产增量自动探测分析方法及装置 | |
CN109981474A (zh) | 一种面向应用软件的网络流量细粒度分类***及方法 | |
US7729279B2 (en) | Traffic analysis on high-speed networks | |
CN102315974A (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN107819698A (zh) | 一种基于半监督学习的网络流量分类方法、计算机设备 | |
CN112671757A (zh) | 一种基于自动机器学习的加密流量协议识别方法及装置 | |
CN109861957A (zh) | 一种移动应用私有加密协议的用户行为精细化分类方法及*** | |
CN109033471A (zh) | 一种信息资产识别方法及装置 | |
CN101645806A (zh) | Dpi和dfi相结合的网络流量分类***及分类方法 | |
CN107819646A (zh) | 一种分布式传输的网络流量分类***和方法 | |
CN106982230A (zh) | 一种流量检测方法及*** | |
CN109167680A (zh) | 一种基于深度学习的流量分类方法 | |
CN110213124A (zh) | 基于tcp多会话的被动操作***识别方法及装置 | |
CN103078769B (zh) | 一种实现实物设备无缝接入网络模拟器的***及方法 | |
CN108028807A (zh) | 用于在线自动识别网络流量模型的方法和*** | |
CN107566192A (zh) | 一种异常流量处理方法及网管设备 | |
SG184120A1 (en) | Method of identifying a protocol giving rise to a data flow | |
CN111988896A (zh) | 基于边缘计算网关的物联网设备管理方法及大数据云平台 | |
CN114189350B (zh) | 一种基于LightGBM的列车通信网络入侵检测方法 | |
CN101267353B (zh) | 一种载荷无关的检测网络滥用行为的方法 |
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 |