CN101741908B - 一种应用层协议特征的识别方法 - Google Patents

一种应用层协议特征的识别方法 Download PDF

Info

Publication number
CN101741908B
CN101741908B CN2009102601064A CN200910260106A CN101741908B CN 101741908 B CN101741908 B CN 101741908B CN 2009102601064 A CN2009102601064 A CN 2009102601064A CN 200910260106 A CN200910260106 A CN 200910260106A CN 101741908 B CN101741908 B CN 101741908B
Authority
CN
China
Prior art keywords
application layer
characteristic
layer protocol
frequent
packet
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
Application number
CN2009102601064A
Other languages
English (en)
Other versions
CN101741908A (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.)
Lucent Technologies Qingdao Telecommunications Equipment Ltd
Original Assignee
Lucent Technologies Qingdao Telecommunications Equipment Ltd
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 Lucent Technologies Qingdao Telecommunications Equipment Ltd filed Critical Lucent Technologies Qingdao Telecommunications Equipment Ltd
Priority to CN2009102601064A priority Critical patent/CN101741908B/zh
Publication of CN101741908A publication Critical patent/CN101741908A/zh
Application granted granted Critical
Publication of CN101741908B publication Critical patent/CN101741908B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种应用层协议特征的识别方法,包括流量数据包的捕获过程、识别方式选择过程、流量数据包的预处理过程、结合特征数据库中的特征集合对当前网络流量进行识别的过程以及识别结果展示过程。通过采用一套基于Apriori算法的数据挖掘AC算法对特征数据库中的特征集合进行及时更新,从而提高了应用层协议识别的准确率,克服了传统采用手动分析方法进行网络协议识别所存在的种种不足,促进了企业和公司应用层协议分析工作的信息化和智能化,为企业和公司减轻了人力资源的负担,提高了工作效率和进度。

Description

一种应用层协议特征的识别方法
技术领域
本发明属于互联网技术领域,具体地说,是涉及一种对应用层的协议特征进行识别的系统和方法。
背景技术
随着互联网的逐步发展,网上用户和业务流量在不断增长,除传统数据业务外,P2P、网络游戏、IPTV等新兴业务占用了互联网的大部分带宽,一方面使得运营商的服务质量出现问题,另一方面也使得运营商的基础网络建设陷入了“拥塞-扩容-再拥塞”的非正常局面,盈利能力相应降低。
在同一网络内,如果某些用户严重占用带宽进行网游、BT下载等活动,就会影响别人对网络资源的正常使用,或者对他人的工作造成影响。毕竟现在互联网的发展,已经使很多工作都要求在网络上交互和完成。
应用层软件造成的带宽拥塞问题已经引起了中小型企业,多分支机构企业和网络运营商的注意,而他们就是促使网络带宽产品不断发展的最大推动者。随着市场的不断发展,网络带宽控制产品具有极大的市场潜力,而且市场份额也越来越大。
目前,国内的主要带宽管理和流量控制产品包括Panabit、P2P终结者、聚生网管等。但是,这些产品只能从网络流量控制方面给用户提供流量控制方面的应用。当然普通用户也不会关心其内部的识别原理和方法,更不用说应用层的协议特征了。但另一方面,一些应用和分析应用层协议的企业和公司,提出了分析应用层协议和获取相应协议特征的需求,而现有的网络流量控制产品只提供了流量控制的功能,并没有提供应用层协议提取和分析功能的方法和接口。而且如果聘请专门人员手动分析应用层协议特征,将会影响工作效率和进度,并给企业和公司带来人力资源的负担。
当前,最流行的流量监测技术为DPI(Deep Packet Inspection)深度包检测技术,相对于传统的基于端口、协议类型的流量检测技术,DPI增加了应用层分析功能,是一种基于应用层的流量检测和控制技术,它通过深入读取IP包载荷的内容来对OSI7层协议中的应用层信息进行重组,从而得到整个应用的内容,然后按照系统定义的管理策略对流量进行整形操作,通过识别各种应用层的内容达到高效地识别出网络上的各种应用的目的。
数据挖掘技术作为一种数据信息处理关键技术,其主要特点是对数据库中的海量数据进行抽取、转换、分析和其他模型化处理,从中提取关键性和决策性的数据。将数据挖掘技术运用到网络流量分析,在极度膨胀地网络带宽需求中,根据用户的网络带宽使用情况、实时地对带宽进行分配,从占据带宽重要比重的应用层软件中提取和挖掘出应用层协议和软件的重要识别特征,以分析出影响网络带宽的软件和用户,具有重大的意义。
很多学者从数据挖掘的角度对DPI技术进行了理论和科学实验研究。但是,随着网络流量分析和特征提取工程应用需求的增加,对理论研究转换成实际工程应用提出了市场需求。
发明内容
本发明的目的在于提供一种适于实际工程应用的应用层协议特征识别方法,以克服现有应用层协议特征识别在工程应用中的不足,提高协议特征识别的准确率和有效性。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种应用层协议特征的识别方法,包括以下步骤:
(1)捕获待监听的流量数据包,并对捕获的网络流量进行上行网络流量和下行网络流量的分流;
(2)对分流后的网络流量进行预处理,去除上行网络流量和下行网络流量中的每一个流量数据包的链路层、网络层、传输层的头文件信息,只保留应用层数据信息,并且截取所述数据信息中的控制信息部分,形成应用层协议信息数据包;
(3)将上行网络流量的应用层协议信息数据包中的数据信息依次与特征数据库中保存的各个协议的上行网络流量的特征集合进行匹配,若在与某一个特征集合进行匹配的过程中,该网络数据包协议特征的匹配率高于设定的匹配阈值M,则认为该网络数据包为符合该协议特征的数据包;
(4)将下行网络流量的应用层协议信息数据包中的数据信息依次与特征数据库中保存的各个协议的下行网络流量特征集合进行匹配,若在与某一个特征集合进行匹配的过程中,该网络数据包协议特征的匹配率高于设定的匹配阈值M,则认为该网络数据包为符合该协议特征的数据包;
最终,总体网络流量识别率最高的应用层协议,即为当前网络流量所代表的协议。
其中,所述特征的匹配率定义为:当前应用层协议信息数据包包含的某一个特征集合的特征的个数与该特征集合的特征总数的比值。
所述的总体网络流量识别率定义为:满足匹配率M的属于某一个特征集合的网络数据包总数与当前研究的网络数据包总数的比值。
为了提高识别的准确率,在所述步骤(3)、(4)中,若应用层协议信息数据包中的数据信息与特征数据库中的多个特征集合的匹配率均高于设定的匹配阈值M,则选择匹配率最高的特征集合所代表的协议作为当前网络数据包的应用层协议。
优选的,所述匹配阈值M优选在0.2到0.5之间取值;
其中,所述对网络流量进行上行网络流量和下行网络流量的分流的过程为:根据客户端主机的IP地址为源IP地址或目的IP地址对网络流量进行分流。从客户端向服务器端发送的流量,分流为上行网络流量;从服务器端向客户端发送的流量,分流为下行网络流量。
进一步的,所述数据信息的截取过程可以具体采用以下方式实现:
结合控制信息的最大长度设置一个合适的长度阈值L,然后根据设定的长度阈值L对应用层数据信息进行截取,使得形成的每一个应用层协议信息数据包只保留长度为L的数据信息。所述长度阈值L可以在200byte到400byte之间取值,即可包含一个应用层流量数据包中的全部控制信息。
又进一步的,在所述步骤(1)、(2)之间还包括对识别方式进行选择的步骤;若选择在线识别方式,则直接将步骤(1)分流后的上行流量数据包和下行流量数据包,分别与特征数据库中保存的各个协议的上行流量特征集合和下行流量特征集合进行匹配,以进行协议识别;若选择离线识别方式,则执行步骤(2)、(3)、(4)。
同样的,为了提高在线识别的准确率,若特征数据库中存在多个特征集合与捕获的流量数据包的匹配率均高于设定的匹配阈值M,则选择匹配率最高的特征集合所代表的协议作为当前网络数据包的应用层协议。
为了实现特征数据库的及时更新,所述特征数据库中的特征集合在每一轮流量数据包的捕获、识别过程中,通过应用层协议特征提取步骤对每一轮流量数据包中的协议特征进行提取,进而对特征数据库中的特征集合进行更新。
再进一步的,所述应用层协议特征提取步骤包括:
a、提取应用层协议信号数据包中的频繁1项集,所述频繁1项集的长度设定为2的整数倍;
b、采用如下合并过程将频繁k项集合并成候选k+1项集,k≥1:
b1=Lines[x]+Lines[y].substring(Lines[y].length()-1,Lines[y].length());
b2=Lines[y]+Lines[x].substring(Lines[x].length()-1,Lines[x].length());
其中,Lines[x]、Lines[y]分别为第x个和第y个频繁k项集,频繁k项集的长度为LEN;substring(p,q)表示提取从序列的第p位开始到第q位的子序列,b1和b2为得到的候选k+1项集,其长度为LEN+2;
c、计算候选k+1项集的支持度support,提取满足支持度条件support≥minimum_sup的候选k+1项集,作为频繁k+1项集;所述minimum_sup为频繁项集支持度的最小阈值;
d、根据频繁k+1项集,删除频繁k项集中冗余的频繁项集,其过程为:
令fz为一个频繁k+1项集;fx和fy为两个频繁k项集,且fx=fz.substring(1,fz.length()-2),fy=fz.substring(3,fz.length()),那么删除频繁k项集fx和fy
由步骤a、b、c、d获取的各个频繁项集即构成该应用层协议的特征集合,将其与特征数据库中保存的相应协议的特征集合进行比较,如果有新的协议特征产生,则将新的协议特征保存到特征数据库中,完成对特征数据库中该协议的特征集合的更新。
更进一步的,在获取到当前应用层协议的特征集合后,对所述特征集合进行优化,删除协议特征集合中不具代表性的协议特征和应用层通用的协议特征,然后对特征数据库进行更新。
与现有技术相比,本发明的优点和积极效果是:本发明从工程应用角度提出了一套较完整的应用层协议特征提取识别方法,丰富了应用层协议特征提取识别在工程中的应用,克服了手动分析的不足,促进了企业和公司应用层协议分析工作的信息化和智能化,为企业和公司减轻了人力资源的负担,提高了工作效率。通过在协议识别的过程中同时进行应用层协议特征的提取,并对特征数据库进行周期性更新,以不断丰富应用层特征数据库的内容,从而提高了应用层协议识别的准确率。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1是本发明所提出的应用层协议特征识别方法的一种实施例的流程图;
图2是应用层协议特征提取方法的一种实施例的流程图;
图3是基于图1、图2所示协议特征提取和识别方法所构建的应用层协议特征识别系统的一种实施例的系统架构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细地描述。
本发明针对现有应用层协议特征提取和识别方法在工程应用中的不足,及其企业和公司提出用智能方法(即自动分析方法)分析应用层协议的需求,提出了一种适于工程应用的应用层协议特征提取和识别的数据挖掘系统和方法。将数据挖掘的思想和方法实际应用到应用层协议特征的提取和识别过程中,并根据应用层协议流量数据量大的特点,从应用层协议数据包的有效包长、有效流量和无用流量等角度出发,提出了对流量数据包进行限制预处理的策略。通过周期性地更新特征数据库中的协议特征集合,可以有效地提高应用层协议识别的准确率。
下面通过一个具体的实施例来详细阐述所述应用层协议特征提取和识别方法的具体设计过程以及基于该设计思想所构建的应用层协议特征识别系统的具体组建结构。
实施例一,参见图1所示,本实施例的应用层协议特征识别方法主要由以下步骤设计实现:
Step1、设置使用权限,对系统的安全使用进行管理;
出于对系统使用的安全性考虑,本实施例优选在系统正常运行前,对登录用户的合法身份进行验证,即要求用户输入用户名和密码,进行身份验证,进而根据事先保存的权限信息验证用户输入的用户名和密码是否正确,如果用户名和密码与保存的权限信息相符,则用户通过验证,进入系统;如果用户名或密码错误,则提醒用户确认输入的用户名或密码是否正确,并重新要求用户输入用户名和密码,直到身份验证通过后,再执行后续步骤。
Step2、捕获待监听的流量数据包;
用户在选择启动应用层协议特征提取功能时,首先选择需要监听的网卡,并设置流量数据包的过滤条件,然后启动流量捕获功能,开始捕获待监听网卡的流量数据包。与此同时,对捕获的网络流量数据包进行分流:根据客户端主机的IP地址为源IP地址或目的IP地址对网络流量进行分流。从客户端向服务器端发送的流量,分流为上行网络流量;从服务器端向客户端发送的流量,分流为下行网络流量。
所述流量捕获功能可以直接应用现有的Pcap功能函数库进行软件开发应用,对应用层协议的网络流量进行实时捕获。在调用该函数库时,输入捕获网络流量数据包的过滤条件,比如捕获全部网络数据包、捕获TCP数据包和捕获UDP数据包等,即可获得满足过滤条件的流量数据包。
根据经验获悉:应用层的协议特征主要存在于协议进行连接时的前几个数据包中,而在下载时的流量数据包包含的协议特征信息较少。因此,只需要提取应用协议在连接时的流量数据包的特征,即可以达到较好的特征提取和识别效果。对下载时的流量数据包进行特征提取,反而会增加数据处理和特征提取的难度。基于此,本实施例优选只捕获应用协议连接时的流量数据包。
在本实施例中,根据用户选择的协议识别方式可以设计两种流量数据包传输方式,即当用户选择在线识别方式,则将捕获到的流量数据包直接传送到应用层协议识别分析模块,对应用层协议进行识别,跳转至Step4;若用户选择离线识别方式,则将捕获到的流量数据包另存为.pcap文件,进而将该文件传送到应用层协议流量预处理模块进行离线预处理后,再进行协议识别,转到Step3执行。
Step3、对捕获到的流量数据包进行预处理;
本步骤是为了提高后续协议特征提取和识别速度而专门设计的,主要对接收到的.pcap文件做以下两部分流量预处理:
(1)提取应用层数据信息。通过步骤Step2捕获到的网络流量数据包其实包括了OSI7层模型的全部数据,而只有应用层部分的网络数据对我们研究应用层协议特征有用。所以,在该数据预处理阶段对捕获到的流量数据包(即.pcap文件)进行应用层协议信息的提取,即将捕获到的每一个流量数据包的链路层、网络层、传输层的头文件信息去除,只保留应用层协议数据,进而形成应用层协议信息数据包供后续步骤使用。
(2)对应用层协议信息数据包的大小进行限制。应用层协议信息数据包由两部分组成:控制信息+数据。当前应用层协议的有用信息基本集中在控制信息部分,而数据部分基本是下载时的数据信息,提供特征的信息较少。所以,在流量预处理阶段可以根据协议的定义或者特点设置一个阈值L,以对应用层协议信息数据包的大小进行限制和截取,使得每个应用层协议信息数据包只保留从数据包开始到长度为L的数据信息,即包括全部的控制信息部分和少量的数据部分,并保存到.txt文件中。
其中,阈值L的大小范围是根据各应用层协议的定义而确定的,不同的应用层协议其控制信息的有效长度L也是不一样。一般来讲,L在200byte到400byte之间取值即可满足控制信息的提取要求,比如L=380byte。
Step4、应用层协议的识别过程;
在此过程中,若用户选择在线识别方式,则直接将步骤Step2分流后的网络流量数据包分别与特征数据库中保存的各个协议的上行流量特征集合和下行流量特征集合进行匹配,若在与某一个特征集合进行匹配的过程中,其匹配率高于设定的匹配阈值M,则认为当前网络数据包的应用层协议为该特征集合所代表的协议。经试验证明:所述匹配阈值M在0.2和0.5之间(包括端点),基本能满足识别要求。
所述特征的匹配率M定义为:当前应用层协议信息数据包包含的某一个特征集合的特征的个数与该特征集合的特征总数的比值。
为了进一步提高在线协议识别的准确率,在将捕获到的流量数据包依次与特征数据库中的多个特征集合进行匹配的过程中,如果存在有多个特征集合在匹配过程中其匹配率均高于设定的匹配阈值M的情况时,那么应选择匹配率最高的特征集合所代表的协议作为当前流量数据包的应用层协议。
最终,总体网络流量识别率最高的应用层协议,即为当前网络流量所代表的协议。
所述的网络流量识别率I定义为:满足匹配率M的属于某一个特征集合的网络数据包总数与当前研究的网络数据包总数的比值。
在识别过程中,将满足匹配率的流量数据包标记为1,不满足匹配率的流量数据包标记为0。然后将识别结果(包括用户IP、协议类别信息等)以柱状图、饼图等方式进行展示,并将识别结果保存到识别结果数据库中。
若用户选择离线识别方式,则将通过步骤Step3生成的上行流量和下行流量的应用层协议信息数据包(即.txt文件)与特征数据库中保存的各个协议的上行流量特征集合和下行流量特征集合进行匹配,选择匹配率高于设定的匹配阈值M的特征集合所代表的协议作为当前网络数据包的应用层协议。所述匹配阈值M可以在0.2到0.5之间取值(包括端点)。
同样的,为了进一步提高离线协议识别的准确率,在将传送来的应用层协议信息数据包依次与特征数据库中的多个特征集合进行匹配的过程中,如果存在多个特征集合的匹配率均高于设定的匹配阈值M,则应选择匹配率最高的特征集合所代表的协议作为当前网络数据包的应用层协议。
最终,总体网络流量识别率最高的应用层协议,即为当前网络流量所代表的协议。
在识别过程中,将匹配成功的应用层协议信息数据包标记为1,未匹配成功的应用层协议信息数据包标记为0,并记录标记为1和标记为0的数据包个数。利用识别结果和流量的统计量(以包或者byte为单位)作识别准确性的分析比较,最后将准确率等结果以柱状图、饼图等方式进行展示,并将识别结果保存到识别结果数据库中。
应用层协议的准确识别有赖于特征数据库中保存的应用层协议的特征集合。为了实现应用层协议的准确识别,对特征数据库中的特征集合进行及时更新至关重要。基于此,本实施例在设计协议特征识别方法的过程中,对每一轮捕获到的流量数据包都进行了协议特征的提取过程,以此来对特征数据库中的特征集合进行及时更新。
下面对应用层协议特征的具体提取过程进行详细阐述。
为了实现应用层协议特征的准确、快速提取,本实施例对现有的Apriori频繁模式挖掘算法进行改进,提出了一种基于Apriori的数据挖掘算法,并命名为AC(Apriori FrequentSignature and Constraint)算法,以完善应用层协议特征的提取设计。
Apriori算法作为数据挖掘中关联规则挖掘算法的典型代表,由Agrawal等人在1993年提出。Apriori算法分为两部分:频繁项集产生+关联规则挖掘。频繁项集产生过程用于挖掘海量数据中频繁出现的数据项,为关联规则的建立提供数据对象。
频繁模式挖掘算法的基本原理如下:
频繁模式挖掘是关联规则挖掘里的一个重要内容,挖掘待研究事务的频繁项集,是产生关联规则的重要前提和保证。应用关联规则里产生频繁项集的方法来提取应用层流量数据包中的协议特征。其基本思想是:不考虑流量数据的结构信息,只关注流量数据的内容,而内容具体含义事先也不考虑,在这种模糊的条件下,提取流量数据包的频繁子串,并作为待考虑的应用层协议特征。
频繁项集挖掘的数据集和支持度定义:
频繁模式挖掘的数据集定义如下:
令I={i1,i2,....id}是数据中所有项的集合,T={t1,t2,....td}是所有事务的集合,每个事务ti包含的项集都是I的子集,包含0个或多个项的集合S被称为项集。如果一个项集S包含k个项,则称它为k项集。项集S在事务中的出现频率用支持度support来描述,support=P(ti(S)/T),分子ti(S)表示项集S在事务中出现的次数,分母T表示事务个数。给定一个支持度的最小阈值minimum_sup,若support≥minimum_sup,那么项集S为频繁项集。
频繁项集挖掘过程:
频繁项集挖掘过程都是根据原创性算法Apriori衍生出来的,因此他们的总体挖掘过程都大同小异。Apriori算法使用一种逐层搜索的迭代方法,用k项集探索(k+1)项集。
第一次迭代挖掘所有长度为1且支持度support大于等于最小支持度minimum_sup的项集作为频繁1项集。第二次迭代挖掘长度为2的频繁2项集。在第二次迭代过程中,算法会基于第一次迭代的结果来生成长度为2的候选2项集,然后计算每个候选2项集的支持度support,将满足support≥minimum_sup的候选2项集选出来作为频繁2项集。重复第二次迭代过程可以挖掘大小分别为3、4、5...的频繁项集,直到没有满足最小支持度条件support≥minimum_sup的项集产生为止。
本实施例所提出的应用层协议特征提取方法采用AC算法实现,AC算法定义的应用层流量数据包的频繁项集数据模型为:
令I={i1,i2,....id},每个项ig(g=1到d)由两位十六进制数组成,是应用层流量数据包的最小单位;T={t1,t2,....td}为所有数据包的集合,ti={I的子集构成的序列},为一个应用层协议信息数据包;令S=substring(ti),S表示应用层协议信息数据包ti的一个子串,为I的项集;频繁项集的支持度support=P(ti(S)/T);若support≥minimum_sup,那么应用层流量数据包ti的项集S为该应用层的协议特征。
AC算法相比其它算法的独特之处体现在以下两个方面:
一、引入Bloom Filter函数改进Apriori算法,产生频繁1项集,以加快产生频繁项集的过程。
引入Bloom Filter算法对Apriori算法进行改进,Bloom Filter算法用多个哈希函数(即Hash函数)提高识别频繁项的准确性。Bloom Filter算法最初是由Fang Hao等人提出来的,目的是加快对频繁项集的提取。AC算法引入Bloom Filter的思想对Apriori算法产生频繁1项集的过程进行改进,在执行效率和精确度方面都有了很大的提高。
二、在AC算法中引入产生协议特征即频繁项集的限制条件,以加快应用协议特征的提取过程。
Byung-Chul Park等人提出LASER(LCS-based(Longest common subsequence)Application Signature ExtRaction algorithm)算法,即基于最长公共子序列的应用特征提取算法,来提取应用层特征。在LASER算法产生应用层特征的过程中,引入最小子串长度的限制条件算法将要产生的特征的最小长度进行限制。AC算法在沿用最小子串长度的限制条件,即协议特征长度的限制条件的基础上,再提出了两个限制条件:屏蔽不提供协议特征的应用层协议信息数据包和删除冗余的应用层协议特征,以对Apriori算法进行改进,从而加快协议特征的提取过程和优化提取得到的应用层协议特。
下面结合图2对将AC算法应用于应用层协议特征提取过程的具体实现步骤阐述如下:
本实施例的应用层协议特征提取过程在Step3之后进行。
1、导入经过步骤Step3预处理后的应用层协议信息数据包,即.txt文件。
2、设定频繁1项集的长度len。
由于流量数据包是按原始捕获的流量数据格式即十六进制的格式保存的,每两个十六进制符号表示一个十进制ASCII码字符,因此,频繁1项集的长度取值应该为2的整数倍。
此处引入协议特征长度的限制条件:在频繁项集的产生过程中,前面的项集的产生是为后面项集的产生服务的,但是这些前面的项集往往是些过渡项集,对最终项集的产生很少或不产生影响。如果在产生频繁1项集时,项集的大小|S|=2,产生频繁2项集时,项集的大小|S|=4...,那么将会影响后续项集的递增处理效率,而且协议特征过短没有实际意义和参考价值。因此,本实施例通过对频繁1项集的长度len进行限制,从而对协议特征最小长度进行限制,使其不产生过短的没有实际意义的协议特征。这样不但可以提高提取效率,也为最终产生更高质量的协议特征提供重要保障。
基于此,本实施例提出将频繁1项集的长度len设定为2的整数倍,且大于等于4的值,优选len=4。
3、提取频繁1项集。
即提取应用层协议信息数据包中满足支持度条件support≥minimum_sup的频繁项集。在频繁1项集的提取过程中,引入Bloom Filter算法来判断重复频繁项集,以提高产生频繁1项集的效率。
Bloom Filter算法提取频繁1项集的原理和过程为:
Bloom Filter是一个M位的二进制字符串,每位初始为0。为每个候选1项集设定h个哈希函数,h个哈希函数的值与Bloom Filter的二进制字符串的位置相对应。当判断一个候选1项集是否已经为频繁1项集时,只要计算这h个Hash函数的值,然后根据得到的函数值去寻找Bloom Filter二进制字符串的对应位,如果h个对应位的值都为1,则说明该候选1项集已经为频繁1项集,这样Bloom Filter就将其过滤掉,而不用做进一步的支持度计算来判断该候选1项集是否为频繁1项集;如果h个对应位的值只要有一位不为1,则说明要做进一步的支持度计算才能判断该候选1项集是否为频繁1项集。
Bloom Filter算法过滤候选1项集的准确度和错误率由Hash函数的个数h决定,FangHao等人已证明:h=6时Bloom Filter算法过滤的错误率已接近极小化。
Bloom Filter算法使用的Hash函数定义为:
假设候选1项集为C=(C1,C2,...,Ck),根据以下的哈希函数计算候选1项集C所有长度为k(k>1)的子集的哈希值。假设一个素数q,则第一个长度为k的子集的哈希函数为:
H1=C1qk-1+C2qk-2+…+Ck-1q+Ck(Mod M)
其中,M为Bloom Filter的二进制字符串的长度;
第二个长度为k的子集的哈希函数为:
H2=C2qk-1+C3qk-2+…+Ckq+Ck+1(Mod M)。
最小支持度阈值minimum_sup的取值范围根据具体的应用而定,不同的应用层协议数据其最小支持度阈值也不同,根据实验经验可知:minimum_sup的取值范围优选为0.2≤minimum_sup≤0.8。
此处引入限制条件:屏蔽不提供协议特征的应用层协议信息数据包。如果已提取的频繁1项集没有一个包含在一个应用层协议信息数据包中,那么该应用层协议数据包被认为是不包含频繁1项集的数据包,则在以后的频繁项集的挖掘过程中,该应用层协议信息数据包也不会包含频繁项集。因此,将不提供协议特征的应用层协议信息数据包屏蔽,在后面的频繁项集挖掘过程中不再进行频繁项集的计算和挖掘。
4、由频繁k项集提取频繁k+1项集。
假设:Lines[x]、Lines[y]分别为第x个和第y个频繁k项集,频繁k项集的长度为LEN。substring(p,q)表示提取从序列的第p位开始到第q位的子序列,b1和b2为得到的候选k+1项集,其长度为LEN+2。
我们知道流量数据包的内容是一个有序序列,各项间的顺序和位置是固定的。因此,不能简单地像集合一样合并各k项集,来产生候选(k+1)项集。而候选k+1项集是由频繁k项集间合并生成的,且在频繁k项集的基础上增加2个十六进制字符,即候选k+1项集的长度为LEN+2。根据频繁项集产生的先验原理:如果一个项集是频繁的,那么它的所有子集一定也是频繁的。由此,我们知道候选k+1项集长度为LEN的子序列必为频繁k项集,即Lines[x].substring(1,Lines[x].length-2)和Lines[x].substring(3,Lines[x].length)必为频繁k项集。因此,我们可以通过以下方式由频繁k项集合并为候选k+1项集:
如果Lines[x]频繁k项集从第3个字符开始到最后一个字符结束的子序列与Lines[y]频繁k项集的从第1个字符开始到倒数第三个字符结束的子序列相等,即Lines[x].substring(3,Lines[x].length())=Lines[y].substring(1,Lines[y].length()-2),那么Lines[x]和Lines[y]用以下方式合并为候选k+1项集:
b1=Lines[x]+Lines[y].substring(Lines[y].length()-1,Lines[y].length());
如果Lines[x]频繁k项集从第1个字符开始到倒数第3个字符结束的子序列与Lines[y]频繁k项集的从第3个字符开始到最后一个字符结束的子序列相等,即Lines[x].substring(1,Lines[x].length()-2)=Lines[y].substring(3,Lines[y].length()),那么Lines[x]和Lines[y]用以下方式合并为候选k+1项集:
b2=Lines[y]+Lines[x].substring(Lines[x].length()-1,Lines[x].length());
Hong Han等人将该合并过程应用于病毒特征的提取过程中,他们提出当产生频繁2项集时,直接由频繁1项集间的合并产生,因为此时的频繁1项集为项集的最小单位;当产生频繁3项集开始以后的项集时,根据项集间子序列的相等性来合并频繁k项集为候选k+1项集。当产生频繁3项集以后项集的方法对AC算法产生长度为2的频繁项集时已经开始适用,因为本实施例定义的应用层流量数据包的最小单位长度为2,而AC算法初始设定频繁1项集的长度len一般大于等于4,因此此时频繁1项集不是项集的最小单位,由频繁1项集生成候选2项集,可直接应用以上合并过程。
然后,计算候选k项集的支持度support,将满足支持度条件support≥minimum_sup的候选k项集提取出来,作为频繁k+1项集。
5、根据频繁k+1项集,删除频繁k项集中的项集。
此处引入限制条件:删除冗余的应用层协议特征。根据提取得到的频繁k+1项集删除频繁k+1项集中已经挖掘的频繁k项集。
为了得到更优的应用层协议特征集合并将冗余的应用层协议特征删除,本实施例根据频繁项集产生的先验原理:如果一个项集是频繁的,那么它的所有子集一定也是频繁的,设计了删除冗余的应用层协议特征的过程,即在完成频繁K+1项集的提取过程后,紧接着进行删除冗余的频繁K项集的删除过程。
因为频繁k+1项集是由频繁k项集挖掘产生的,那么每个频繁k+1项集的子序列,一定也包含在频繁k项集中,频繁k+1项集已经包含了其对应的频繁k项集的挖掘项集。相反的,频繁k项集不一定都包含在频繁k+1项集中,因为由频繁k项集产生的候选k+1项集并不一定能成为频繁k+1项集。因此在频繁k项集中删除频繁k+1项集包含的项集,即如果满足以下条件,那么对应的频繁k项集将被删除:
fz为一个频繁k+1项集;fx和fy为两个频繁k项集,且fx=fz.substring(1,fz.length()-2),fy=fz.substring(3,fz.length()),那么删除频繁k项集fx和fy
在这个过程中,删除了频繁k项集中重复出现的频繁k+1项集的子序列,且保留了频繁k项集中不产生频繁k+1项集的项集。
6、如此反复执行步骤4和步骤5,直到没有新的频繁项集产生为止。
通过以上步骤获取的各个频繁项集即构成应用层的协议特征集合。
7、对获取的应用层的协议特征集合进行优化处理。
在此步骤中,包括删除协议特征集合中不具代表性的协议特征和应用层通用的协议特征,使得到更优的协议特征集合。
8、将经过优化处理后的协议特征结果以图表或者文字等形式进行展示。
9、将经过优化处理后的协议特征与特征数据库中已保存的协议特征进行比较,以不断更新特征数据库,进而为应用层协议的准确识别提供支持。
基于上述应用层协议特征提取和识别方法,本实施例又提出了一种应用层协议特征提取和识别系统,参见图3所示,具体包括以下主要组成部分:
权限管理模块:提供系统的用户、用户组的定义及其各自权限的管理,保证数据库的安全访问,即完成Step1的功能。其中,用户管理,用于定义系统的用户及相应的用户权限;用户组管理,用于定义系统的用户组及相应的权限。设置的各权限数据保存在权限数据库中。
流量捕获模块:捕获待监听的网络流量数据包,并对网络数据包进行上行网络流量和下行网络流量的分流,即完成Step2的功能。
应用层协议流量预处理模块:根据流量数据包的特点对流量数据包进行预处理,去掉无用或不相关的流量数据,即完成Step3的功能。
应用层协议识别分析模块:包括在线识别和离线识别两个应用层协议识别功能。在线识别对流量捕获模块捕获得到的流量数据包进行实时识别和标记;离线识别对经过应用层协议流量预处理模块进行数据预处理后产生的应用层协议信息数据包进行识别。离线识别功能是为应用层协议识别准确率的分析提供服务的。
应用层协议识别准确率分析模块:分析和验证应用层协议特征提取模块提取得到的协议特征的准确率。
应用层协议识别结果与准确率展示模块:以图表等形式展示应用层协议识别模块识别应用层协议的识别结果及其识别准确率。用户结合图表对识别结果进行分析,并将识别结果和用户的分析和补充说明信息输出到识别结果数据库中进行保存。
应用层协议特征提取模块:应用数据挖掘AC算法实现对应用层协议特征的提取功能。在此模块中还可以包括数据挖掘算法的选择、数据挖掘算法的实现与应用模块等。此模块提供一个公用的接口支持数据挖掘算法的扩展。
参数配置模块:提供应用层协议特征提取数据挖掘算法的参数,如特征长度len、支持度最小阈值minimum_sup以及选择的特征提取数据挖掘算法的其他各相关参数等。
应用层协议特征优化模块:优化应用层协议特征提取模块提取得到的协议特征,将冗余的和通用的协议特征删除,使得到更优的协议特征集合。
应用层协议特征提取结果展示模块:将经过优化后的协议特征及其流量识别准确率I(I=包含协议特征的流量数据包总数/捕获流量中总的数据包个数)以图形、表格等方式输出展示。
应用层协议特征周期性更新模块:实现最新协议特征数据库更新。将最新提取得到的协议特征与特征数据库相应协议特征进行比较,如果有新的协议特征产生,则将该新特征更新到特征数据库中。
下面结合图1、图2、图3,以提取PPStream应用软件特征为例对本实施例的协议特征提取和识别过程进行详细的说明。
以PPStream应用层软件为实例,在实验主机上必须首先打开PPStream软件。
1、用户登录系统
用户输入用户名和密码,系统从权限数据库查找相应的用户登录信息,并进行用户验证。用户验证通过,则允许用户进入系统,否则提醒用户再次输入用户名和密码。
2、流量捕获
在应用层协议流量捕获模块中,选择应用层协议提取功能,并选择当前需要监听的网卡Realtek RTL8139/810x Family Fast Ethernet NIC,输入流量数据包过滤条件“TCP && notsmb && not nbss”,即捕获TCP数据包,开始捕获应用层协议流量数据包。流量捕获结束后,可随时点击“停止流量捕获”按钮,最后将捕获的流量数据包另存为PPStream.pcap文件。在捕获流量数据包的同时,根据客户端的IP地址做为源IP地址或目的IP地址对网络流量进行上行网络流量和下行网络流量的分流。
由于本实施例要对PPStream软件特征进行准确率分析,因此选择离线识别方式。捕获的PPStream流量数据以PPStream.pcap文件的形式传送到应用层协议流量预处理模块。
3、应用层协议流量预处理
将PPStream.pcap文件导入应用层协议流量预处理模块,设置预处理参数:截取流量数据包大小L=380byte。分流出PPStream.pcap流量数据包的上行网络流量,并提取该上行网络流量的应用层协议信息数据包,并对每个应用层协议信息数据包进行截取,只保留L长度的数据信息。然后,将流量数据预处理后的结果以PPStream.txt文件的形式发送给应用层协议特征提取模块。进行预处理后,流量数据包的格式为(每个流量数据包用#号隔开):
#73 2F 2E 30 36 25 44 30 25 41 31 25 43 39 25 46 32 25 44 31 25 46 34 25 43 3925 45 44 25 42 43 25 44 42 25 42 31 25 41 39 25 44 35 25 43 37 36 30 30 25 42 3125 42 36 25 42 37 25 41 32 25 43 41 25 43 34 25 42 32 25 42 42 25 43 35 25 44 3725 43 36 25 44 45 2E 6A 70 67 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 3A 2070 6C 2E 70 70 73 2E 74 76 0D 0A 41 63 63 65 70 74 3A 20 2A 2F 2A 0D 0A 55 73 6572 2D 41 67 65 6E 74 3A 20 50 50 53 74 72 65 61 6D 2D 43 6C 69 65 6E 74 2F 31 2E30 0D 0A 0D 0A
#30 25 41 31 25 43 39 25 46 32 25 44 31 25 46 34 25 43 39 25 45 44 25 42 43 2544 42 25 42 31 25 41 39 25 44 35 25 43 37 36 30 30 25 42 31 25 42 36 25 42 37 2541 32 25 43 41 25 43 34 25 42 32 25 42 42 25 43 35 25 44 37 25 43 36 25 44 45 2E78 6D 6C 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 3A 20 70 6C 2E 70 70 73 2E74 76 0D 0A 41 63 63 65 70 74 3A 20 2A 2F 2A 0D 0A 55 73 65 72 2D 41 67 65 6E 743A 20 50 50 53 74 72 65 61 6D 2D 43 6C 69 65 6E 74 2F 31 2E 30 0D 0A 0D 0A
#69 73 74 2F 6C 69 73 74 2F 30 32 30 36 25 44 30 25 41 31 25 43 39 25 46 32 2544 31 25 46 34 25 43 39 25 45 44 25 42 43 25 44 42 25 42 31 25 41 39 25 44 35 2543 37 36 30 30 25 42 31 25 42 36 25 42 37 25 41 32 25 43 41 25 43 34 25 42 32 2542 42 25 43 35 25 44 37 25 43 36 25 44 45 2E 68 74 6D 6C 20 48 54 54 50 2F 31 2E31 0D 0A 41 63 63 65 70 74 3A 20 2A 2F 2A 0D 0A 41 63 63 65 70 74 2D 4C 61 6E 6775 61 67 65 3A 20 7A 68 2D 63 6E 0D 0A 55 41 2D 43 50 55 3A 20 78 38 36 0D 0A 4163 63 65 70 74 2D 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 70 2C 20 64 65 66 6C 6174 65 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F 34 2E 3020 28 63 6F 6D 70 61 74 69 62 6C 65 3B 20 4D 53 49 45 20 37 2E 30 3B 20 57 69 6E64 6F 77 73 20 4E 54 20 35 2E 31 3B 20 61 66 66 2D 6B 69 6E 67 73 6F 66 74 2D 6369 62 61 29 0D 0A 48 6F 73 74 3A 20 76 6F 64 67 75 69 64 65 2E 70 70 73 2E 74 760D 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 4B 65 65 70 2D 41 6C 69 76 65 0D 0A 436F 6F 6B 69 65 3A 20 70 70 73 6C 6F 67 69 6E 32 3D 2D 31 3B 20 70 70 73 5F 63 6C69 65 6E 74 5F 69 64 3D 41 41 4E 33 53 36 35 55
4、应用层协议特征提取
选择AC算法,配置AC算法的参数:频繁1项集长度len=6,最小支持度阈值minimum_sup=0.2。启动应用层协议特征提取模块的分析功能,从PPStream.txt文件中提取出PPStream软件的特征,并将提取得到的协议特征集合输出到应用层协议特征优化模块。
表1是提取得到的PPStream软件的协议特征及其支持度:
Figure G2009102601064D00161
表1
5、PPStream软件特征优化
应用层协议特征优化模块接收应用层协议特征提取模块送来的协议特征集合,对协议特征集合进行优化处理,删除多余的、不具代表性的和应用层通用的协议特征。表2是优化后的PPStream软件的协议特征及其支持度:
  特征的十六进制表示   特征的十进制表示   特征的支持度
  20687474703A2F2F766F6467756964652E7070732E74762F6368616E6E656C5F6C6973742F6C6973742F3032   http://vodguide.pps.tv/channel_list/list/02 0.276
  207070735F636C69656E745F69643D4141   pps_client_id=AA   0.214
  2E707073747265616D2E636F6D0D0A436F   .ppstream.com Co   0.253
  0D0A436F6F6B69653A20707073   Cookie:pps   0.253
  2E7070732E74760D0A   .pps.tv   0.31
  505053747265616D   PPStream   0.253
  ......   ......   ......
表2
6、将经过优化处理后的协议特征传送给应用层协议特征提取结果展示模块,以图表和文字的形式展示提取得到的协议特征结果。
7、将协议特征结果发送给应用层协议特征周期性更新模块,通过应用层协议特征周期性更新模块对提取得到的协议特征与特征数据库的协议特征进行比较和更新。
8、对应用层协议信息数据包进行识别
对PPStream.txt中的流量数据包进行识别,将识别结果和流量的统计量(以包或byte为单位)发给应用层协议准确率分析模块。如果在应用层协议信息数据包中找到PPStream的协议特征,则将该数据包标记为1,否则标记为0。
9、分析应用层协议识别结果的准确率
通过应用层协议准确率分析模块对提取得到的应用层协议特征的准确性进行分析,最后将准确率等结果发送到应用层软件识别结果展示模块。对当前捕获得到的PPStream.txt流量,用特征数据库里的PPStream特征识别的准确率为65.1%(该准确率随捕获的网络流量数据包的不同而浮动)。
10、通过应用层软件识别结果展示模块以柱状图、饼图等方式展示识别结果。
本发明的应用层协议特征识别方法可以充分满足实际工程应用的需求,提高了网络协议分析处理的效率和进度,为网络运营商实时监控网络资源、解决网络拥堵问题提供了技术上的支持。
当然,以上所述仅是本发明的一种优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种应用层协议特征的识别方法,包括以下步骤:
(1)捕获待监听的流量数据包,并对捕获的网络流量进行上行网络流量和下行网络流量的分流;
(2)对分流后的网络流量进行预处理,去除上行网络流量和下行网络流量中的每一个流量数据包的链路层、网络层、传输层的头文件信息,只保留应用层数据信息,并且截取所述数据信息中的控制信息部分,形成应用层协议信息数据包;
(3)将上行网络流量的应用层协议信息数据包中的数据信息依次与特征数据库中保存的各个协议的上行网络流量的特征集合进行匹配,若在与某一个特征集合进行匹配的过程中,上行网络的流量数据包协议特征的匹配率高于设定的匹配阈值M,则认为该上行网络的流量数据包为符合该协议特征的数据包;
(4)将下行网络流量的应用层协议信息数据包中的数据信息依次与特征数据库中保存的各个协议的下行网络流量特征集合进行匹配,若在与某一个特征集合进行匹配的过程中,下行网络的流量数据包协议特征的匹配率高于设定的匹配阈值M,则认为该下行网络的流量数据包为符合该协议特征的数据包;
最终,总体网络流量识别率最高的应用层协议,即为当前网络流量所代表的协议。
2.根据权利要求1所述的应用层协议特征的识别方法,其特征在于:在所述步骤(3)和(4)中,若应用层协议信息数据包中的数据信息与特征数据库中的多个特征集合的匹配率均高于设定的匹配阈值M,则选择匹配率最高的特征集合所代表的协议作为当前应用层协议信息数据包的应用层协议。
3.根据权利要求2所述的应用层协议特征的识别方法,其特征在于:所述匹配阈值M在0.2到0.5之间取值。
4.根据权利要求1所述的应用层协议特征的识别方法,其特征在于:在所述步骤(1)中,根据客户端主机的IP地址为源IP地址或目的IP地址对捕获到的网络流量进行分流;如果为从客户端向服务器端发送的流量,则分流为上行网络流量;如果为从服务器端向客户端发送的流量,则分流为下行网络流量。
5.根据权利要求1所述的应用层协议特征的识别方法,其特征在于:在所述步骤(2)中,所述数据信息的截取过程为:
结合控制信息的最大长度设置一个长度阈值L,然后根据设定的长度阈值L对应用层数据信息进行截取,使得形成的每一个应用层协议信息数据包只保留长度为L的数据信息。
6.根据权利要求1所述的应用层协议特征的识别方法,其特征在于:在所述步骤(1)、(2)之间还包括对识别方式进行选择的步骤;若选择在线识别方式,则直接将步骤(1)捕获的流量数据包与特征数据库中保存的各个协议的特征集合进行匹配,以进行协议识别;若选择离线识别方式,则执行步骤(2)、(3)、(4)。
7.根据权利要求6所述的应用层协议特征的识别方法,其特征在于:所述在将步骤(1)捕获的流量数据包直接与特征数据库中保存的各个协议的特征集合进行匹配的过程中,若存在多个特征集合的匹配率均高于设定的匹配阈值M,则选择匹配率最高的特征集合所代表的协议作为当前流量数据包的应用层协议。
8.根据权利要求1至7中任一项所述的应用层协议特征的识别方法,其特征在于:所述特征数据库中的特征集合在每一轮流量数据包的捕获、识别过程中,通过应用层协议特征提取步骤对每一轮流量数据包中的协议特征进行提取,进而对特征数据库中的特征集合进行更新。
9.根据权利要求8所述的应用层协议特征的识别方法,其特征在于:所述应用层协议特征提取步骤包括:
a、提取应用层协议信息数据包中的频繁1项集,所述频繁1项集的长度设定为2的整数倍;
b、采用如下合并过程将频繁k项集合并成候选k+1项集,k≥1:
b1=Lines[x]+Lines[y].substring(Lines[y].length()-1,Lines[y].length());
b2=Lines[y]+Lines[x].substring(Lines[x].length()-1,Lines[x].length());
其中,Lines[x]、Lines[y]分别为第x个和第y个频繁k项集,频繁k项集的长度为LEN;substring(p,q)表示提取从序列的第p位开始到第q位的子序列,b1和b2为得到的候选k+1项集,其长度为LEN+2;
c、计算候选k+1项集的支持度support,提取满足支持度条件support≥minimum_sup的候选k+1项集,作为频繁k+1项集;所述minimum_sup为频繁项集支持度的最小阈值;
d、根据频繁k+1项集,删除频繁k项集中冗余的频繁项集,其过程为:
令fz为一个频繁k+1项集;fx和fy为两个频繁k项集,且fx=fz.substring(1,fz.length()-2),fy=fz.substring(3,fz.length()),那么删除频繁k项集fx和fy
由步骤a、b、c、d获取的各个频繁项集即构成该应用层协议的特征集合,将其与特征数据库中保存的相应协议的特征集合进行比较,如果有新的协议特征产生,则将新的协议特征保存到特征数据库中,完成对特征数据库中该协议的特征集合的更新。
10.根据权利要求9所述的应用层协议特征的识别方法,其特征在于:在获取到当前应用层协议的特征集合后,对所述特征集合进行优化,删除协议特征集合中不具代表性的协议特征和应用层通用的协议特征,然后对特征数据库进行更新。
CN2009102601064A 2009-12-25 2009-12-25 一种应用层协议特征的识别方法 Expired - Fee Related CN101741908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102601064A CN101741908B (zh) 2009-12-25 2009-12-25 一种应用层协议特征的识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102601064A CN101741908B (zh) 2009-12-25 2009-12-25 一种应用层协议特征的识别方法

Publications (2)

Publication Number Publication Date
CN101741908A CN101741908A (zh) 2010-06-16
CN101741908B true CN101741908B (zh) 2012-07-11

Family

ID=42464791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102601064A Expired - Fee Related CN101741908B (zh) 2009-12-25 2009-12-25 一种应用层协议特征的识别方法

Country Status (1)

Country Link
CN (1) CN101741908B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045363B (zh) * 2010-12-31 2013-10-09 华为数字技术(成都)有限公司 网络流量特征识别规则的建立方法、识别控制方法及装置
CN102185762B (zh) * 2011-04-19 2014-04-16 北京网康科技有限公司 用户数据发送行为的识别与提取方法
CN102209032A (zh) * 2011-05-24 2011-10-05 北京网康科技有限公司 一种用户自定义的应用识别方法及其设备
CN102624548B (zh) * 2012-02-29 2016-09-07 大连梯耐德网络技术有限公司 一种双向配置的网络行为监控方法
CN103095718B (zh) * 2013-01-29 2015-07-15 电子科技大学 一种基于Hadoop的应用层协议特征提取方法
CN104105124A (zh) * 2013-04-08 2014-10-15 南京理工大学常熟研究院有限公司 基于Android智能移动终端的流量监测系统
CN104486143B (zh) * 2014-12-01 2018-07-06 中国联合网络通信集团有限公司 一种深度报文检测方法、检测系统
CN104618132B (zh) * 2014-12-16 2018-02-16 北京神州绿盟信息安全科技股份有限公司 一种应用程序识别规则生成方法和装置
CN105007194A (zh) * 2015-05-25 2015-10-28 上海南邮实业有限公司 一种自动识别网络协议的方法
CN105050103B (zh) * 2015-07-20 2018-10-26 大唐移动通信设备有限公司 一种信令流程的识别方法及装置
CN108632100B (zh) * 2015-08-24 2020-11-17 上海天旦网络科技发展有限公司 发现与呈现网络应用访问信息的方法和系统
CN105554152B (zh) * 2015-12-30 2018-10-02 北京神州绿盟信息安全科技股份有限公司 一种数据特征提取的方法及装置
CN105516027B (zh) * 2016-01-12 2019-03-12 北京奇虎科技有限公司 应用识别模型建立方法、流量数据的识别方法及装置
CN105871619B (zh) * 2016-04-18 2019-03-01 中国科学院信息工程研究所 一种基于n-gram多特征的流量载荷类型检测方法
CN105915644B (zh) * 2016-06-17 2019-12-06 北京汉唐自远技术股份有限公司 一种服务器负载均衡方法
CN107508764B (zh) * 2017-07-03 2020-04-10 网宿科技股份有限公司 一种网络数据流量类型识别方法和装置
CN107302474B (zh) * 2017-07-04 2020-02-04 四川无声信息技术有限公司 网络数据应用的特征提取方法及装置
CN107395421B (zh) * 2017-07-27 2020-09-01 浙江宇视科技有限公司 采集方法及系统
CN109492655B (zh) * 2017-09-11 2021-08-06 中国移动通信有限公司研究院 一种特征提取方法、装置及终端
CN109921945A (zh) * 2019-03-21 2019-06-21 深圳壹账通智能科技有限公司 一种无nginx的请求转发在应用层的分流方法及其装置
CN111835542B (zh) * 2019-04-19 2022-02-11 四川大学 一种自动提取及检验用于识别应用程序特征的方法
CN110661683B (zh) * 2019-09-26 2021-07-16 苏州浪潮智能科技有限公司 一种基于pcap格式的文件分析UDP协议的方法及装置
CN112073272B (zh) * 2020-11-11 2021-02-26 北京城市轨道交通咨询有限公司 一种基于指标匹配解析轨道交通数据的方法及装置
CN112583832A (zh) * 2020-12-14 2021-03-30 北京鼎普科技股份有限公司 一种基于dpi的应用层协议识别方法及系统
CN112688924A (zh) * 2020-12-15 2021-04-20 中国海洋大学 网络协议分析系统
CN112751845B (zh) * 2020-12-28 2022-12-02 北京恒光信息技术股份有限公司 网络协议解析方法、系统及装置
CN112968865B (zh) * 2021-01-26 2022-08-02 西安理工大学 一种基于关联规则挖掘的网络协议语法特征快速提取方法
CN115037698B (zh) * 2022-05-30 2024-01-02 天翼云科技有限公司 一种数据识别方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282251A (zh) * 2008-05-08 2008-10-08 中国科学院计算技术研究所 一种应用层协议识别特征挖掘方法
US7583645B2 (en) * 2004-09-01 2009-09-01 Intel Corporation Adaptive MAC architecture for wireless networks
CN101577644A (zh) * 2009-06-16 2009-11-11 华中师范大学 一种对等网络应用流量识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7583645B2 (en) * 2004-09-01 2009-09-01 Intel Corporation Adaptive MAC architecture for wireless networks
CN101282251A (zh) * 2008-05-08 2008-10-08 中国科学院计算技术研究所 一种应用层协议识别特征挖掘方法
CN101577644A (zh) * 2009-06-16 2009-11-11 华中师范大学 一种对等网络应用流量识别方法

Also Published As

Publication number Publication date
CN101741908A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101741908B (zh) 一种应用层协议特征的识别方法
CN101753622B (zh) 一种应用层协议特征的提取方法
CN101707532B (zh) 一种未知应用层协议自动分析方法
CN105871832A (zh) 一种基于协议属性的网络应用加密流量识别方法及其装置
CN111368901A (zh) 基于联邦学习的多方联合建模方法、设备和介质
CN102164049B (zh) 加密流量的普适识别方法
CN108768986A (zh) 一种加密流量分类方法及服务器、计算机可读存储介质
CN1677940A (zh) 高速业务量测量和分析方法及协议
CN112491917B (zh) 一种物联网设备未知漏洞识别方法及装置
CN103746982A (zh) 一种http网络特征码自动生成方法及其系统
CN107426059A (zh) Dpi设备特征库自动更新方法、系统、dpi设备及云端服务器
CN103488683B (zh) 一种微博数据管理系统及其实现方法
CN105302885A (zh) 一种全文数据的提取方法和装置
CN109639655A (zh) 一种智能深度解析系统及解析方法
CN102938764A (zh) 应用识别处理方法及装置
CN115278737B (zh) 一种5g网络的数据采集方法
CN114401097B (zh) 一种基于ssl证书指纹的https业务流量识别的方法
CN105302785B (zh) 数据收集方法和系统
CN1494278A (zh) 一种数据流分类方法
CN102420830A (zh) 一种p2p协议类型识别方法
CN116346483A (zh) 一种加密挖矿行为识别方法及装置
CN101719907B (zh) 基于BitTorrent的被动式载荷信息监测方法
CN107026739B (zh) 短信签名认证方法及装置
CN108259493A (zh) 一种安全协议消息构造方法
CN114143301B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120711

Termination date: 20171225