P2p流量识别方法及系统的制作方法

文档序号:7862958阅读:285来源:国知局
专利名称:P2p流量识别方法及系统的制作方法
技术领域
本发明涉及一种P2P流量识别方法及系统,尤其是涉及一种DFI P2P流量识别方法及系统。背景技术
目前主要的P2P流量识别方法可分三类,第一类基于端口的流量检测方法;第二类基于payload的流量检测方法,即通过识别报文中的应用层特征串来识别P2P ;第三类基于流量特征的流量检测方法,指利用网络流量的流量特征如IP、报文长度等信息检测P2P流量的方法。上述方法虽然能检测P2P流量,但检测的精度较低。
发明内容· 为了解决上述问题,本发明的目的是提供一种P2P流量识别方法。本发明的另一目的是提供一种P2P流量识别系统。其中,本发明一实施方式的P2P流量识别方法包括以下步骤
51、正向查找,如果某个链接通过DPI/DFI被第一次识别出来,并且识别出来的协议类型为P2P协议,则查找同一个内网源IP地址下且源端口相同的其他链接;如果查找到的链接没有被识别,则将所述链接的7层协议ID号设置成与已经识别出来的P2P协议类型一样的值;
52、反向查找,如果某个链接未被识别出来,则找同一个内网源IP地址下,且源端口相同,且4层协议也相同的其他链接,如果找到的其他链接中的某个链接的协议类型已经被识别,且该链接类型为P2P协议,则将正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到并已识别出来且具有P2P flag的链接的7层协议的ID号一样的值。作为本发明的进一步改进,所述方法还包括
53、如果在SI、S2步骤中未得到合适的7层协议ID号,则继续在同内网源IP、同源端口、不同4层协议的链接中查找,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议,则将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。作为本发明的进一步改进,所述SI步骤中,查找同一个内网源IP且源端口相同的链接的数量,最大100个,100个以后的则不再进行查找。相应地,本发明一实施方式的P2P流量识别系统包括
正向查找单元,用于正向查找,如果某个链接通过DPI/DFI被第一次识别出来,并且识别出来的协议类型为P2P协议,则查找同一个内网源IP地址下且源端口相同的其他链接;如果查找到的链接没有被识别,则将所述链接的7层协议ID号设置成与已经识别出来的P2P协议类型一样的值;
反向查找单元,用于反向查找,如果某个链接未被识别出来,则找同一个内网源IP地址下,且源端口相同,且4层协议也相同的其他链接,如果找到的其他链接中的某个链接的协议类型已经被识别,且该链接类型为P2P协议,则将正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到并已识别出来且具有P2P flag的链接的7层协议的ID号一样的值。作为本发明的进一步改进,所述系统还包括
其他查找单元,用于如果在正向查找单元和反向查找单元中未得到合适的7层协议ID号,则继续在同内网源IP、同源端口、不同4层协议的链接中查找,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议,则将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。作为本发明的进一步改进,所述正向查找单元中,查找同一个内网源IP且源端口相同的链接的数量,最大100个,100个以后的则不再进行查找。相比于现有技术,本发明的P2P流量识别方法及系统可较为精确的检测P2P流量。

图I是本发明一实施例的P2P流量识别方法的流程 图2是本发明一实施例的P2P流量识别系统的模块图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。互联网上大量的个人用户没有公有IP地址,多个客户端往往通过NAT技术共同享有一个IP,联网方式一般都是通过局域网接入因特网。由于NAT的存在,P2P软件可使用各种穿越NAT的技术来实现直接通信,一般来说链接的发起者是处于NAT后的个人用户而不能是互联网上的用户。传统通信模型与P2P通用通信模型的区别传统通信模型是NAT后的节点和互联网上少数几个IP发生链接,该节点与这些IP发生的链接数较多,这是因为传统流量模型中用户要访问的资源集中在服务器上,所以需要建立更多的链接从而获得更高的通信带宽;而传统P2P通信模型是NAT后的对等点与互联网上多个不同的IP地址存在链接,该对等点和每个IP的链接数并不多,这是因为对等点总是倾向于把通信压力分布到各个节点上,而不是聚集到一个特定的节点。由于大部分P2P应用为了逃避端口检测,往往采用随机选取端口的方式来指定监听端口,而NAT后的对等点总是主动链接互联网上的对等点,故随机选取端口的方式表现在流量特征上就是互联网上这些对等点的监听端口是随机的。源端口的选择遵循如下规律TCP源端口随机选择,UDP源端口尽量使用相同的端口号。目前大多数流控设备普遍根据上述的P2P通用通信模型而开发出的P2P通用流量检测模块,下面的描述的一般P2P流量特征,而大多数的P2P流量识别模块也是按照这些规律特征而开发
O TCP流量特征任一时刻在检测点观察NAT后的P2P对等点A,A和互联网上η个节点存在链接,A和任意一个节点之间至多存在一条TCP链接,该链接由A发起。如果计算这些链接的不同目的地址数TCP_Gdiff_dest,不同源端口数TCP_Gdiff_sport,不同目的端口数TCP_Gdiff_dport,这些值满足如下等式(n0为阀值,可调)
TCP_Gdiff_sport= TCP_Gdiff_destTCP—Gdiff—dest= TCP—Gdiff—dport,n ^ nOTCP—Gdiff—dest=n
2)UDP流量特征使用与TCP流量特征相同的描述,但满足如下等式(nl为阀值,可
调)
UDP—Gdiff—sport〈〈n
UDP—Gdiff—dest= UDP—Gdiff—dport,n ^ nlUDP—Gdi f f—dest=n
两种流量特征的差别很小,只在Gdiff_dport的取值上不同,将阀值nO、nl设置为一个合理的值能够使P2P和非P2P有效区分。但是现在互联网上一些主流P2P应用往往是多种传输方式、多种资源整合技术相·结合的软件,这些P2P应用所表现出的流量特征远远比一般的P2P应用流量特征要复杂的很多,而本发明所要优化就是应用了 P2P通用流量检测模块后再应用此P2P特殊流量检测模块,这样引擎设备在检测目前互联网上这些优秀的主流P2P应用或检测到未知P2P应用流量或P2P加密流量时,而避免了引擎设备所出现严重的误判、漏判问题,这也是主要针对一些主流复杂应用的流量特征而定制。本发明中,检测TCP流量特征
I) TCP流量特征任一时刻在检测点观察P2P对等点A
①假如A和互联网上η个节点存在链接,A和任意一个节点之间存在η2(η2>1)条TCP链接,该链接由A发起,发起这样的多条链接为P2P的多线程链接,这里要引入一个变量,SP要统计使用多线程链接的不同目的地址数TCP_Tdiff_dest (设备里设为可调);值满足如下等式
2 ( TCP_Tdiff_dest(可调)
2彡n2彡10(可调)
②假如A和互联网上η个节点存在链接,A和任意一个节点之间至多存在一条TCP链接,如果计算这些链接的不同目的地址数TCP_Pdiff_dest,这些链接的目的端口将不纳入判断条件,不同源端口数TCP_Pdiff_sp0rt ;这些值满足如下等式(n3为阀值,可调)
TCP_Pdiff_dest=n n ^ n3(n3 测试时设为 40)
TCP_Pdiff_sport= TCP_Pdiff_dest
③另外还要考虑到一种情况假如A和互联网上η个节点存在链接,A和任意一个节点之间至多存在一条TCP链接,如果计算这些链接的不同目的地址数TCP_Ddiff_dest (设备里设为可调),且这些链接的目的端口都相同,不同源端口数TCP_Ddiff_sp0rt ;这些值满足如下等式(n4为阀值,可调)
TCP_Ddiff_dest=n n ^ n4(n4 测试时设为 5)
TCP_Ddiff_sport= TCP_Ddiff_dest
④假如A和任意一个节点之间先后存在多条TCP链接,且这些链接的源端口不同,目的地址与目的端口都相同,将与此目的地址通信的所有TCP链接看作一个链接,划入②中进行统计,查询,判断;最后将与此目的地址通信的所有链接都归为P2P流量;(经测试最后这样的链接就只有一条)
为了提高准确性,这样在针对单个应用可以作相应的的动态调节。本发明中检测UDP流量特征①考虑到检测点A处于公网上或处于常用的NAT后,使用与P2P通用流量特征UDP流量特征相同的描述,满足如下等式(n5为阀值,可调)
UDP_Pdiff_sport<<n
UDP—Pdiff—dest= UDP—Pdiff—dport , n ^ n5UDP—P diff_dest=n
②假如A和互联网上n个节点存在链接,A和任意一个节点之间至多存在一条UDP链接,如果计算这些链接的不同目的地址数UDP_Ddiff_dest (设备里设为可调),且这些链接的目的端口都相同,不同源端口数UDP_Ddiff_sp0rt ;这些值满足如下等式(n6为阀值,可调)
UDP_Ddiff_dest=n n ^ n6 (n6 测试时设为 5)
UDP_Ddi f f_sport= UDP_Ddiff_dest或者
UDP_Ddiff_dest=n n ^ n6 (n6 测试时设为 10)
UDP_Ddi f f _spor t= I (这些链接的源端口都相同)
③考虑到一些检测点A处于对称NAT后,假如检测点A和互联网上η个节点存在链接,A和任意一个节点之间至多存在一条UDP链接,如果计算这些链接的不同目的地址数UDP_Sdiff_dest,这些链接的源端口将不纳入判断条件,不同目的端口数UDP_Sdiff_dport ;这些值满足如下等式(n7为阀值,可调)
UDP_Sdiff_dest=n η 彡 n7 (n7 测试时设为 20)
UDP_S d i f f_dp or t = UDP_Sdiff_dest
④假如A和互联网上n个节点存在链接,A和任意一个节点之间存在多条UDP链接,这样的多条UDP链接的目的端口不相同,且这些链接的源端口都相同,可以将与此目的地址通信的所有UDP链接看作一个链接,划入①中进行统计,查询,判断;最后将与此目的地址通信的所有链接都归为P2P流量;计算这些链接的不同目的地址数UDP_PHdiff_dest,这个值满足如下等式(n8为阀值,可调)
UDP_PHdiff_dest=n n ^ n8 (n8 测试时设为 5)
这一情况主要针对迅雷而写,且发现大量的这样的检测点A和任意一个节点之间存在2条UDP链接,其中一条链接仅是A —B的单方向数据传送,而没有B —A的应答包,一般可能是检测NAT设备类型的通信特征。一般情况下,只要发现上列的等式成立,就可以认为是P2P流量,考虑到准确性(以及迅雷的特殊情况),才将其划入①中再判断。⑤假如A和任意一个节点之间先后存在多条UDP链接,且这些链接的源端口不同,目的地址与目的端口都相同,将与此目的地址通信的所有UDP链接看作一个链接,划入③中进行统计,查询,判断;最后将与此目的地址通信的所有链接都归为P2P流量;计算这些链接的不同目的地址数UDP_SHdiff_dest,这个值满足如下等式(n9为阀值,可调)
UDP_SHdiff_dest=n n ^ n9 (n9 测试时设为 5)
一般情况下,只要发现上列的等式成立,就可以认为是P2P流量,考虑到准确性(以及PPFILM的特殊情况),才将其划入③中再判断。如图I所示,在本发明一实施方式中,所述P2P流量识别方法,包括以下步骤SI、正向查找,如果某个链接,通过DPI/DFI被第一次识别出来,并且识别出来的协议类型为P2P协议(这个是由加载的特征码中的P2P Flag决定的),则查找同一个内网源IP地址下,且源端口相同的其他的链接,如果找到的某个链接目前也没有被识别出来(正在分析中的协议、Others协议),则会将该链接的7层协议ID号设置成跟前述已经识别出来的那个P2P链接协议类型一样的值。优选地,默认遍历深度x(X=IOO),该参数可以通过Π供用户调整,即上述查找同一个内网源IP且源端口相同的链接的数量,最大为X(IOO)个,100个以后的则不再进行查找,并且遍历的这100个链接包含所有已经识别出来和未被识别出来的,并非仅是那些未被识别出来的链接。S2、反向查找,某个链接,在创建时,或者经过了 DPI的识别,如果该链接仍然未被识别出来(正在分析中的协议、Others协议),则首先会找同一个内网源IP地址下,且源端口相同,且4层协议也相同(TCP/UDP)的其他的链接,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议(这个是由加载的特征码中的P2P Flag决定的),则
会将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。S3、如果在上述的同内网源IP、同源端口、同4层协议的链接查找中,仍未得到合适的7层协议ID号,则会继续在同内网源IP、同源端口、不同4层协议(如如果该新创建的链接时UDP类型的,则会查找TCP类型的链接)的链接中查找,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议(这个是由加载的特征码中的P2P Flag决定的),将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。优选地,默认遍历深度1 (该参数可以通过UI调整,即时生效)。如图2所示,在本发明一实施方式中,所述P2P流量识别系统,包括
正向查找单元,用于进行正向查找,如果某个链接,通过DPI/DFI被第一次识别出来,并且识别出来的协议类型为P2P协议(这个是由加载的特征码中的P2P Flag决定的),则查找同一个内网源IP地址下,且源端口相同的其他的链接,如果找到的某个链接目前也没有被识别出来(正在分析中的协议、Others协议),则会将该链接的7层协议ID号设置成跟前述已经识别出来的那个P2P链接协议类型一样的值。优选地,默认遍历深度χ(χ=100),该参数可以通过Π供用户调整,S卩上述查找同一个内网源IP且源端口相同的链接的数量,最大为X (100)个,100个以后的则不再进行查找,并且遍历的这100个链接包含所有已经识别出来和未被识别出来的,并非仅是那些未被识别出来的链接。反向查找单元,用于进行反向查找,某个链接,在创建时,或者经过了 DPI的识别,如果该链接仍然未被识别出来(正在分析中的协议、Others协议),则首先会找同一个内网源IP地址下,且源端口相同,且4层协议也相同(TCP/UDP)的其他的链接,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议(这个是由加载的特征码中的P2P Flag决定的),则会将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。其他查找单元,用于如果在上述的同内网源IP、同源端口、同4层协议的链接查找中,仍未得到合适的7层协议ID号,则会继续在同内网源IP、同源端口、不同4层协议(如如果该新创建的链接时m)P类型的,则会查找TCP类型的链接)的链接中查找,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议(这个是由加载的特征码中的P2P Flag决定的),将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。优选地,默认遍历深度1 (该参数可以通过UI调整,即时生效)。综上所述,本发明的P2P流量识别方法及系统可较为精确的检测P2P流量。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。·
权利要求
1.一种P2P流量识别方法,其特征在于,所述方法包括 51、正向查找,如果某个链接通过DPI/DFI被第一次识别出来,并且识别出来的协议类型为P2P协议,则查找同一个内网源IP地址下且源端口相同的其他链接;如果查找到的链接没有被识别,则将所述链接的7层协议ID号设置成与已经识别出来的P2P协议类型一样的值; 52、反向查找,如果某个链接未被识别出来,则找同一个内网源IP地址下,且源端口相同,且4层协议也相同的其他链接,如果找到的其他链接中的某个链接的协议类型已经被识别,且该链接类型为P2P协议,则将正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到并已识别出来且具有P2P flag的链接的7层协议的ID号一样的值。
2.根据权利要求I所述的P2P流量识别方法,其特征在于,所述方法还包括 53、如果在SI、S2步骤中未得到合适的7层协议ID号,则继续在同内网源IP、同源端口、不同4层协议的链接中查找,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议,则将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。
3.根据权利要求I所述的P2P流量识别方法,其特征在于,所述SI步骤中,查找同一个内网源IP且源端口相同的链接的数量,最大100个,100个以后的则不再进行查找。
4.一种P2P流量识别系统,其特征在于,所述系统包括 正向查找单元,用于正向查找,如果某个链接通过DPI/DFI被第一次识别出来,并且识别出来的协议类型为P2P协议,则查找同一个内网源IP地址下且源端口相同的其他链接;如果查找到的链接没有被识别,则将所述链接的7层协议ID号设置成与已经识别出来的P2P协议类型一样的值; 反向查找单元,用于反向查找,如果某个链接未被识别出来,则找同一个内网源IP地址下,且源端口相同,且4层协议也相同的其他链接,如果找到的其他链接中的某个链接的协议类型已经被识别,且该链接类型为P2P协议,则将正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到并已识别出来且具有P2P flag的链接的7层协议的ID号一样的值。
5.根据权利要求4所述的P2P流量识别系统,其特征在于,所述系统还包括 其他查找单元,用于如果在正向查找单元和反向查找单元中未得到合适的7层协议ID号,则继续在同内网源IP、同源端口、不同4层协议的链接中查找,如果找到的某个链接的协议类型已经被识别出来,且该链接类型为P2P协议,则将这个正在创建的且未被识别出来的新的链接的7层协议的ID号设置成跟找到的这个已识别出来并且具有P2P flag的链接的7层协议的ID号一样的值。
6.根据权利要求4所述的P2P流量识别系统,其特征在于,所述正向查找单元中,查找同一个内网源IP且源端口相同的链接的数量,最大100个,100个以后的则不再进行查找。
全文摘要
本发明提供了一种P2P流量识别方法及系统,包括正向查找和反向查找两种方式。本发明的有益效果在于P2P流量识别方法及系统可较为精确地检测P2P流量。
文档编号H04L12/26GK102891893SQ20121039195
公开日2013年1月23日 申请日期2012年10月16日 优先权日2012年10月16日
发明者权建中, 王俊华 申请人:苏州迈科网络安全技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1