首页 / 专利库 / 软件 / 网络抓取 / 一种基于规则优化的P2P流量混合识别方法

一种基于规则优化的P2P流量混合识别方法

阅读:623发布:2020-05-08

专利汇可以提供一种基于规则优化的P2P流量混合识别方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于规则优化的P2P流量混合识别方法,在保证准确率的前提下,先识别出一部分流量,减少了后面计算量大的识别过程要处理的数据,避免不必要的计算,达到降低系统开销的效果。另外,由于 深度学习 分类器的识别效果,不能达到完全识别和完全正确,因此,本发明利用多规则的优化,弥补深度学习分类器的缺点,提高分类 精度 。最后,本发明基于规则优化建立的混合识别模型非常灵活,要识别新的流量类别,只需要训练新的二分类器,添加到深度学习的细粒度分类器即可。,下面是一种基于规则优化的P2P流量混合识别方法专利的具体信息内容。

1.一种基于规则优化的P2P流量混合识别方法,其特征在于,包括以下步骤:
S1.使用Wireshark软件抓取网络流量数据,抓取成功后导出;
S2.对抓取到的数据进行预处理;
S3.构建并训练P2P流量细粒度分类器;
S4.通过步骤S3训练好的P2P流量细粒度分类器识别得到一部分各类别的P2P流量以及剩余一部分未知流量traffic1;
S5.利用启发式规则识别步骤S4剩余的一部分未知流量;
S6.最后得出最终的各类别的P2P流量以及非P2P流量。
2.根据权利要求1所述的一种基于规则优化的P2P流量混合识别方法,其特征在于,所述步骤S2对抓取到的数据进行预处理的具体为:
每一条流量数据取前400个数值,用于训练和测试基于深度学习的分类器;为了能适应深度卷积神经网络的输入,将网络流量数据转化为图像形式进行处理,把400个数据转化为图像格式;
所述将网络流量数据转化为图像形式时,使用Matlab进行处理,且网络流量数据根据粒度不同按以下规则转化为图像数据:
对于字节流序列:以流量为单位,以每个数据包的负载字节序列作为行,取值范围在[0-255];同一流的多个数据包作为列,构成灰度图像。
3.根据权利要求1所述的一种基于规则优化的P2P流量混合识别方法,其特征在于,步骤S3所述的P2P流量细粒度分类器由多个二分类器组成,构建并训练的具体过程如下:
S3-1.深度特征提取:
针对步骤S2处理好的数据,使用卷积神经网络提取流量数据的深度特征;其中,卷积神经网络模型的inception V3,把原模型的最后三个回归层和全连接层去掉,最后一个inception模为最终的输出,输出为深层特征;
S3-2.训练二分类器:
利用步骤S3-1中提取出的深度特征,按不同的类别做好标记,训练特定的支持向量机SVM,用于进行识别其中一种应用的流量。
4.根据权利要求3所述的一种基于规则优化的P2P流量混合识别方法,其特征在于,所述不同的类别分别为:由文件共享软件产生的下载流量,即时聊天软件产生的通讯流量,多媒体应用产生的音视频流量,P2P僵尸网络产生的恶意流量;该些不同的类别根据使用的协议不同而识别得出。
5.根据权利要求1所述的一种基于规则优化的P2P流量混合识别方法,其特征在于,步骤S5中,所述启发式规则包括连接启发式规则、细粒度启发式规则以及模式启发式规则;
利用启发式规则识别出步骤S4剩余一部分未知流量traffic1的具体过程如下:
S5-1.利用步骤S4分类好的各类别P2P流量构成连接启发式规则,对剩余未知流量traffic1进行识别,得到正确分类的P2P流量以及仍是未知的剩余流量traffic2;
S5-2.将步骤S5-1得到的剩余未知流量traffic2输入到细粒度启发式规则,得到更多正确分类的P2P流量和剩余未知流量traffic3;
S5-3.采用模式启发式规则对步骤S5-2得到的剩余未知流量traffic3进行分类,得到正确分类的P2P流量和非P2P流量;
S5-4.最后用模式启发式规则对深度学习细粒度分类器得到的各类别P2P流量进行纠正,得到最终分类结果。
6.根据权利要求5所述的一种基于规则优化的P2P流量混合识别方法,其特征在于,所述连接启发式规则具体为:
1)如果数据包的源{IP,端口}对或目标{IP,端口}对等于其中一个目标{IP,端口}在监听表中,包含此包的流被分类为P2P;
2)如果数据包的源{IP,端口}对或目标{IP,端口}对与任何源{IP,端口}对相邻在源表中,包含此包的流也被分类为P2P。
7.根据权利要求5所述的一种基于规则优化的P2P流量混合识别方法,其特征在于,所述细粒度启发式规则具体为:
整合常用的默认端口,包括:
TCP\IP协议规定Web采用80号端口,FTP采用20、21号端口,SMTP/POP3邮件服务采用25、
110号端口,1024-49151范围内的端口号给相关应用注册使用,49152-65535为动态端口;
以及常用的字符串模式,包括:
P2P应用在数据下载时,Gnutella、FastTrack、BitTorrent、eDonkey和eMule流量:
Gnutella流量中,TCP/IP包头后的第一个字符串为“Gnutella”、“GET”或“HTTP”;如果第一个字符串是“GET”或“HTTP”,必定有一个域包含下面一种字符串:User-Agent:或UserAgent:;其中Name是下面其中之一:LimeWire,Bear-Share,Gnucleus,MorpheusOS,XoloX,MorpheusPE,gtkgnutella,Acquisition,Mutella-0.4.1,MyNapster,Mutella-0.4,Qtella,AquaLime,NapShare,Comeback,Go,PHEX,SwapNut,Mutella-0.4.0,Shareaza,Mutella-0.3.9b,Morpheus,FreeWire,Openext,Mutella-0.3.3,Phexo;
FastTrack流量中,TCP/IP包头后的第一个字符串为“Gnutella”,“GET”或“HTTP”;如果第一个字符串是“GET”或“HTTP”,必定有一个域包含下面一种字符串:User-Agent:、UserAgent:或Server:;其中Name是下面其中之一:Kazaa Lite Tools K++,Kazaa Lite Resurrection,iMesh Light,TrustyFiles,Mldonkey,XoloX,Kazaa,Grokster,KazaaGhost,Jubster MP3 Finder,Mammoth,mldonkey,iSwipe,Poisoned,XFactor,Apollon,KCeasy,Mammoth,m1Mac,iMesh Light,gift;
BitTorrent流量中,TCP握手的BitTorrent包头信息具有以下格式:

第一个字节为固定的字符,值为‘19’,字符串的值为‘BitTorrent protocol’;基于此特征总结出:IP/TCP头后第一个字节是19(0x13),随后的19字节为:BitTorrent Protocol;
BitTorrent使用UDP来传输数据时,每一个UDP数据包的前3个字节都为“0x64 0x31 
0x3a”,通过3个字节标识BitTorrent的UDP数据包;
eDonkey和eMule流量中:
(1数据包中TCP报头之后第一个字节为0xe3或0xc5;接下来的四个字节为消息长度Message Length,其值应满足如下等式:
Message Length=IP报头中的总长度–IP报头长度–TCP报头长度-5
(2若第一个字节为0xe3,则第6个字节为0x01、0x4c、0x46、0x16、0x49、0x54、0x55中的一个;若为0xc5,则第6个字节为0x01、0x02、0x40、0x60、0x61、0x81、0x82、0x85、0x87中的一个。
8.根据权利要求5所述的一种基于规则优化的P2P流量混合识别方法,其特征在于,所述模式启发式规则具体为:
(1对于已分类为P2P的流,如果该流量包含有效负载的第一个包的方向是向后的方向,此流被纠正为非P2P;
(2对于已分类为非P2P的流,如果该流的前10个包中包含两个大小为110字节或122字节的包,则该流被纠正为P2P。

说明书全文

一种基于规则优化的P2P流量混合识别方法

技术领域

[0001] 本发明涉及网络流量识别的技术领域,尤其涉及到一种基于规则优化的P2P流量混合识别方法。

背景技术

[0002] 随着P2P技术的快速发展,P2P流量已成为互联网流量中的主要成分,占比超过60%。由于P2P流量具有明显的优势,例如具有负载均衡的功能、能避免单点故障的问题。因此,P2P网络被广泛应用于各种领域。但随之而来的是,网络攻击也利用P2P流量作为载体,垃圾邮件、钓鱼网站等网络攻击行为也越来越多,网络安全和管理受到严重的威胁。为了有效管理网络环境,网络管理者首先要对P2P流量进行有效的识别。
[0003] 对于“P2P流量识别”的实现最开始有基于端口、负荷特征和连接模式的方法,这些方法的识别率低,只能粗略分类出P2P流量。还有基于统计特征识别法和结合机器学习的方法,这些方法需要花费大量的人工来统计和标记特征。该方法主要是运用机器学习算法根据网络流量的各种统计特征自动地进行训练,构建基于机器学习的识别模型。
[0004] 例如,基于统计特征的识别方法,在文献1(Li J.,Zhang S.,Liu S.,Xuan Y.,Active P2P Traffic Identification Technique[C].International Conference on Computational Intelligence and Security,2007:37–41.)中,Li等运用机器学习的方法使用反向传播神经网络(back-propagation ANN)和贝叶斯分类器(NB)分类P2P流量;在文献2(Zhou W.,Zhong Y.,Zhou X.,Dong S.,Lubomir B.,A SOM and PNN model for network traffic classification[J].Boletin Tecnico/technical Bulletin,2017:174-182.)中Zhou和Zhong等结合自组织映射(SOM)的概率神经网络(PNN)。
[0005] 此外,还有基于混合方法的多步式识别器被提出用以分步地识别P2P流量,通过结合各种单步方法的优点以期望达到较高的性能。
[0006] 例如,在文献3(Ye W,Cho K.,P2P and P2P botnet traffic classification in two stages[J].Soft Computing.2017,21(5):1315-1326.)中,Ye等提出了两阶段的P2P流量识别模型。第一阶段结合了负载特征方法、连接启发式规则和决策树算法用于识别P2P流量;第二阶段使用基于REPtree决策树的统计特征识别器把P2P恶意僵尸网络流量与合法P2P流量区分开来。在文献4(陈源,林海涛,多层次P2P流量分类方法研究[J].计算机工程与科学,2016,38(12):2471-2477.)陈源等结合行为特征和机器学习提出多层次P2P流量分类方法。
[0007] 但是上述各方法均存在着缺点,具体如下:
[0008] 基于统计特征的识别方法(文献1),Li等人使用的方法准确度分别为83.52%和69.76%。Zhou和Zhong等的方法(文献2),各网络流量识别率在24%到97%之间,而P2P流量识别率只有52%到63%左右。该方法只能提取出网络流量的浅层特征,基于人工设计的统计特征,需要消耗大量的人和时间,容易依赖于主观经验判断,提取出的特征不全面。
[0009] 基于混合识别的方法,Ye等提出的两段流量识别模型(文献3),虽最高能得到97%左右的总识别准确率,但受到了基于统计特征识别器性能的限制,识别准确率变动较大。陈源等提出的结合特征和机器学习的多层次分类方法(文献4),总体可以达到了95.75%左右的准确率。基于混合方法的识别模型取得了不错成效,但各种单步方法的缺点仍制约着整个模型的性能,如由于直接使用了基于载荷特征方法而导致计算量大,即系统时空开销大;由于结合了基于统计特征方法,导致对于细粒度识别方面效果也不理想,且难以进行扩展用于识别新型或未知P2P流量。

发明内容

[0010] 本发明的目的在于克服现有技术的不足,提供一种系统开销低、更智能更可靠、扩展性高、识别率高的基于规则优化的P2P流量混合识别方法。
[0011] 为实现上述目的,本发明所提供的技术方案为:
[0012] 一种基于规则优化的P2P流量混合识别方法,包括以下步骤:
[0013] S1.使用Wireshark软件抓取网络流量数据,抓取成功后导出;
[0014] S2.对抓取到的数据进行预处理;
[0015] S3.构建并训练P2P流量细粒度分类器;
[0016] S4.通过步骤S3训练好的P2P流量细粒度分类器识别得到一部分各类别的P2P流量以及剩余一部分未知流量traffic1;
[0017] S5.利用启发式规则识别步骤S4剩余的一部分未知流量;
[0018] S6.最后得出最终的各类别的P2P流量以及非P2P流量。
[0019] 进一步地,所述步骤S2对抓取到的数据进行预处理的具体为:
[0020] 每一条流量数据取前400个数值,用于训练和测试基于深度学习的分类器;为了能适应深度卷积神经网络的输入,将网络流量数据转化为图像形式进行处理,把400个数据转化为图像格式;
[0021] 所述将网络流量数据转化为图像形式时,使用Matlab进行处理,且网络流量数据根据粒度不同按以下规则转化为图像数据:
[0022] 对于字节流序列:以流量为单位,以每个数据包的负载字节序列作为行,取值范围在[0-255];同一流的多个数据包作为列,构成灰度图像。
[0023] 进一步地,步骤S3所述的P2P流量细粒度分类器由多个二分类器组成,构建并训练的具体过程如下:
[0024] S3-1.深度特征提取:
[0025] 针对步骤S2处理好的数据,使用卷积神经网络提取流量数据的深度特征;其中,卷积神经网络模型的inception V3,把原模型的最后三个回归层和全连接层去掉,最后一个inception模为最终的输出,输出为深层特征;
[0026] S3-2.训练二分类器:
[0027] 利用步骤S3-1中提取出的深度特征,按不同的类别做好标记,训练特定的支持向量机SVM,用于进行识别其中一种应用的流量。
[0028] 进一步地,所述不同的类别分别为:由文件共享软件产生的下载流量,即时聊天软件产生的通讯流量,多媒体应用产生的音视频流量,P2P僵尸网络产生的恶意流量;该些不同的类别根据使用的协议不同而识别得出。
[0029] 进一步地,步骤S5中,所述启发式规则包括连接启发式规则、细粒度启发式规则以及模式启发式规则;
[0030] 利用启发式规则识别出步骤S4剩余一部分未知流量traffic1的具体过程如下:
[0031] S5-1.利用步骤S4分类好的各类别P2P流量构成连接启发式规则,对剩余未知流量traffic1进行识别,得到正确分类的P2P流量以及仍是未知的剩余流量traffic2;
[0032] S5-2.将步骤S5-1得到的剩余未知流量traffic2输入到细粒度启发式规则,得到更多正确分类的P2P流量和剩余未知流量traffic3;
[0033] S5-3.采用模式启发式规则对步骤S5-2得到的剩余未知流量traffic3进行分类,得到正确分类的P2P流量和非P2P流量;
[0034] S5-4.最后用模式启发式规则对深度学习细粒度分类器得到的各类别P2P流量进行纠正,得到最终分类结果。
[0035] 进一步地,所述连接启发式规则具体为:
[0036] 如果数据包的源{IP,端口}对或目标{IP,端口}对等于其中一个目标{IP,端口}在监听表中,包含此包的流被分类为P2P;
[0037] 如果数据包的源{IP,端口}对或目标{IP,端口}对与任何源{IP,端口}对相邻在源表中,包含此包的流也被分类为P2P。
[0038] 进一步地,所述细粒度启发式规则具体为:
[0039] 整合常用的默认端口,包括:
[0040] TCP\IP协议规定Web采用80号端口,FTP采用20、21号端口,SMTP/POP3邮件服务采用25、110号端口,1024-49151范围内的端口号给相关应用注册使用,49152-65535为动态端口;
[0041] 以及常用的字符串模式,包括:
[0042] P2P应用在数据下载时,Gnutella、FastTrack、BitTorrent、eDonkey和eMule流量:
[0043] Gnutella流量中,TCP/IP包头后的第一个字符串为“Gnutella”、“GET”或“HTTP”;如果第一个字符串是“GET”或“HTTP”,必定有一个域包含下面一种字符串:User-Agent:或UserAgent:;其中Name是下面其中之一:LimeWire,Bear-Share,Gnucleus,MorpheusOS,XoloX,MorpheusPE,gtkgnutella,Acquisition,Mutella-0.4.1,MyNapster,Mutella-0.4,Qtella,AquaLime,NapShare,Comeback,Go,PHEX,SwapNut,Mutella-0.4.0,Shareaza,Mutella-0.3.9b,Morpheus,FreeWire,Openext,Mutella-0.3.3,Phexo;
[0044] FastTrack流量中,TCP/IP包头后的第一个字符串为“Gnutella”,“GET”或“HTTP”;如果第一个字符串是“GET”或“HTTP”,必定有一个域包含下面一种字符串:User-Agent:、UserAgent:或Server:;其中Name是下面其中之一:Kazaa Lite Tools K++,Kazaa Lite Resurrection,iMesh Light,TrustyFiles,Mldonkey,XoloX,Kazaa,Grokster,KazaaGhost,Jubster MP3 Finder,Mammoth,mldonkey,iSwipe,Poisoned,XFactor,Apollon,KCeasy,Mammoth,m1Mac,iMesh Light,gift;
[0045] BitTorrent流量中,TCP握手的BitTorrent包头信息具有以下格式:
[0046]
[0047] 第一个字节为固定的字符,值为‘19’,字符串的值为‘BitTorrent protocol’;基于此特征总结出:IP/TCP头后第一个字节是19(0x13),随后的19字节为:BitTorrent Protocol;
[0048] BitTorrent使用UDP来传输数据时,每一个UDP数据包的前3个字节都为“0x640x310x3a”,通过3个字节标识BitTorrent的UDP数据包;
[0049] eDonkey和eMule流量中:
[0050] (1数据包中TCP报头之后第一个字节为0xe3(eDonkey流量)或0xc5(eMule流量);接下来的四个字节为消息长度Message Length,其值应满足如下等式:
[0051] Message Length=IP报头中的总长度–IP报头长度–TCP报头长度-5
[0052] (2若第一个字节为0xe3(eDonkey流量),则第6个字节为0x01、0x4c、0x46、0x16、0x49、0x54、0x55中的一个;若为0xc5(eMule流量),则第6个字节为0x01、0x02、0x40、0x60、
0x61、0x81、0x82、0x85、0x87中的一个。
[0053] 进一步地,所述模式启发式规则具体为:
[0054] (1对于已分类为P2P的流,如果该流量包含有效负载的第一个包的方向是向后的方向,此流被纠正为非P2P;
[0055] (2对于已分类为非P2P的流,如果该流的前10个包中包含两个大小为110字节或122字节的包,则该流被纠正为P2P。
[0056] 与现有技术相比,本方案原理及优点如下:
[0057] 1.基于规则优化的混合识别方法,在保证准确率的前提下,先识别出一部分流量,减少了后面计算量大的识别过程要处理的数据,避免不必要的计算,达到降低系统开销的效果。
[0058] 2.深度学习分类器的识别效果,不能达到完全识别和完全正确。利用多规则的优化,可以弥补深度学习分类器的缺点,提高分类精度
[0059] 3.现有的混合模型难以进行扩展新型或未知的P2P流量,而本方案基于规则优化建立的混合识别模型非常灵活,出现新的流量类别,只需要训练新的二分类器,添加到深度学习的细粒度分类器即可。附图说明
[0060] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061] 图1为本发明一种基于规则优化的P2P流量混合识别方法的工作流程图

具体实施方式

[0062] 下面结合具体实施例对本发明作进一步说明:
[0063] 如图1所示,本实施例所述的一种基于规则优化的P2P流量混合识别方法,包括以下步骤:
[0064] S1.使用Wireshark软件抓取网络流量数据,抓取成功后导出;
[0065] S2.对抓取到的数据进行预处理:
[0066] 每一条流量数据取前400个数值,用于训练和测试基于深度学习的分类器;为了能适应深度卷积神经网络的输入,将网络流量数据转化为图像形式进行处理,把400个数据转化为图像格式;
[0067] 所述将网络流量数据转化为图像形式时,使用Matlab进行处理,且网络流量数据根据粒度不同按以下规则转化为图像数据:
[0068] 对于字节流序列:以流量为单位,以每个数据包的负载字节序列作为行,取值范围在[0-255];同一流的多个数据包作为列,构成灰度图像;
[0069] 数据集划分:
[0070] 将P2P流量按照其应用领域把归为以下四种类别,分别为:由文件共享软件产生的下载流量,即时聊天软件产生的通讯流量,多媒体应用产生的音视频流量,P2P僵尸网络产生的恶意流量。
[0071] 在P2P流量细粒度识别中,根据使用的协议不同识别出某一种特定应用的流量。按不同类别把数据标记好,并把数据划分为训练集和测试集。
[0072] 将数据集D划分为k个大小相似的互斥子集,即D=D1∪D2∪...∪Dk,Di∩Dj=空集(i≠j)每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练\测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值。
[0073] S3.构建并训练P2P流量细粒度分类器;
[0074] P2P流量细粒度分类器由多个二分类器组成,构建并训练的具体过程如下:
[0075] S3-1.深度特征提取:
[0076] 针对步骤S2处理好的数据,使用卷积神经网络提取流量数据的深度特征;其中,卷积神经网络模型的inception V3,把原模型的最后三个回归层和全连接层去掉,最后一个inception模块为最终的输出,输出为深层特征;
[0077] S3-2.训练二分类器:
[0078] 利用步骤S3-1中提取出的深度特征,按不同的类别做好标记,训练特定的支持向量机SVM,用于进行识别其中一种应用的流量。
[0079] S4.通过步骤S3训练好的P2P流量细粒度分类器识别得到一部分各类别的P2P流量以及剩余一部分未知流量traffic1;
[0080] S5.利用启发式规则识别步骤S4剩余的一部分未知流量;
[0081] 启发式规则包括连接启发式规则、细粒度启发式规则以及模式启发式规则;(启发式规则是指用于识别或过滤特定网络流量的规则,这些规则是根据观察和经验总结而来)[0082] 其中,连接启发式规则是根据P2P连接模式制定的,该规则具体为:
[0083] 如果数据包的源{IP,端口}对或目标{IP,端口}对等于其中一个目标{IP,端口}在监听表中,包含此包的流被分类为P2P;
[0084] 如果数据包的源{IP,端口}对或目标{IP,端口}对与任何源{IP,端口}对相邻在源表中,包含此包的流也被分类为P2P。
[0085] 模式启发式规则是用于纠正被误分类的结果的,利用的是特定的流量中特定包大小,该规则具体为:
[0086] (1对于已分类为P2P的流,如果该流量包含有效负载的第一个包的方向是向后的方向,此流被纠正为非P2P;
[0087] (2对于已分类为非P2P的流,如果该流的前10个包中包含两个大小为110字节或122字节的包,则该流被纠正为P2P。
[0088] 细粒度启发式规则具体为:
[0089] 整合常用的默认端口,包括:
[0090] TCP\IP协议规定Web采用80号端口,FTP采用20、21号端口,SMTP/POP3邮件服务采用25、110号端口,1024-49151范围内的端口号给相关应用注册使用,49152-65535为动态端口;
[0091] 以及常用的字符串模式,包括:
[0092] P2P应用在数据下载时,Gnutella、FastTrack、BitTorrent、eDonkey和eMule流量:
[0093] Gnutella流量中,TCP/IP包头后的第一个字符串为“Gnutella”、“GET”或“HTTP”;如果第一个字符串是“GET”或“HTTP”,必定有一个域包含下面一种字符串:User-Agent:或UserAgent:;其中Name是下面其中之一:LimeWire,Bear-Share,Gnucleus,MorpheusOS,XoloX,MorpheusPE,gtkgnutella,Acquisition,Mutella-0.4.1,MyNapster,Mutella-0.4,Qtella,AquaLime,NapShare,Comeback,Go,PHEX,SwapNut,Mutella-0.4.0,Shareaza,Mutella-0.3.9b,Morpheus,FreeWire,Openext,Mutella-0.3.3,Phexo;
[0094] FastTrack流量中,TCP/IP包头后的第一个字符串为“Gnutella”,“GET”或“HTTP”;如果第一个字符串是“GET”或“HTTP”,必定有一个域包含下面一种字符串:User-Agent:、UserAgent:或Server:;其中Name是下面其中之一:Kazaa Lite Tools K++,Kazaa Lite Resurrection,iMesh Light,TrustyFiles,Mldonkey,XoloX,Kazaa,Grokster,KazaaGhost,Jubster MP3 Finder,Mammoth,mldonkey,iSwipe,Poisoned,XFactor,Apollon,KCeasy,Mammoth,m1Mac,iMesh Light,gift;
[0095] BitTorrent流量中,TCP握手的BitTorrent包头信息具有以下格式:
[0096]
[0097] 第一个字节为固定的字符,值为‘19’,字符串的值为‘BitTorrent protocol’;基于此特征总结出:IP/TCP头后第一个字节是19(0x13),随后的19字节为:BitTorrent Protocol;
[0098] BitTorrent使用UDP来传输数据时,每一个UDP数据包的前3个字节都为“0x640x310x3a”,通过3个字节标识BitTorrent的UDP数据包;
[0099] eDonkey和eMule流量中:
[0100] (1数据包中TCP报头之后第一个字节为0xe3或0xc5;接下来的四个字节为消息长度Message Length,其值应满足如下等式:
[0101] Message Length=IP报头中的总长度–IP报头长度–TCP报头长度-5
[0102] (2若第一个字节为0xe3,则第6个字节为0x01、0x4c、0x46、0x16、0x49、0x54、0x55中的一个;若为0xc5,则第6个字节为0x01、0x02、0x40、0x60、0x61、0x81、0x82、0x85、0x87中的一个。
[0103] 具体地,利用启发式规则识别步骤S4剩余的一部分未知流量的过程如下:
[0104] S5-1.利用步骤S4分类好的各类别P2P流量构成连接启发式规则,对剩余未知流量traffic1进行识别,得到正确分类的P2P流量以及仍是未知的剩余流量traffic2;
[0105] S5-2.将步骤S5-1得到的剩余未知流量traffic2输入到细粒度启发式规则,得到更多正确分类的P2P流量和剩余未知流量traffic3;
[0106] S5-3.采用模式启发式规则对步骤S5-2得到的剩余未知流量traffic3进行分类,得到正确分类的P2P流量和非P2P流量;
[0107] S5-4.最后用模式启发式规则对深度学习细粒度分类器得到的各类别P2P流量进行纠正,得到最终分类结果。
[0108] S6.最后得出最终的各类别的P2P流量以及非P2P流量。
[0109] 本实施例基于规则优化的混合识别方法,在保证准确率的前提下,先识别出一部分流量,减少了后面计算量大的识别过程要处理的数据,避免不必要的计算,达到降低系统开销的效果。另外,由于深度学习分类器的识别效果,不能达到完全识别和完全正确,因此,本实施例利用多规则的优化,弥补深度学习分类器的缺点,提高分类精度。最后,本实施例基于规则优化建立的混合识别模型非常灵活,出现新的流量类别,只需要训练新的二分类器,添加到深度学习的细粒度分类器即可。
[0110] 以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈