CN101753456B - 一种对等网络流量检测方法及其系统 - Google Patents
一种对等网络流量检测方法及其系统 Download PDFInfo
- Publication number
- CN101753456B CN101753456B CN2009102646690A CN200910264669A CN101753456B CN 101753456 B CN101753456 B CN 101753456B CN 2009102646690 A CN2009102646690 A CN 2009102646690A CN 200910264669 A CN200910264669 A CN 200910264669A CN 101753456 B CN101753456 B CN 101753456B
- Authority
- CN
- China
- Prior art keywords
- packet
- flow
- processing module
- expressly
- memory module
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种对等网络流量检测的方法和系统。初级过滤设备从网络转发设备上获取全部的数据包,经初级过滤后进行已知P2P应用的明文特征串检测,将包含某个明文特征串的数据包送入明文处理模块,统计以明文方式传输的P2P流量;将未包含任何明文特征串的数据包送入待检处理模块向被探测目标发送根据不同P2P应用所约定的密钥信息所构造的主动探测数据包,根据被探测目标回复的响应数据包,检测出按密文方式传输的P2P流量或者其他未知流量。本发明提供的技术方案能有效减少流量检测的处理工作量,提高系统的效率,且单个模块的故障、更新均不会影响整个系统。该项技术对现有网络的拓扑和性能不会造成任何影响,便于部署和实施。
Description
技术领域
本发明涉及计算机网络流量管理技术领域,尤其涉及一种在计算机网络流量中检测对等网络应用流量的方法和系统。
背景技术
近年来,计算机网络中的各种对等网络(Peer-to-Peer,P2P)应用越来越丰富,出现了许多新的应用类型和协议。这些P2P应用消耗了大量的网络带宽,降低了Web、Email等传统Internet应用的服务质量,而且P2P应用所传播的内容还涉及著作权、病毒和淫秽内容等问题。因此,为了有效利用网络资源,保护知识产权,抑制病毒和淫秽内容的传播,必须对P2P应用的流量进行有效的管理,而首先必须能够实现对P2P流量的高效、准确的检测。
P2P流量的检测方法可以分为三类:端口映射(Port Mapping)、深度数据包检测(Deep Packet Inspection,DPI)、流量特征检测(Transport LayerIdentification,TLI)。
端口映射方法,是根据各种P2P应用所使用的运输层端口号(Port),来检测P2P流量的。但现有P2P应用为了躲避检测,都开始使用动态端口,甚至使用其他Internet应用的端口,如HTTP的80端口,因此该方法已不能准确检测P2P流量。
深度数据包检测方法,通过提取应用层载荷(payload),提取出各种P2P应用的特征串,从而检测P2P应用。该方法的准确性高、易于实现,是目前运用最普遍的方法。如中国发明专利“一种流量监控的方法、设备和系统”(CN101350781A),利用一个DPI设备对应用层数据报文进行识别。但是该方法只能针对以明文方式传输数据的P2P应用进行检测,目前P2P应用大多开始采用加密方式传输数据,因此该方法也将逐步失效。
流量特征检测方法,通过对网络流量中所有数据包的进行统计分析,如数据包大小、间隔时间、连接数量等,利用机器学习、数据挖掘等方法,发现P2P应用的流量特征,以此来检测P2P应用的流量,该方法能够检测未知和加密的P2P流量。如中国发明专利“基于支持向量机的混合式点对点流量检测方法”(CN101510873)和“基于支持向量机的对等网络流量检测方法”(CN101345704),将支持向量机技术应用到P2P流量检测中。由于这类方面需要在对大量数据包进行统计分析后,才能做出判断,因此需要处理的数据量较大,机器学习的实现复杂,因此不能做到高效、实时的检测。而且这类方法的检测依据是P2P应用的流量特征,这是一个统计量,无法准确区分各种具体的P2P应用流量。
发明内容
本发明的目的是针对现有技术存在的不足,提供一种能够实时、高效、准确地对以明文和密文方式传输的对等网络流量进行检测的方法和系统。
为达到上述目的,本发明所采用的技术方案是提供一种对等网络流量检测方法,包括如下步骤:
(1)初级过滤设备从网络转发设备上获取全部的数据包,对数据包进行初级过滤,滤除传输干扰发生的错误数据包,以及无关的数据包;所述的无关数据包包括传输层以下层次的数据包,以及步骤(4)中待检处理模块发送的主动探测数据包和被探测目标回复的响应数据包;
(2)按已知的P2P应用的明文特征串,初级过滤设备对数据包进行串匹配检测,将检测到的包含明文特征串的数据包,通过已确定明文通道(D通道),送入明文处理模块执行步骤(3);将检测到的未包含明文特征串的数据包,通过未确定通道(U通道),送入待检处理模块执行步骤(4);所述的已知的P2P应用的明文特征串,其形式包括:明文字符串、明文特征串的十六进制数表示以及明文特征串的正则表达式中的至少一种;
(3)明文处理模块统计得到以明文方式传输的P2P流量,并存储于明文P2P流量存储模块中;
(4)待检处理模块提取该数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,按其中的<源IP,目的IP,源端口,目的端口>为检索项,查找密文P2P流量存储模块;若密文P2P流量存储模块中存在该数据包的对应存储记录,则将该数据包五元组中<应用层载荷字节数>,累加到密文P2P流量存储模块中对应存储记录的<累计载荷字节数>字段,进行密文P2P流量统计;否则,执行步骤(5);
(5)按P2P应用所约定的密钥信息,构造主动探测数据包,经待检处理模块的网络接口向被探测目标发送主动探测数据包;
(6)待检处理模块在设定的等待时间内,若收到与发送的主动探测数据包内容相对应的被探测目标回复的响应数据包,将步骤(4)中提取的数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,添加到密文P2P流量存储模块中,成为一条新的记录,进行密文P2P流量统计;否则,将步骤(4)中的数据包按未知应用的数据包处理,执行步骤(7);
(7)待检处理模块提取该未知应用数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,按其中的<源IP,目的IP,源端口,目的端口>为检索项,查找未知流量存储模块,若未知流量存储模块中存在该数据包的对应存储记录,则将该数据包五元组中<应用层载荷字节数>,累加到未知流量存储模块中对应存储记录的<累计载荷字节数>字段;否则,待检处理模块将提取的该数据包的五元组信息,添加到未知流量存储模块中,成为一条新的记录。
步骤(1)中所述的获取全部的数据包的方法包括:
所述初级过滤设备对具有光纤接口的网络转发设备,通过光纤分光获得全部原始数据包;或者,所述初级过滤设备对具有端口镜像功能的网络转发设备,通过镜像端口获得全部原始数据包;所述初级过滤设备对不具备光纤接口且不具备端口镜像功能的网络转发设备,通过在网络转发设备的上行线路上连接网络分接器或者集线器,获取全部原始数据包。
步骤(1)中所述的明文处理模块统计得到以明文方式传输的P2P流量的步骤包括:明文处理模块提取包含明文特征串的数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,按其中的<源IP,目的IP,源端口,目的端口>为检索项,查找明文P2P流量存储模块;若该数据包在明文P2P流量存储模块中已存对应存储记录,则将该数据包五元组中<应用层载荷字节数>,累加到明文P2P流量存储模块中对应存储记录的<累计载荷字节数>字段;否则,明文处理模块将提取的该数据包的五元组信息,添加到明文P2P流量存储模块中,成为一条新的记录,进行明文P2P流量统计。
步骤(5)中所述的密钥信息,按P2P的不同应用进行构造,它包括一个768位二进制数和一个0~512位的随机值。
一种对等网络流量检测系统,它包括:初级过滤设备、已确定明文通道(D通道)、未确定通道(U通道)、明文处理模块、待检处理模块、明文P2P流量存储模块、密文P2P流量存储模块和未知流量存储模块;
所述的初级过滤设备,用于从获取的原始数据包中滤除错误和无关的数据包,并对数据包进行明文特征串匹配,将数据包分成D和U两类,分别送入D通道和U通道,交由明文处理模块和待检处理模块处理。
所述的已确定明文通道(D通道),用于将经过初级过滤设备过滤,包含某个已知P2P应用的明文特征串的数据包,发送给明文处理模块处理;
所述的未确定通道(U通道),用于将经过初级过滤设备过滤,未包含任何已知P2P应用的明文特征串的数据包,发送给待检处理模块处理;
所述的明文处理模块,用于从已确定明文通道(D通道)接收已确定明文类型的数据包,通过该数据包的五元组,查找并更新明文P2P流量存储模块,检测和统计明文P2P流量;
所述的待检处理模块,用于从未确定通道(U通道)接收未确定类型的数据包,通过该数据包的五元组,查找密文P2P流量存储模块,构造主动探测数据包;它还包括一个网络接口,用于向被探测目标发送主动探测数据包和接收被探测目标回复的响应数据包;在设定的等待时间内,根据被探测目标回复的响应数据包,检测密文P2P流量,并将检测结果按密文方式传输的P2P流量以及未知流量,分别发送到密文P2P流量存储模块和未知流量模块;
所述的明文P2P流量存储模块,接收并存储明文处理模块统计出的按明文方式传输的P2P流量信息;
所述的密文P2P流量存储模块,接收并存储待检处理模块检测出的按密文方式传输的P2P流量信息;
所述的未知流量存储模块,接收并存储待检处理模块所有未能正确检测的数据包的流量信息。
所述的已确定明文通道(D通道)和未确定通道(U通道)为初级过滤设备上的两个物理输出通道或逻辑输出通道,实现方法包括物理光纤接口、物理网线接口或逻辑队列接口中的一种。
所述的明文P2P流量存储模块、密文P2P流量存储模块、未知流量存储模块的实现方法为数据库系统或文件系统。
所述的网络接口为物理光纤接口或物理网线接口。
与现有技术相比,从以上技术方案可以看出,本发明具有的显著特点是:初级过滤设备从网络转发设备上获取全部的数据包,首先滤除滤除错误和无关的数据包,有效减少后续的处理工作,提高系统的效率。其次,初级过滤设备根据预先配置的明文特征串,对数据包进行串匹配检测,将数据包分为D和U两种类型,分别送入D通道和U通道,并分别交由明文处理模块和待检处理模块做进一步处理。不同的数据包不会混淆,而且明文处理模块和待检处理模块可以只处理一部分的数据包,简化各自的处理流程。明文处理模块负责统计以明文方式传输的P2P流量。待检处理模块通过向被探测目标发送经过特殊构造的主动探测数据包,只需等待规定的等待时间后,根据被探测目标回复的响应数据包的情况,从而检测是否是以密文方式传输的P2P流量或者是未知流量,因此实时性较好。而且明文处理模块和待检处理模块,可以分别由不同的设备或者一个设备上两个不同的部分,并发的完成对D数据包和U数据包的进一步处理,提高了系统的并发处理能力,且一个处理单元的故障、更新和性能降低均不会影响另一个处理单元,提高了系统的可靠性和可扩展性。明文处理模块和待检处理模块在处理数据包时,还需要搜索、更新明文P2P流量存储模块,密文P2P流量存储模块和未知流量存储模块,这三者都可以用数据库系统或者文件系统实现。对三者的搜索、更新过程是由数据库系统或者文件系统中相应的操作完成,使得本系统可以专注于P2P流量的检测,减少不必要的开销,提高系统的效率。数据库系统或者文件系统与明文处理模块或待检处理模块可以用不同的设备实现,也可以在同一个设备的不同部分实现,任何一个设备或部分的故障、更新或性能降低,不会相互影响,有利于扩展应用。
附图说明
图1为本发明实施例提供的一种对等网络流量检测方法的流程图;
图2为本发明实施例提供的一种对等网络流量检测系统的结构示意图;
图3为本发明实施例提供的一种对等网络流量检测系统的组网示意图;
图4为本发明另一个实施例提供的一种对等网络流量检测系统的组网示意图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例1:
一种对等网络流量检测的方法和系统,用于实现对加密和未加密的P2P应用流量进行实时、高效、准确的检测。
图1是本实施例对等网络流量检测方法的流程图,以下通过具体步骤进行详细说明:
步骤101,初级过滤设备从网络转发设备获取数据包
对具有光纤接口的网络转发设备,初级过滤设备可以通过网络转发设备上的光纤分光获得原始数据包。对具有端口镜像功能的网络转发设备,初级过滤设备可以通过网络转发设备上的镜像端口获得原始数据包。对不具备光纤接口且不具备端口镜像功能的网络转发设备,可以在网络转发设备的上行(Up-Link)线路上连接网络分接器或者集线器,初级过滤设备通过网络分接器或者集线器获取原始数据包。上述初级过滤设备获取的原始数据包应包括所有的数据包,不是有选择的获取部分数据包。
网络转发设备具体可以是路由器、三层交换机、二层交换机等具备数据包转发功能的设备。
步骤102,初级过滤设备对数据包进行初级过滤
初级过滤设备对获取的原始数据包进行初级过滤,具体是要滤除三种类型的数据包。
第一种滤除的是因传输干扰问题而发生错误的数据包,如校验和错误的数据包、小于64字节的数据包等,因此必须滤除。
第二种滤除的是传输层以下层次的数据包。由于P2P应用的数据包是传输层以上应用层的数据包,因此传输层以下层次的数据包不可能是P2P应用的数据包,因此必须滤除。
第三种滤除的是本系统中待检处理模块发送的主动探测数据包和被探测目标的响应数据包。主动探测数据包是步骤111中,因检测加密P2P流量需要,而发送的一种数据包。响应数据包是被探测目标对主动探测数据包的响应。这两种数据包均不是网络中原始的数据包,一般情况下在现有网络中不会出现,是由于本系统的检测需要而引入的数据包,因此必须滤除。
在本步骤中,第一种和第二中数据包的过滤具体是由初级过滤设备上的过滤电路自动完成。第三种数据包的过滤,需根据本系统中待检处理模块的网络接口的IP地址,对初级过滤设备设置过滤条件,由初级过滤设备上的过滤电路自动完成。如系统中待检处理模块的IP地址为10.0.0.6,则设置的过滤条件为no ipaddress 10.0.0.6。
本步骤中,通过初级过滤设备对这三种类型的数据包进行初级过滤后,可以有效减少后续的处理工作,提高系统的效率。而且这三种类型数据包的过滤,是由初级过滤设备上的过滤电路完成的,可以达到很高的处理性能和可靠性。
步骤103,初级过滤设备对数据包进行明文特征串匹配,将数据包分成两类,分别送入D通道和U通道。
初级过滤设备根据已知的P2P应用的明文特征串,对经过初级过滤的数据包进行串匹配检测。串匹配检测具体是由初级过滤设备的串匹配电路完成,串匹配电路根据设定的明文特征串检测条件,实现对明文数据包的检测。具体的明文特征串检测条件,可以是字符串,如“abcde”,或者是明文特征串的十六进制数,如“0x F2 35 4D”;或者是明文特征串的正则表达式,如“1:t4:.{4}1:v4:UT”。
对经过明文特征串匹配检测的数据包,如果包含某个已知P2P应用的明文特征串,则初级过滤设备将其送入已确定明文(Determined)通道,简称D通道,否则送入未确定(Undetermined)通道;简称U通道。D通道的数据包交给明文处理模块处理,U通道的数据包交给待检处理模块处理。具体的,D通道和U通道可以是初级过滤设备上的两个物理通道,如两路光纤或网络输出端口;也可以是两个逻辑通道,如初级过滤设备的两个队列输出。
本步骤中,初级过滤设备对数据包进行明文特征串匹配,将数据包分成两类,分别送入D通道和U通道,并分别交由明文处理模块和待检处理模块。因此,不同的数据包不会混淆,而且明文处理模块和待检处理模块可以只处理一部分的数据包,简化各自的处理流程。明文处理模块和待检处理模块可以分别由不同的设备或者一个设备上两个不同的部分,并发的完成对D数据包和U数据包的进一步处理,大大提高了系统的并发处理能力。而且某一个处理单元的故障或更新均不会影响另一个处理单元,提高了系统的可靠性和可扩展性。
步骤104,明文处理模块提取D数据包的五元组信息
本步骤中D数据包的五元组信息,具体是指D数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>这五个参数。
明文处理模块提取D数据包的五元组信息,具体是通过解析D数据包的网络层和传输层数据包头完成的。
步骤105,明文处理模块查找明文P2P流量存储模块
明文P2P流量存储模块中存储的为已知的按明文方式传输的P2P流量信息,具体为每个数据流的<源IP,目的IP,源端口,目的端口,累计载荷字节数>,明文处理模块查找明文P2P流量存储模块,具体是按D数据包五元组中的<源IP,目的IP,源端口,目的端口>这四项为检索项,去查找明文P2P流量存储模块。
本步骤中,明文P2P流量存储模块具体是指数据库系统中一个独立的数据表或者文件系统中一个独立的格式存储的文本文件。明文处理模块查找明文P2P流量存储模块具体可以通过数据库系统的数据表查找或者文件系统文件搜索过程完成。
步骤106,明文处理模块更新明文P2P流量存储模块
明文处理模块查找明文P2P流量存储模块后,判断表中是否存在对应存储记录。如果存在对应存储记录,则明文处理模块将D数据包五元组中<应用层载荷字节数>,累加到明文P2P流量存储模块中对应存储记录的<累计载荷字节数>字段。否则,明文处理模块将提取的D数据包的五元组信息,添加到明文P2P流量存储模块中,成为一条新的记录。
明文处理模块更新明文P2P流量存储模块具体可以通过数据库系统的数据表更新或者文件系统文件更新过程完成。
步骤107,待检处理模块提取U数据包的五元组信息
本步骤中U数据包的五元组信息,具体是指U数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>这五个参数。
待检处理模块提取U数据包的五元组信息,具体是通过解析U数据包的网络层和传输层数据包头完成的。
步骤108,待检处理模块查找密文P2P流量存储模块
密文P2P流量存储模块中存储的为已知的按密文方式传输的P2P流量信息,具体为每个数据流的<源IP,目的IP,源端口,目的端口,累计载荷字节数>,待检处理模块查找密文P2P流量存储模块,具体是按U数据包五元组中的<源IP,目的IP,源端口,目的端口>这四项为检索项,去查找密文P2P流量存储模块。
本步骤中,密文P2P流量存储模块具体是指数据库系统中一个独立的数据表或者文件系统中一个独立的格式存储的文本文件。待检处理模块查找密文P2P流量存储模块具体可以通过数据库系统的数据表查找或者文件系统文件搜索过程完成。
步骤109,待检处理模块判断密文P2P流量存储模块中是否存在对应存储记录,如无则执行步骤110,否则执行步骤112。
步骤110,待检处理模块构造并发送主动探测数据包
待检处理模块根据U数据包的五元组信息,构造主动探测(Probe)数据包,简称P数据包,并通过待检处理模块的网络接口将P数据包发送出去。根据不同的P2P应用所约定的密钥信息
P数据包的内容,具体是经过特殊构造的密钥信息,该密钥信息根据不同的P2P应用有所不同,如BitTorrent协议为一个768位二进制数和一个0~512位的随机值。P数据包的内容是通过传输层TCP协议实现承载的。
P数据包发送的目标,具体是以U数据包五元组中的<源IP,源端口>或者<目的IP,目的端口>为目标。一般的,如果<源IP,源端口>指向内部网络的主机,则以<源IP,源端口>为发送目标;反之,则以<目的IP,目的端口>为目标。当然,也不局限于内部网络的主机。
P数据包的源,是待检处理模块自身。具体是指二元组<待检处理模块的IP地址,某个端口>。待检处理模块的IP地址,一般根据待检处理模块所连接的网络中的地址分配情况进行设置,如10.0.0.6。但注意与步骤102中,初级过滤设备上设置的待检处理模块的IP地址保持一致。待检处理模块的某个端口,可以取固定的某个端口,如10000。或者取随机的端口,取值范围从0~65535。一般建议取随机的端口。
P数据包具体是通过待检处理模块的网络接口发送,待检处理模块的网络接口是直接连接在网络转发设备上。该网络转发设备不一定是步骤101中,初级过滤设备获取数据包的那个网络转发设备,只要该网络转发设备能够保证待检处理模块可以正常连接到网络中。
步骤111,待检处理模块判断被探测目标是否有响应。
待检处理模块判断被探测目标是否有响应,具体是根据在设定的等待时间内,被探测目标对待检处理模块发送的P数据包是否发送响应数据包(Response)来决定,以下简称R数据包。如果在设定的等待时间内,待检处理模块收到被探测目标发来的R数据包,则视为有响应,执行步骤112,否则执行步骤113。
待检处理模块等待时间的长度,可以根据具体网络延时情况而定,如60~180秒。
待检处理模块收到被探测目标发来的R数据包的目标应是步骤110中P数据包的源,具体是指二元组<待检处理模块的IP地址,某个端口>。R数据包的内容是与步骤110中P数据包内容相对应的,由被探测目标经过特殊构造的密钥信息。该密钥信息根据不同的P2P应用有所不同,如BitTorrent协议,被探测目标发送的R数据包的内容中应为一个768位二进制数和一个0~512位的随机值。一般情况下,被探测目标发送的R数据包的内容与待检处理模块发送的P数据包的内容不完全一致。
步骤112,待检处理模块更新密文P2P流量存储模块
待检处理模块更新密文P2P流量存储模块,具体分成两种情况进行处理。
第一种情况,步骤109中,待检处理模块查找密文P2P流量存储模块后,判断表中是否存在对应存储记录。如是,则待检处理模块将P数据包五元组中<应用层载荷字节数>,累加到密文P2P流量存储模块中对应存储记录的<累计载荷字节数>字段。
第二种情况,步骤111中,待检处理模块判断被探测目标是否有响应,如是,则待检处理模块提取的P数据包的五元组信息,添加到密文P2P流量存储模块中,成为一条新的记录。
待检处理模块更新密文P2P流量存储模块具体可以通过数据库系统的数据表更新或者文件系统文件更新过程完成。
步骤113,待检处理模块更新未知流量存储模块。
未知流量存储模块中存储的是所有未能正确检测的数据包的流量信息,具体为每个数据流的<源IP,目的IP,源端口,目的端口,累计载荷字节数>。待检处理模块按U数据包五元组中的<源IP,目的IP,源端口,目的端口>这四项为检索项,去查找未知流量存储模块。如果存在对应存储记录,则待检处理模块将U数据包五元组中<应用层载荷字节数>,累加到未知流量存储模块中对应存储记录的<累计载荷字节数>字段。否则,待检处理模块将提取的U数据包的五元组信息,添加到未知流量存储模块中,成为一条新的记录。
未知流量存储模块具体是指数据库系统中一个独立的数据表或者文件系统中一个独立的格式存储的文本文件。待检处理模块查找未知流量存储模块具体可以通过数据库系统的数据表查找或者文件系统文件搜索过程完成。待检处理模块更新未知流量存储模块具体可以通过数据库系统的数据表更新或者文件系统文件更新过程完成。
图2为本实施例提供的一种对等网络流量检测系统的结构示意图,该系统包括初级过滤设备201,D通道202,U通道203,明文处理模块204,待检处理模块205,明文P2P流量存储模块206,密文P2P流量存储模块207,未知流量存储模块208。
其中,初级过滤设备201,用于从获取的原始数据包中滤除三种类型的数据包,并对数据包进行明文特征串匹配,将数据包分成两类,分别送入D通道和U通道,交由明文处理模块和待检处理模块处理。
其中,初级过滤设备需要滤除的三种数据包分别是传输错误的数据包,传输层以下层次的数据包,以及本系统中待检处理模块发送的主动探测数据包和被探测目标的响应数据包。通过对这三种类型的数据包进行初级过滤后,可以有效减少后续的处理工作,提高系统的效率。
其中,初级过滤设备根据预先配置的P2P应用的明文特征串,对经过初级过滤的数据包进行串匹配检测。具体的明文特征串检测条件,可以是字符串、特征串的十六进制数、特征串的正则表达式,条件设置十分灵活。经过串匹配检测的数据包,分别送入D通道和U通道,交由明文处理模块和待检处理模块处理。
此外,初级过滤设备的所有工作,都是由电路自动完成的,均为电路级操作,可以达到很高的处理性能和可靠性。
D通道202,用于将经过初级过滤设备过滤,包含某个已知P2P应用的明文特征串的数据包,发送给明文处理模块处理。
U通道203,用于将经过初级过滤设备过滤,未包含任何已知P2P应用的明文特征串的数据包,发送给待检处理模块处理。D通道和U通道可以是初级过滤设备上的两个物理通道输出,或者可以是两个逻辑通道输出。
明文处理模块204,用于从D通道接收D类型的数据包,通过D数据包的五元组,查找并更新明文P2P流量存储模块,实现对明文P2P流量的检测。
待检处理模块205,用于从U通道接收U类型的数据包,通过U数据包的五元组,查找密文P2P流量存储模块,构造主动探测数据包P并向被探测目标发送P数据包,根据被探测目标的响应,从而更新密文P2P流量存储模块或者未知流量存储模块,实现对密文P2P流量的检测。
明文处理模块和待检处理模块的处理过程并不一样,可以分别由不同的设备或者一个设备上两个不同的部分,并发的完成对D数据包和U数据包的进一步处理,大大提高了系统的并发处理能力。而且某一个处理单元的故障、更新或性能降低均不会影响另一个处理单元,提高了系统的可靠性和可扩展性。
明文P2P流量存储模块206,用于存储已知的按明文方式传输的P2P流量信息。
密文P2P流量存储模块207,用于存储已知的按密文方式传输的P2P流量信息。
未知流量存储模块208,用于存储所有未能正确检测的数据包的流量信息。
明文P2P流量存储模块206、密文P2P流量存储模块207、未知流量存储模块208,均可以灵活的通过数据库系统或者文件系统实现,根据具体的组网情况,三者可以共享一个数据库系统或文件系统,也可以独立实现,十分灵活。对三者的搜索、更新过程是交由数据库系统或者文件系统中相应的操作完成,使得本系统可以专注于P2P流量的检测,减少不必要的开销,提高系统的效率。此外,本系统与数据库系统或文件系统之间是相互独立的,任何一个系统的故障、更新或性能降低,不会相互影响,利于扩展应用。
图3为本实施例提供的一种对等网络流量检测系统的组网示意图,包括网络301、网络转发设备302、初级过滤设备303、D通道304、U通道305、服务器A306、服务器B307。其中:
网络301,可以是因特网、城域网、校园网、企业网等网络。
网络转发设备302,可以是路由器、三层交换机、二层交换机等具备数据包转发功能的设备。该网络转发设备是初级过滤设备的数据包获取源,也用于转发服务器B发送的主动探测数据包和被探测目标的响应数据包。
初级过滤设备303,即为图2中的初级过滤设备201。初级过滤设备从网络转发设备获取原始数据包,对具有光纤接口的网络转发设备,初级过滤设备可以通过网络转发设备上的光纤分光获得原始数据包。对具有端口镜像功能的网络转发设备,初级过滤设备可以通过网络转发设备上的镜像端口获得原始数据包。对不具备光纤接口且不具备端口镜像功能的网络转发设备,可以在网络转发设备的上行(Up-Link)线路上连接网络分接器或者集线器,初级过滤设备通过网络分接器或者集线器获取原始数据包。上述初级过滤设备获取的原始数据包应包括所有的数据包,不是有选择的获取部分数据包。
D通道304,即为图2中的D通道202,此时D通道是初级过滤设备上的一个物理通道输出。
U通道305,即为图2中的U通道203,此时U通道是初级过滤设备上的另一个物理通道输出。
服务器A306,具体实现了图2中的明文处理模块和明文P2P流量存储模块。其中明文P2P流量存储模块是通过服务器A上的数据库系统中的数据表实现。
服务器B307,具体实现了图2中的待检处理模块、密文P2P流量存储模块和未知流量存储模块。其中密文P2P流量存储模块和未知流量存储模块是通过服务器B上的数据库系统中的数据表实现。服务器B还与网络转发设备通过网络接口进行连接,用于发送待检处理模块产生的主动探测数据包和接收被探测目标的响应数据包。
实施例2:
图4为本实施例提供的一种对等网络流量检测系统的组网示意图,包括网络401、网络转发设备A402、初级过滤设备403、服务器A404、服务器B405、网络转发设备B406。其中:
网络401,即为实施例1中图3所示的网络301,可以是因特网、城域网、校园网、企业网等网络。
网络转发设备A402,可以是路由器、三层交换机、二层交换机等具备数据包转发功能的设备。该网络转发设备只是初级过滤设备的数据包获取源。
初级过滤设备403,即为实施例1中图2所示的初级过滤设备201。
服务器A404,具体实现了实施例1中图2所示的明文P2P流量存储模块、密文P2P流量存储模块和未知流量存储模块,三者是通过服务器A上的文件系统中的文件实现。
服务器B405,具体实现了图2中的D通道、U通道、明文处理模块和待检处理模块。其中D通道和U通道是初级过滤设备与服务器B间物理连接上的两个逻辑通道输出。服务器B还与网络转发设备B通过网络接口进行连接,用于发送主动探测数据包和接收被探测目标的响应数据包。
网络转发设备B406,连接到网络,用于转发服务器B中待检处理模块产生的主动探测数据包和被探测目标的响应数据包。
综上所述,本发明针对现有的P2P流量检测方法存在的不足,主要是对加密P2P流量的检测和系统性能不高的问题,提出了一种P2P流量检测的方法和系统。通过初级过滤设备从网络转发设备上获取全部的数据包,首先利用过滤电路,高速滤除传输错误的数据包、传输层以下的数据包、以及本系统中待检处理模块发送的主动探测数据包和被探测目标回复的响应数据包,有效减少后续的处理工作,提高系统的效率。其次,初级过滤设备根据预先配置的明文特征串,对数据包进行串匹配检测,将数据包分为两种类型,分别送入D通道和U通道,并分别交由明文处理模块和待检处理模块做进一步处理。这样,不同的数据包不会混淆,而且明文处理模块和待检处理模块可以只处理一部分的数据包,简化各自的处理流程。明文处理模块负责检测以明文方式传输的P2P流量。待检处理模块通过向被探测目标发送经过特殊构造的主动探测数据包,只需等待规定的等待时间后,根据被探测目标回复的响应数据包,从而检测出是否是以密文方式传输的P2P流量或者是未知流量,因此实时性较好。而且明文处理模块和待检处理模块可以分别由不同的设备或者一个设备上两个不同的部分,并发的完成对D数据包和U数据包的进一步处理,提高了系统的并发处理能力,且一个处理单元的故障、更新和性能降低均不会影响另一个处理单元,提高了系统的可靠性和可扩展性。明文处理模块和待检处理模块在处理数据包时,还需要搜索、更新明文P2P流量存储模块,密文P2P流量存储模块和未知流量存储模块,这三者都可以用数据库系统或者文件系统实现。对三者的搜索、更新过程是由数据库系统或者文件系统中相应的操作完成,使得本系统可以专注于P2P流量的检测,减少不必要的开销,提高系统的效率。数据库系统或者文件系统与明文处理模块或待检处理模块可以用不同的设备实现,也可以在同一个设备的不同部分实现,任何一个设备或部分的故障、更新或性能降低,不会相互影响,利于扩展应用。
Claims (8)
1.一种对等网络流量检测方法,其特征在于包括如下步骤:
(1)初级过滤设备从网络转发设备上获取全部的数据包,对数据包进行初级过滤,滤除传输干扰发生的错误数据包,以及无关的数据包;所述的无关的数据包包括传输层以下层次的数据包,以及步骤(4)中待检处理模块发送的主动探测数据包和被探测目标回复的响应数据包;
(2)按已知的P2P应用的明文特征串,初级过滤设备对数据包进行串匹配检测,将检测到的包含明文特征串的数据包,通过已确定明文通道(D通道),送入明文处理模块执行步骤(3);将检测到的未包含明文特征串的数据包,通过未确定通道(U通道),送入待检处理模块执行步骤(4);所述的已知的P2P应用的明文特征串,其形式包括:明文字符串、明文特征串的十六进制数表示以及明文特征串的正则表达式中的至少一种;
(3)明文处理模块统计得到以明文方式传输的P2P流量,并存储于明文P2P流量存储模块中;
(4)待检处理模块提取该数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,按其中的<源IP,目的IP,源端口,目的端口>为检索项,查找密文P2P流量存储模块;若密文P2P流量存储模块中存在该数据包的对应存储记录,则将该数据包五元组中<应用层载荷字节数>,累加到密文P2P流量存储模块中对应存储记录的<累计载荷字节数>字段,进行密文P2P流量统计;否则,执行步骤(5);
(5)按P2P应用所约定的密钥信息,构造主动探测数据包,经待检处理模块的网络接口向被探测目标发送主动探测数据包;
(6)待检处理模块在设定的等待时间内,若收到与发送的主动探测数据包内容相对应的被探测目标回复的响应数据包,将步骤(4)中提取的数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,添加到密文P2P流量存储模块中,成为一条新的记录,进行密文P2P流量统计;否则,将步骤(4)中的数据包按未知应用的数据包处理,执行步骤(7);
(7)待检处理模块提取该未知应用数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,按其中的<源IP,目的IP,源端口,目的端口>为检索项,查找未知流量存储模块,若未知流量存储模块中存在该数据包的对应存储记录,则将该数据包五元组中<应用层载荷字节数>,累加到未知流量存储模块中对应存储记录的<累计载荷字节数>字段;否则,待检处理模块将提取的该数据包的五元组信息,添加到未知流量存储模块中,成为一条新的记录。
2.根据权利要求1所述的一种对等网络流量检测方法,其特征在于:步骤(1)中所述的获取全部的数据包的方法包括:
所述初级过滤设备对具有光纤接口的网络转发设备,通过光纤分光获得全部原始数据包;或者,所述初级过滤设备对具有端口镜像功能的网络转发设备,通过镜像端口获得全部原始数据包;所述初级过滤设备对不具备光纤接口且不具备端口镜像功能的网络转发设备,通过在网络转发设备的上行线路上连接网络分接器或者集线器,获取全部原始数据包。
3.根据权利要求1所述的一种对等网络流量检测方法,其特征在于:步骤(3)中所述的明文处理模块统计得到以明文方式传输的P2P流量的步骤包括:明文处理模块提取包含明文特征串的数据包的<源IP,目的IP,源端口,目的端口,应用层载荷字节数>五元组信息,按其中的<源IP,目的IP,源端口,目的端口>为检索项,查找明文P2P流量存储模块;若该数据包在明文P2P流量存储模块中已存对应存储记录,则将该数据包五元组中<应用层载荷字节数>,累加到明文P2P流量存储模块中对应存储记录的<累计载荷字节数>字段;否则,明文处理模块将提取的该数据包的五元组信息,添加到明文P2P流量存储模块中,成为一条新的记录,进行明文P2P流量统计。
4.根据权利要求1所述的一种对等网络流量检测方法,其特征在于:步骤(5)中所述的密钥信息,按P2P的不同应用进行构造,它包括一个768位二进制数和一个0~512位的随机值。
5.一种对等网络流量检测系统,其特征在于它包括:初级过滤设备、已确定明文通道(D通道)、未确定通道(U通道)、明文处理模块、待检处理模块、明文P2P流量存储模块、密文P2P流量存储模块和未知流量存储模块;
所述的初级过滤设备,用于从获取的原始数据包中滤除错误和无关的数据包,并对数据包进行明文特征串匹配,将数据包分成已确定明文和未确定两类,分别送入已确定明文通道和未确定通道,交由明文处理模块和待检处理模块处理。
所述的已确定明文通道(D通道),用于将经过初级过滤设备过滤,包含某个已知P2P应用的明文特征串的数据包,发送给明文处理模块处理;
所述的未确定通道(U通道),用于将经过初级过滤设备过滤,未包含任何已知P2P应用的明文特征串的数据包,发送给待检处理模块处理;
所述的明文处理模块,用于从已确定明文通道(D通道)接收已确定明文类型的数据包,通过该数据包的五元组,查找并更新明文P2P流量存储模块,检测和统计明文P2P流量;
所述的待检处理模块,用于从未确定通道(U通道)接收未确定类型的数据包,通过该数据包的五元组,查找密文P2P流量存储模块,构造主动探测数据包;它还包括一个网络接口,用于向被探测目标发送主动探测数据包和接收被探测目标回复的响应数据包;在设定的等待时间内,根据被探测目标回复的响应数据包,检测密文P2P流量,并将检测结果按密文方式传输的P2P流量以及未知流量,分别发送到密文P2P流量存储模块和未知流量模块;
所述的明文P2P流量存储模块,接收并存储明文处理模块统计出的按明文方式传输的P2P流量信息;
所述的密文P2P流量存储模块,接收并存储待检处理模块检测出的按密文方式传输的P2P流量信息;
所述的未知流量存储模块,接收并存储待检处理模块所有未能正确检测的数据包的流量信息。
6.根据权利要求5所述的一种对等网络流量检测系统,其特征在于:已确定明文通道(D通道)和未确定通道(U通道)为初级过滤设备上的两个物理输出通道或逻辑输出通道,实现方法包括物理光纤接口、物理网线接口或逻辑队列接口中的一种。
7.根据权利要求5所述的一种对等网络流量检测系统,其特征在于,明文P2P流量存储模块、密文P2P流量存储模块、未知流量存储模块的实现方法为数据库系统或文件系统。
8.根据权利要求5所述的一种对等网络流量检测系统,其特征在于:所述的网络接口为物理光纤接口或物理网线接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102646690A CN101753456B (zh) | 2009-12-25 | 2009-12-25 | 一种对等网络流量检测方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102646690A CN101753456B (zh) | 2009-12-25 | 2009-12-25 | 一种对等网络流量检测方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101753456A CN101753456A (zh) | 2010-06-23 |
CN101753456B true CN101753456B (zh) | 2011-12-14 |
Family
ID=42479881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102646690A Expired - Fee Related CN101753456B (zh) | 2009-12-25 | 2009-12-25 | 一种对等网络流量检测方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101753456B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497371A (zh) * | 2011-12-13 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种基于五元组和负载内容的采样设备 |
CN103701670B (zh) * | 2013-12-30 | 2017-12-19 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据包负载的处理方法和装置 |
CN104320304B (zh) * | 2014-11-04 | 2017-11-28 | 武汉虹信技术服务有限责任公司 | 一种易扩展的多方式融合的核心网用户流量应用识别方法 |
CN107707422A (zh) * | 2017-08-24 | 2018-02-16 | 四川天邑康和通信股份有限公司 | 基于onu驱动层快速ack回复的网络测速方法 |
US11412007B2 (en) * | 2020-03-16 | 2022-08-09 | Juniper Networks, Inc. | Lawfully intercepting traffic and providing the traffic to a content destination based on chained traffic tapping |
-
2009
- 2009-12-25 CN CN2009102646690A patent/CN101753456B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101753456A (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116208524B (zh) | 一种数据报文的检测方法、设备及系统 | |
US9871781B2 (en) | Systems and methods for path maximum transmission unit discovery | |
US9009830B2 (en) | Inline intrusion detection | |
JP4759389B2 (ja) | パケット通信装置 | |
CN101309273B (zh) | 一种生成安全联盟的方法和装置 | |
EP2482497B1 (en) | Data forwarding method, data processing method, system and device thereof | |
US20200296624A1 (en) | Frame aggregation method, network setting frame sending method, and device | |
CN102821009B (zh) | 基于链路层发现协议监控环形网络的方法和装置 | |
CN104320304A (zh) | 一种易扩展的多方式融合的核心网用户流量应用识别方法 | |
CN101753456B (zh) | 一种对等网络流量检测方法及其系统 | |
US20140229615A1 (en) | Method of collecting information about test devices in a network | |
CN107360154B (zh) | 一种内网安全接入方法及系统 | |
CN102904975A (zh) | 报文处理的方法和相关装置 | |
CN101741745B (zh) | 识别对等网络应用流量的方法及其系统 | |
CN108206788B (zh) | 一种流量的业务识别方法及相关设备 | |
CN104243237A (zh) | P2p流检测方法和设备 | |
CN105207950A (zh) | 一种基于sdn技术的通信数据保护方法 | |
CN108650237B (zh) | 一种基于存活时间的报文安全检查方法及系统 | |
CN108667735B (zh) | 一种组播数据的转发方法和装置 | |
CN102480503B (zh) | P2p流量识别方法和装置 | |
CN111404719B (zh) | 网络拓扑信息采集方法及系统 | |
KR100889753B1 (ko) | 링크 애그리게이션 그룹에서의 보호 절체 방법 및 그 장치 | |
CN103036789A (zh) | 报文发送方法、装置和网络出口设备 | |
US9455911B1 (en) | In-band centralized control with connection-oriented control protocols | |
CN103281318B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111214 Termination date: 20141225 |
|
EXPY | Termination of patent right or utility model |