CN102291279B - P2p网络流量检测方法 - Google Patents
P2p网络流量检测方法 Download PDFInfo
- Publication number
- CN102291279B CN102291279B CN201110237498XA CN201110237498A CN102291279B CN 102291279 B CN102291279 B CN 102291279B CN 201110237498X A CN201110237498X A CN 201110237498XA CN 201110237498 A CN201110237498 A CN 201110237498A CN 102291279 B CN102291279 B CN 102291279B
- Authority
- CN
- China
- Prior art keywords
- flow
- sample
- mark
- data
- protocol
- 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网络流量检测方法,用于解决现有的网络流量检测方法检测精度差的技术问题。技术方案是采用两个阶段来训练分类器,首先使用半监督聚类来近似估计测试样本中的正例样本数N的值,然后根据N的值来进一步训练TSVM模型。与背景技术相比,N的值更加接近真实值,使得训练出的TSVM分类模型具有很好的稳定性和鲁棒性,提高了网络流量检测精度。本发明由于使用大量未标注数据参与训练分类模型,充分利用了半监督学习的优势,与传统的只使用标注数据训练模型的监督学习算法相比,准确性和稳定性更好。
Description
技术领域
本发明涉及一种网络流量检测方法,特别是涉及一种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
Subject to:
(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
Subject to:
TSVM模型的训练过程分为以下几个步骤:
(1)根据第5步的结果确定的N的值,并使用参数C和C*的默认值,根据训练集中的标注样本进行学习,得到一个初始分类器,并依据特定规则指定测试样本中的正例样本数N的值。
(3)根据第(2)步的标注结果对所有样本重新训练,对新得到的分类器按照特定规则交换一对标注不同的测试样本的标注值,使得式(1)中的目标函数值获得最大下降。这一步反复执行,直到找不到符合交换条件的样本对为止。
7.P2P流量识别。
将待识别的网络流量按照步骤2和步骤3进行流重组和特征提取,转换成样本向量并生成待检测数据集,输入到步骤6中训练好的分类器,得到分类结果,判定是否属于P2P流量。
总之,本发明利用改进的TSVM算法检测P2P流量,与现有技术大多采用监督学习的方法相比,可以使用大量未标注样本训练分类模型。使用半监督聚类的方法估计测试样本中的正例样本数N,与背景技术TSVM模型相比,精确度更高,鲁棒性更好。经过对本发明进行的仿真检验,在标注样本数量较少的情况下达到了93%以上的检测率。
Claims (1)
1.一种P2P网络流量检测方法,其特征在于包括下述步骤:
(a)使用流量采集卡在网关出口捕获网络流量,对捕获的网络流量进行数据包解析,并计算相应的流统计特征;
(b)根据网络数据包的源IP地址、源端口、传输协议、目的端口、目的IP地址信息进行网络流重组,信息相同的数据包组成一个数据流;使用l7-filter对重组后的网络流进行标注,标注数据分为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
Subject to:
式中,ξi和是松弛变量,C是标注协议样本的影响因子,C*是未标注协议样本的影响因子;yi是指样本所属的协议类别;是未标注样本对应的协议类别;是未标注样本对应的协议类别;w是支持向量机理论中的线性函数的系数向量;b是支持向量机理论中的线性函数的系数常量;n是train_set中的样本个数;k是test_set中的样本个数;xi是标注样本向量;是指未标注样本向量;
(g)使用步骤(f)中训练的TSVM分类模型对网络数据流进行识别,判定是否为P2P网络流量。
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 CN102291279A (zh) | 2011-12-21 |
CN102291279B true 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) |
Families Citing this family (11)
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的网络代理行为检测***及检测方法 |
CN102685016B (zh) * | 2012-06-06 | 2015-01-07 | 济南大学 | 互联网流量区分方法 |
US9100346B2 (en) * | 2013-03-15 | 2015-08-04 | Cisco Technology, Inc. | Commmon agent framework for network devices |
CN103200133A (zh) * | 2013-03-21 | 2013-07-10 | 南京邮电大学 | 一种基于网络流引力聚类的流量识别方法 |
CN105471670B (zh) * | 2014-09-11 | 2019-08-02 | 中兴通讯股份有限公司 | 流量数据分类方法及装置 |
CN106911591A (zh) * | 2017-03-09 | 2017-06-30 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 网络流量的分类方法和*** |
CN107979602B (zh) * | 2017-12-01 | 2020-03-17 | 西安交通大学 | 一种蜂窝网络中基于半监督统计的异常检测方法 |
CN108923962B (zh) * | 2018-06-25 | 2021-05-28 | 哈尔滨工业大学 | 一种基于半监督聚类的局部网络拓扑测量任务选择方法 |
CN109726744B (zh) * | 2018-12-14 | 2020-11-10 | 深圳先进技术研究院 | 一种网络流量分类方法 |
CN113516162A (zh) * | 2021-04-26 | 2021-10-19 | 湖南大学 | 一种基于OCSVM和K-means算法的工控***流量异常检测方法与*** |
Citations (3)
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 | 成都市华为赛门铁克科技有限公司 | 流量识别方法及装置 |
-
2011
- 2011-08-18 CN CN201110237498XA patent/CN102291279B/zh not_active Expired - Fee Related
Patent Citations (3)
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)
Title |
---|
Jeffrey Erman,et al..Semi-Supervised Network Traffic Classification.《Proceedings of the 2007 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems》.2007,369-370. * |
Thorsten Joachims.Transductive Inference for Text Classification using Support Vector Machines.《Proceedings of the 1999 International Conference on Machine Learning (ICML)》.1999, * |
Also Published As
Publication number | Publication date |
---|---|
CN102291279A (zh) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102291279B (zh) | P2p网络流量检测方法 | |
CN109981474A (zh) | 一种面向应用软件的网络流量细粒度分类***及方法 | |
WO2020119662A1 (zh) | 一种网络流量分类方法 | |
CN102035698A (zh) | 基于决策树分类算法的http隧道检测方法 | |
CN107896160B (zh) | 一种基于分布式***的数据中心网络流量建模方法 | |
CN101841440B (zh) | 基于支持向量机与深层包检测的对等网络流量识别方法 | |
CN110417810A (zh) | 基于逻辑回归的增强模型的恶意加密流量检测方法 | |
CN101282331A (zh) | 基于传输层特征的p2p网络流量识别方法 | |
CN103200133A (zh) | 一种基于网络流引力聚类的流量识别方法 | |
CN108881192A (zh) | 一种基于深度学习的加密型僵尸网络检测***及方法 | |
CN104052639A (zh) | 基于支持向量机的实时多应用网络流量识别方法 | |
CN102984269B (zh) | 一种点对点流量识别方法和装置 | |
Jin et al. | Inferring applications at the network layer using collective traffic statistics | |
CN110569888A (zh) | 基于有向无环图支持向量机的变压器故障诊断方法及装置 | |
Oudah et al. | A novel features set for internet traffic classification using burstiness | |
Min et al. | Online Internet traffic identification algorithm based on multistage classifier | |
CN101854330A (zh) | 互联网的网络应用采集与分析方法及*** | |
Anande et al. | Generative adversarial networks (gans): a survey of network traffic generation | |
CN114510615A (zh) | 一种基于图注意力池化网络的细粒度加密网站指纹分类方法和装置 | |
CN112235254B (zh) | 一种高速主干网中Tor网桥的快速识别方法 | |
CN111310796B (zh) | 一种面向加密网络流的Web用户点击识别方法 | |
Altschaffel et al. | Statistical pattern recognition based content analysis on encrypted network: Traffic for the teamviewer application | |
CN103746867B (zh) | 一种基于基函数的网络协议分析方法 | |
Tavallaee et al. | Online classification of network flows | |
CN116599720A (zh) | 一种基于GraphSAGE的恶意DoH流量检测方法、*** |
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 |