CN102291279A - P2p网络流量检测方法 - Google Patents

P2p网络流量检测方法 Download PDF

Info

Publication number
CN102291279A
CN102291279A CN201110237498XA CN201110237498A CN102291279A CN 102291279 A CN102291279 A CN 102291279A CN 201110237498X A CN201110237498X A CN 201110237498XA CN 201110237498 A CN201110237498 A CN 201110237498A CN 102291279 A CN102291279 A CN 102291279A
Authority
CN
China
Prior art keywords
flow
data
mark
sample
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
CN201110237498XA
Other languages
English (en)
Other versions
CN102291279B (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201110237498XA priority Critical patent/CN102291279B/zh
Publication of CN102291279A publication Critical patent/CN102291279A/zh
Application granted granted Critical
Publication of CN102291279B publication Critical patent/CN102291279B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种P2P网络流量检测方法,用于解决现有的网络流量检测方法检测精度差的技术问题。技术方案是采用两个阶段来训练分类器,首先使用半监督聚类来近似估计测试样本中的正例样本数N的值,然后根据N的值来进一步训练TSVM模型。与背景技术相比,N的值更加接近真实值,使得训练出的TSVM分类模型具有很好的稳定性和鲁棒性,提高了网络流量检测精度。本发明由于使用大量未标注数据参与训练分类模型,充分利用了半监督学习的优势,与传统的只使用标注数据训练模型的监督学习算法相比,准确性和稳定性更好。

Description

P2P网络流量检测方法
技术领域
本发明涉及一种网络流量检测方法,特别是涉及一种P2P(peer-to-peer)网络流量检测方法。
背景技术
随着P2P网络技术的广泛应用,P2P网络流量在国内主干网上占的比例已经从过去的0.76%激增到70%左右。因此,对P2P流量的识别和控制对于提高网络服务质量和网络的管理与维护具有重要意义。
传统的P2P流量检测主要采用DPI(Deep Packet Inspection)方法,DPI方法具有明显的局限性。DPI方法依据报文应用层中的特征字段来检测,存在两方面的缺陷:一方面,DPI方法只能识别已知协议特征的P2P流量;另一方面,它无法识别加密协议的流量,还牵涉到侵犯用户隐私的问题。随着P2P软件和协议的不断升级,以及加密机制的广泛应用,DPI方法的检测效率将大大降低。近几年,基于连接行为和机器学习的P2P流量识别方法成为国内外的研究热点。
文献1“Karagiannis T,Papagiannaki K,Faloutsos M.BLINC:Multilevel t rafficclassification in the dark.New York:Proc of ACM SIGCOMM,2005:229-240”公开了一种基于传输层行为的P2P流量识别方法BLINC(Blind Classification),该方法基于{IP,Port}对、传输协议类型等P2P协议的连接特征来识别P2P协议。由于BLINC不依赖于知名P2P端口号和应用层特征字段,所以能识别加密网络流和未知P2P协议。因为在不同的网络环境中,网络的连接状况差异较大,BLINC方法的稳定性不好。
文献2“Moore A W,Zuev D.Internet t raffic classification using Bayesian analysistechniques.New York:Proc of the 2005 ACM SIGMETRICS Conf on Measurement andModeling of Computer Systems,2005,50-60”公开了一种基于大量传输层特征的朴素贝叶斯模型的流量分类方法,该方法提取传输层的248个统计特征,使用实际流量数据对模型进行训练,对常用协议有很好的分类效果。由于朴素贝叶斯方法是基于各项属性条件独立的前提,而且需要对大量网络流进行标注以组成训练集,代价较高,扩展性不好。
文献3“徐鹏,刘琼,林森.基于支持向量机的Internet流量分类研究[J].计算机研究与发展,2009,46(3):407-414”公开了一种基于SVM的流量分类方法,能有效降低冗余属性的干扰,而且不依赖与贝叶斯方法中的先验概率,有很好的分类准确率和稳定性。但缺点同样在于需要大量标注好的网络流进行训练,而且标注的准确性直接影响最后的分类准确率。有监督学习方法中一般都采用17-fileter来实现训练集的标注,17-fileter根据应用层特征字段匹配来识别协议,随着P2P协议的不断更新和升级已及加密技术的广泛应用,17-fileter的准确性无法保障。如果无法获得一定数量的标注准确的训练集,所有的有监督学习的方法的检测准确率都无法保障。
文献4“J.Erman,A.Mahanti,M.Arlitt.Semi-supervised network traffic classification.ACM International Conference on Measurement and Modeling of Computer SystemsPerformance Evaluation Review,35(1),2007,369-370”公开了将半监督学习方法引入到Internet流量分类的分类方法,该方法首先使用K-means算法对标注样本和未标注样本进行聚类,然后根据聚类结果簇中标注样本的标签来标记未标注样本,可以认为是聚类方法的一种扩展,最终都需要进行手工标记。
文献5“Thorsten Joachims.Transductive Inference for Text Classification usingSupport Vector Machines.San Francisco:International Conference on Machine Learning(ICML),1999,200-2009”公开了一种将TSVM方法应用于文本分类,为将TSVM方法应用于Internet流量分类提供了理论基础。
发明内容
为了克服现有的网络流量检测方法检测精度差的不足,本发明提供一种P2P网络流量检测方法。该方法分两个阶段来训练分类器,首先使用半监督聚类来近似估计测试样本中的正例样本数N的值,然后根据N的值来进一步训练TSVM模型。与背景技术相比,N的值更加接近真实值,使得训练出的TSVM分类模型具有很好的稳定性和鲁棒性,可以提高网络流量检测精度。
本发明解决其技术问题所采用的技术方案是:一种P2P网络流量检测方法,其特点是包括以下步骤:
(a)使用流量采集卡在网关出口捕获网络流量,对捕获的网络流量进行数据包解析,并计算相应的流统计特征。
(b)根据网络数据包的源IP地址、源端口、传输协议、目的端口、目的IP地址信息进行网络流重组,信息相同的数据包组成一个数据流。使用17-fileter对重组后的网络流进行标注,标注数据分为P2P协议和非P2P协议两类。
(c)以数据流为单位提取统计特征,包括包大小、包到达时间间隔、流大小、流持续时间。协议已知的数据流加上协议类别标签,P2P协议数据流的标签为“1”,非P2P协议数据流的标签为“-1”,协议未知的数据流标签为“0”,每条数据流对应一个样本,用一个特征向量表示。将标注协议数据与未标注协议数据混合,使用K-Means聚类算法对混合数据聚类,生成两个聚类簇。
(d)将步骤(c)得到的标注协议数据流样本和未标注协议数据流样本混合到一起构成训练集,标注协议数据流样本集用train_set表示,未标注协议数据流样本集用test_set表示。
(e)使用K-Means聚类算法对步骤(d)中的train_set和test_set组成的混合训练集进行半监督聚类,生成两个聚类簇。分别计算两个簇中的包含的标注数据中P2P协议数据的比例,确定两个簇所属的类别。根据P2P协议簇中包含的样本个数来近似确定测试样本中的正例样本数N的值。
(f)根据步骤(e)确定的测试样本中的正例样本数N的值,使用标注协议数据和未标注协议数据共同训练TSVM分类模型。
TSVM的训练过程描述如下:
Minimize over ( y 1 * , . . . , y k * , w , b , ξ 1 , . . . , ξ n , ξ 1 * , . . . , ξ k * )
1 2 | | w | | 2 + C Σ i = 1 n ξ i + C * Σ j = 1 k ξ j * - - - ( 1 )
Subject to:
Figure BSA00000558525000033
yi[w·xi+b]≥1-ξi
∀ j = 1 k : y j [ w · x j * + b ] ≥ 1 - ξ j *
∀ i = 1 n : ξi≥0
∀ j = k : ξ j * ≥ 0
式中,ξi是松弛变量,C是标注协议样本的影响因子,C*未标注协议样本的影响因子。
(g)使用步骤(f)中训练的TSVM分类模型对网络数据流进行识别,判定是否为P2P网络流量。
本发明的有益效果是:由于采用两个阶段来训练分类器,首先使用半监督聚类来近似估计测试样本中的正例样本数N的值,然后根据N的值来进一步训练TSVM模型。与背景技术相比,N的值更加接近真实值,使得训练出的TSVM分类模型具有很好的稳定性和鲁棒性,提高了网络流量检测精度。本发明由于使用大量未标注数据参与训练分类模型,充分利用了半监督学习的优势,与传统的只使用标注数据训练模型的监督学习算法相比,准确性和稳定性更好。
下面结合附图和实施例对本发明作详细说明。
附图说明
图1是背景技术基于TSVM模型的网络流量检测方法流程图。
图2是本发明P2P网络流量检测方法流程图。
具体实施方式
1.网络流量捕获。
使用流量采集卡在网关出口捕获网络流量,对捕获的网络流量进行数据包解析,并计算相应的流统计特征。只捕获传输协议为TCP的流量,周期为一个星期,以PCAP文件格式保存。
2.网络流重组。
根据网络数据包的源IP地址、源端口、传输协议、目的端口、目的IP地址这五个信息进行网络流重组,这五个信息相同的数据包组成一个数据流。使用17-fileter对重组后的网络流进行标注,标注数据分为P2P协议和非P2P协议两类。
3.提取统计特征。
以数据流为单位提取统计特征,共计20个。包括包大小、包到达时间间隔、流大小、流持续时间等。协议已知的数据流加上协议类别标签,P2P协议数据流的标签为“1”,非P2P协议数据流的标签为“-1”,协议未知的数据流标签为“0”,这样每条数据流对应一个样本,用一个特征向量表示。将标注数据与大量的未标注数据混合,使用K-Means聚类算法对混合数据聚类,生成两个聚类簇。
4.生成训练集。
因为是半监督分类器,所以需要标注数据和未标注数据共同训练分类器,将第3步得到的标注协议数据流样本和未标注协议数据流样本混合到一起构成训练集,标注协议数据流样本集用train_set表示,未标注协议数据流样本集用test_set表示,也称为测试集。
5.半监督聚类。
使用K-Means聚类算法对第4步中的训练集train_set进行半监督聚类,生成两个聚类簇。分别计算两个簇中的包含的标注数据中P2P协议数据的比例,确定两个簇所属的类别。根据P2P协议簇中包含的样本个数来近似确定测试样本中的正例样本数N的值。
6.训练TSVM分类器。
TSVM的训练过程可以用以下的优化问题描述:
Minimize over ( y 1 * , . . . , y k * , w , b , ξ 1 , . . . , ξ n , ξ 1 * , . . . , ξ k * )
1 2 | | w | | 2 + C Σ i = 1 n ξ i + C * Σ j = 1 k ξ j * - - - ( 1 )
Subject to:
Figure BSA00000558525000053
yi[w·xi+b]≥1-ξi
∀ j = 1 k : y j [ w · x j * + b ] ≥ 1 - ξ j *
∀ i = 1 n : ξi≥0
∀ j = k : ξ j * ≥ 0
式中,ξi
Figure BSA00000558525000059
是松弛变量,C是标注协议样本的影响因子,C*未标注协议样本的影响因子。
TSVM模型的训练过程分为以下几个步骤:
(1)根据第5步的结果确定的N的值,并使用参数C和C*的默认值,根据训练集中的标注样本进行学习,得到一个初始分类器,并依据特定规则指定测试样本中的正例样本数N的值。
(2)用初始分类器对测试样本进行分类,根据判别函数的输出值选取N个未标注样本暂时标注为正例,其余标注为反例,并指定一个临时的影响因子
Figure BSA000005585250000510
(3)根据第(2)步的标注结果对所有样本重新训练,对新得到的分类器按照特定规则交换一对标注不同的测试样本的标注值,使得式(1)中的目标函数值获得最大下降。这一步反复执行,直到找不到符合交换条件的样本对为止。
(4)均匀的增加临时影响因子
Figure BSA00000558525000061
的值并返回的步骤(3),当时,算法结束,输出结果。
7.P2P流量识别。
将待识别的网络流量按照步骤2和步骤3进行流重组和特征提取,转换成样本向量并生成待检测数据集,输入到步骤6中训练好的分类器,得到分类结果,判定是否属于P2P流量。
总之,本发明利用改进的TSVM算法检测P2P流量,与现有技术大多采用监督学习的方法相比,可以使用大量未标注样本训练分类模型。使用半监督聚类的方法估计测试样本中的正例样本数N,与背景技术TSVM模型相比,精确度更高,鲁棒性更好。经过对本发明进行的仿真检验,在标注样本数量较少的情况下达到了93%以上的检测率。

Claims (1)

1.一种P2P网络流量检测方法,其特征在于包括下述步骤:
(a)使用流量采集卡在网关出口捕获网络流量,对捕获的网络流量进行数据包解析,并计算相应的流统计特征;
(b)根据网络数据包的源IP地址、源端口、传输协议、目的端口、目的IP地址信息进行网络流重组,信息相同的数据包组成一个数据流;使用17-fileter对重组后的网络流进行标注,标注数据分为P2P协议和非P2P协议两类;
(c)以数据流为单位提取统计特征,包括包大小、包到达时间间隔、流大小、流持续时间;协议已知的数据流加上协议类别标签,P2P协议数据流的标签为“1”,非P2P协议数据流的标签为“-1”,协议未知的数据流标签为“0”,每条数据流对应一个样本,用一个特征向量表示;将标注协议数据与未标注协议数据混合,使用K-Means聚类算法对混合数据聚类,生成两个聚类簇;
(d)将步骤(c)得到的标注协议数据流样本和未标注协议数据流样本混合到一起构成训练集,标注协议数据流样本集用train_set表示,未标注协议数据流样本集用test_set表示;
(e)使用K-Means聚类算法对步骤(d)中的train_set和test_set组成的混合训练集进行半监督聚类,生成两个聚类簇;分别计算两个簇中的包含的标注数据中P2P协议数据的比例,确定两个簇所属的类别;根据P2P协议簇中包含的样本个数来近似确定测试样本中的正例样本数N的值;
(f)根据步骤(e)确定的测试样本中的正例样本数N的值,使用标注协议数据和未标注协议数据共同训练TSVM分类模型;
TSVM的训练过程描述如下:
Minimize over ( y 1 * , . . . , y k * , w , b , ξ 1 , . . . , ξ n , ξ 1 * , . . . , ξ k * )
1 2 | | w | | 2 + C Σ i = 1 n ξ i + C * Σ j = 1 k ξ j * - - - ( 1 )
Subject to:
Figure FSA00000558524900013
yi[w·xi+b]≥1-ξi
∀ j = 1 k : y j [ w · x j * + b ] ≥ 1 - ξ j *
∀ i = 1 n : ξi≥0
∀ j = k : ξ j * ≥ 0
式中,ξi
Figure FSA00000558524900023
是松弛变量,C是标注协议样本的影响因子,C*未标注协议样本的影响因子;
(g)使用步骤(f)中训练的TSVM分类模型对网络数据流进行识别,判定是否为P2P网络流量。
CN201110237498XA 2011-08-18 2011-08-18 P2p网络流量检测方法 Expired - Fee Related CN102291279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110237498XA CN102291279B (zh) 2011-08-18 2011-08-18 P2p网络流量检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110237498XA CN102291279B (zh) 2011-08-18 2011-08-18 P2p网络流量检测方法

Publications (2)

Publication Number Publication Date
CN102291279A true CN102291279A (zh) 2011-12-21
CN102291279B CN102291279B (zh) 2013-11-27

Family

ID=45337400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110237498XA Expired - Fee Related CN102291279B (zh) 2011-08-18 2011-08-18 P2p网络流量检测方法

Country Status (1)

Country Link
CN (1) CN102291279B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611706A (zh) * 2012-03-21 2012-07-25 清华大学 一种基于半监督学习的网络协议识别方法及系统
CN102664771A (zh) * 2012-04-25 2012-09-12 浙江工商大学 基于svm的网络代理行为检测系统及检测方法
CN102685016A (zh) * 2012-06-06 2012-09-19 济南大学 互联网流量区分方法
CN103200133A (zh) * 2013-03-21 2013-07-10 南京邮电大学 一种基于网络流引力聚类的流量识别方法
WO2015154484A1 (zh) * 2014-09-11 2015-10-15 中兴通讯股份有限公司 流量数据分类方法及装置
CN105052113A (zh) * 2013-03-15 2015-11-11 思科技术公司 针对网络设备的共同代理框架
CN106911591A (zh) * 2017-03-09 2017-06-30 广东顺德中山大学卡内基梅隆大学国际联合研究院 网络流量的分类方法和系统
CN107979602A (zh) * 2017-12-01 2018-05-01 西安交通大学 一种蜂窝网络中基于半监督统计的异常检测方法
CN108923962A (zh) * 2018-06-25 2018-11-30 哈尔滨工业大学 一种基于半监督聚类的局部网络拓扑测量任务选择方法
CN109726744A (zh) * 2018-12-14 2019-05-07 深圳先进技术研究院 一种网络流量分类方法
CN113516162A (zh) * 2021-04-26 2021-10-19 湖南大学 一种基于OCSVM和K-means算法的工控系统流量异常检测方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345704A (zh) * 2008-08-15 2009-01-14 南京邮电大学 基于支持向量机的对等网络流量检测方法
CN101510841A (zh) * 2008-12-31 2009-08-19 成都市华为赛门铁克科技有限公司 端到端流量识别方法和系统
CN101695035A (zh) * 2009-10-21 2010-04-14 成都市华为赛门铁克科技有限公司 流量识别方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345704A (zh) * 2008-08-15 2009-01-14 南京邮电大学 基于支持向量机的对等网络流量检测方法
CN101510841A (zh) * 2008-12-31 2009-08-19 成都市华为赛门铁克科技有限公司 端到端流量识别方法和系统
CN101695035A (zh) * 2009-10-21 2010-04-14 成都市华为赛门铁克科技有限公司 流量识别方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JEFFREY ERMAN,ET AL.: "Semi-Supervised Network Traffic Classification", 《PROCEEDINGS OF THE 2007 ACM SIGMETRICS CONFERENCE ON MEASUREMENT AND MODELING OF COMPUTER SYSTEMS》 *
THORSTEN JOACHIMS: "Transductive Inference for Text Classification using Support Vector Machines", 《PROCEEDINGS OF THE 1999 INTERNATIONAL CONFERENCE ON MACHINE LEARNING (ICML)》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611706A (zh) * 2012-03-21 2012-07-25 清华大学 一种基于半监督学习的网络协议识别方法及系统
CN102664771A (zh) * 2012-04-25 2012-09-12 浙江工商大学 基于svm的网络代理行为检测系统及检测方法
CN102685016A (zh) * 2012-06-06 2012-09-19 济南大学 互联网流量区分方法
CN102685016B (zh) * 2012-06-06 2015-01-07 济南大学 互联网流量区分方法
CN105052113B (zh) * 2013-03-15 2018-11-13 思科技术公司 提供针对网络设备的共同代理框架的方法、设备及介质
CN105052113A (zh) * 2013-03-15 2015-11-11 思科技术公司 针对网络设备的共同代理框架
CN103200133A (zh) * 2013-03-21 2013-07-10 南京邮电大学 一种基于网络流引力聚类的流量识别方法
WO2015154484A1 (zh) * 2014-09-11 2015-10-15 中兴通讯股份有限公司 流量数据分类方法及装置
CN105471670A (zh) * 2014-09-11 2016-04-06 中兴通讯股份有限公司 流量数据分类方法及装置
CN105471670B (zh) * 2014-09-11 2019-08-02 中兴通讯股份有限公司 流量数据分类方法及装置
CN106911591A (zh) * 2017-03-09 2017-06-30 广东顺德中山大学卡内基梅隆大学国际联合研究院 网络流量的分类方法和系统
CN107979602A (zh) * 2017-12-01 2018-05-01 西安交通大学 一种蜂窝网络中基于半监督统计的异常检测方法
CN107979602B (zh) * 2017-12-01 2020-03-17 西安交通大学 一种蜂窝网络中基于半监督统计的异常检测方法
CN108923962A (zh) * 2018-06-25 2018-11-30 哈尔滨工业大学 一种基于半监督聚类的局部网络拓扑测量任务选择方法
CN108923962B (zh) * 2018-06-25 2021-05-28 哈尔滨工业大学 一种基于半监督聚类的局部网络拓扑测量任务选择方法
CN109726744A (zh) * 2018-12-14 2019-05-07 深圳先进技术研究院 一种网络流量分类方法
CN109726744B (zh) * 2018-12-14 2020-11-10 深圳先进技术研究院 一种网络流量分类方法
CN113516162A (zh) * 2021-04-26 2021-10-19 湖南大学 一种基于OCSVM和K-means算法的工控系统流量异常检测方法与系统

Also Published As

Publication number Publication date
CN102291279B (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
CN102291279B (zh) P2p网络流量检测方法
CN101282331B (zh) 基于传输层特征的p2p网络流量识别方法
WO2020119662A1 (zh) 一种网络流量分类方法
CN110189167B (zh) 一种基于异构图嵌入的移动广告欺诈检测方法
CN103414600B (zh) 近似匹配方法和相关设备及通信系统
CN102035698A (zh) 基于决策树分类算法的http隧道检测方法
CN109167680A (zh) 一种基于深度学习的流量分类方法
CN110417810A (zh) 基于逻辑回归的增强模型的恶意加密流量检测方法
CN103200133A (zh) 一种基于网络流引力聚类的流量识别方法
CN104052639A (zh) 基于支持向量机的实时多应用网络流量识别方法
CN108881192A (zh) 一种基于深度学习的加密型僵尸网络检测系统及方法
CN102984269B (zh) 一种点对点流量识别方法和装置
CN105978760A (zh) 一种基于C4.5决策树的VoIP流量在线识别方法
CN101854330A (zh) 互联网的网络应用采集与分析方法及系统
CN103281158A (zh) 深度网络通信粒度检测方法及其检测设备
CN112235254B (zh) 一种高速主干网中Tor网桥的快速识别方法
Altschaffel et al. Statistical pattern recognition based content analysis on encrypted network: Traffic for the teamviewer application
CN103746867B (zh) 一种基于基函数的网络协议分析方法
CN116599720A (zh) 一种基于GraphSAGE的恶意DoH流量检测方法、系统
Tavallaee et al. Online classification of network flows
CN110784330B (zh) 一种应用识别模型的生成方法及装置
CN111310796A (zh) 一种面向加密网络流的Web用户点击识别方法
CN111815414A (zh) 一种互联网销售下单方法、装置及系统
CN110290152A (zh) 基于概率加权路径的防火墙规则引擎时间复杂度评估方法
CN103327320B (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: 20131127

Termination date: 20150818

EXPY Termination of patent right or utility model