CN102413007B - 一种深度报文检测方法及设备 - Google Patents
一种深度报文检测方法及设备 Download PDFInfo
- Publication number
- CN102413007B CN102413007B CN201110307573.5A CN201110307573A CN102413007B CN 102413007 B CN102413007 B CN 102413007B CN 201110307573 A CN201110307573 A CN 201110307573A CN 102413007 B CN102413007 B CN 102413007B
- Authority
- CN
- China
- Prior art keywords
- message
- data
- packet
- application
- fuzzy
- 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
Abstract
本发明实施例公开了一种深度报文检测方法及设备,用于网络通信和数据挖掘领域,所述方法包括:以报文所携带的应用数据为输入,计算得出所述报文的指纹,并与一个预设的指纹进行汉明距离比较,得到模糊判断的结果;同时以报文头部及应用层协议参数的特征集合,计算获得所述报文的哈希值,并与一个预设的特征值进行比较,得到精确判断的结果;分别根据所述模糊判断和精确判断的结果,和预先设定的数据规则,进行相应的数据挖掘操作。通过本发明实施例,实现将深度报文检测的覆盖范围扩展到报文应用层数据,实现模糊判断,并提高报文检测的效率,降低报文检测的时延,防止包丢失或数据丢失。
Description
技术领域
本发明涉及通信技术领域,具体地说更涉及一种深度报文检测方法及设备。
背景技术
DPI(深度报文检测,Deep Packet Inspection)是指对TCP/IP包超出报文头部的部分进行多维分析,包括报文数据分析、流分析和应用行为分析等等。相对于深度报文检测,传统的“浅度”包检测只能够识别IP地址、IP数据段长度、TCP流系列号等网络协议报头数据。而深度报文检测则通过对应用层的协议数据进行分析,可以检测到一个IP数据段所属的应用,比如网页浏览,并由此触发针对应用的动作。
但对于应用的内容(比如一个网页的内容)的高效分析,现有深度报文检测技术中尚不能很好的解决,原因如下:
首先,现有的深度报文检测方法,其数据挖掘的操作通常对不同的报文特征组合采取不同的动作,或仅仅对特定的报文特征组合采取一定的动作。这里所述的报文特征组合可以包括:源IP地址,目的IP地址,源端口号,目的端口号,报文长度,应用层协议(如HTTP)参数内容等等。而由于一个特征组合中任意一个特征的不同取值就意味着不同的数据挖掘操作(如收集或忽略),现有深度报文检测方法需要针对一个特征集合中每个特征在一个报文中的取值进行逐个比较分析,最终判断对此报文应该采取什么样的操作,这样的串行判断引入了额外的处理时延开销。如果将该数据挖掘方法应用于一个高负载网络的网关或交换机中,这些额外的处理时延开销将在此网关或交换机中造成拥塞,从而导致掉包或数据丢失。
另外,现有的深度报文检测在获得一个报文从MAC层到应用层的多个特征参数的取值后,对这些特征值的集合进行精确判断,并据此触发相应的数据挖掘操作,比如对{源IP地址,端口号}为{192.168.0.1,123}的报文执行路由重定向操作。而由于报文的数据通常并不存在一个精确的指标(比如一个网页的内容)供深度报文检测进行精确判断,因此,现有深度报文检测技术对报文的处理范畴只能最多深入到应用层的协议参数,这就大为限制了深度报文检测的应用范围。
发明内容
本发明实施例的目的是为了克服目前深度报文检测技术的不足,从而提出另一种深度报文检测方法及设备,以将深度报文检测的内容扩展到报文应用层数据,并提高报文检测的效率,降低报文检测的时延,防止包丢失或数据丢失。
为了达到上述发明目的,本发明实施例提出的一种深度报文检测方法是通过以下技术方案实现的:
一种深度报文检测方法,所述方法包括:
以报文所携带的应用数据为输入,计算得出所述报文的指纹,并与一个预设的指纹进行汉明距离比较,得到模糊判断的结果;
同时以所述报文头部及应用层协议参数的特征集合,计算获得所述报文的哈希值,并与一个预设的特征值进行比较,得到精确判断的结果;
分别根据所述模糊判断和精确判断的结果,和预先设定的数据规则,进行相应的数据挖掘操作。
为了实现前述发明目的,本发明实施例还提出了一种深度报文检测设备,所述深度报文检测设备是通过以下的技术方案实现的:
一种深度报文检测设备,所述设备包括:
交换平面,用于将从网口收到的报文转发给应用识别模块处理;
应用识别模块,用于接收所述报文,并对所述报文进行运用分类,并按照预先配置的识别规则,将需要深度检测的报文,转发给模糊并行判断模块;
模糊并行判断模块,用于处理来自应用识别模块的报文,对报文头部或应用层协议参数进行hash计算,并从报文的应用数据中提取报文指纹,并将提取到的特征组合与一个预设的特征组合并行进行精确判断和模糊判断;
数据规则表,用于存储所述精确判断和模糊判断的结果的不同组合所对应的数据挖掘操作。
本发明实施例通过提供一种深度报文检测方法及设备,进行高效的深度报文检测,实现对流经该设备的、属于特定应用的网络报文数据进行模糊并行判断,并根据判断结果执行复制,重定向,分析,统计,修改等数据挖掘相关操作。相比于现有的深度报文检测技术,本发明实施例将深度报文检测的覆盖范围扩展到报文的应用数据,并进行数据相似度比较,进行高效的模糊判断并根据判断结果执行相应的数据挖掘操作;另外,并行进行对报文头部的多维分析以及报文内容的模糊判断,从而显著降低了对IP报文进行深度报文检测所需要的延时。
附图说明
通过下面结合附图对其示例性实施例进行的描述,本发明上述特征和优点将会变得更加清楚和容易理解。
图1为本发明实施例一种深度报文检测方法流程图;
图2为本发明实施例深度报文检测模糊判断和精确判断的实施示意图;
图3为本发明实施例一种深度报文检测设备的示意图;
图4为本发明实施例另一种深度报文检测设备的组成示意图;
图5为本发明实施例深度报文检测设备应用时钟同步的实施示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1所示,为本发明实施例一种深度报文检测方法,所述方法包括:
S101.以报文所携带的应用数据为输入,计算得出所述报文的指纹,并与一个预设的指纹进行汉明距离比较,得到模糊判断的结果;
S102.同时以报文头部及应用层协议参数的特征集合,计算获得所述报文的哈希值,并与一个预设的值进行比较,得到精确判断的结果;
S103.分别根据所述模糊判断和精确判断的结果,和预先设定的数据规则,进行相应的数据挖掘操作。
如图2所示,作为本发明的一种实施方式,本发明实施例所揭示的模糊并行判断的深度报文检测方法利用现有的文本相似度比较技术,比如simhash[1][2]或shingling[3]技术,以一个报文所携带的应用数据为输入,计算提取一个报文指纹,并与一个预设的指纹进行汉明距离比较,从而实现模糊判断。而对于报文头部及应用层协议参数的特征集合则采取普通的哈希(Hash)算法计算,获得一个哈希值,并也与一个预设的值进行比较,实现精确判断。
这样,多个特征参数的计算比较(精确判断)与多个字节的报文内容的相似度比较(模糊判断)同时进行,从而实现并行判断。
具体说来,本发明实施例提出的基于模糊并行判断的深度报文检测方法的关键步骤如下:
1、预先设定一个特征组合作为执行某次数据挖掘操作的比较标准,比如报文IP地址为192.168.0.1,报文内容接近于”She is nice”;
2、对预设的特征组合分别进行Hash和Simhash(或类似的算法)操作,获得特征值h0和f0。其中h0用来作为精确判断(比如”报文IP地址为192.168.0.1”)的比较标准。f0作为模糊判断的比较标准,比如对于任何与f0的汉明距离(Hamming Distance)小于等于3的报文指纹,其代表的报文内容都视为接近于”She is nice”,其中,汉明距离可以灵活根据实际应用设置,并不限于3;
3、对每个输入的报文进行跟步骤2类似的哈希算法计算,得出输入报文的特征值h1和f1;
4、将从每个输入报文上所产生的对应特征值组合与预设的特征组合并行进行精确判断(即对h1,h0进行简单的大于,小于,等于等逻辑判断)和模糊判断(即对f1,f0进行求汉明距离计算-HD(f1,f0))
5、根据判断结果实现不同的数据挖掘操作。如图2所示,对输入报文N-1进行并行的精确和模糊判断后所对应的为数据挖掘操作1;而对输入报文N,由于其报文指纹f1相对于预设特征指纹的汉明距离大于3,进行并行的精确和模糊判断后所对应的为数据挖掘操作2。
作为模糊判断的判断标准,汉明距离代表的是一个可根据具体应用改变的指标,图2中的HD(f1,f0)<=3只是一个示例,实际应用中可根据不同的报文内容相似度的定义而做不同设置。
本发明实施例通过提供一种深度报文检测方法,进行高效的深度报文检测,实现对流经该设备的、属于特定应用的网络报文数据进行模糊并行判断,并根据判断结果执行复制、重定向、分析、统计、修改等数据挖掘相关操作。相比于现有的深度报文检测技术,本发明实施例将深度报文检测的覆盖范围扩展到报文的应用数据,并进行数据相似度比较,进行高效的模糊判断并根据判断结果执行相应的数据挖掘操作;另外,并行进行对报文头部的多维分析以及报文内容的模糊判断,从而显著降低了对IP报文进行深度报文检测所需要的延时。
另外,如图3所示,本发明实施例还提供了一种深度报文检测设备,所述设备包括:
交换平面,用于将从网口收到的报文转发给应用识别模块处理;
应用识别模块,用于接收所述报文,并对所述报文进行运用分类,并按照预先配置的识别规则,将需要深度检测的报文,转发给模糊并行判断模块;
模糊并行判断模块,用于处理来自应用识别模块的报文,对报文头部或应用层协议参数进行hash计算,并从报文的应用数据中提取报文指纹,并将提取到的特征组合与一个预设的特征组合并行进行精确判断和模糊判断;
数据规则表,用于存储所述精确判断和模糊判断的结果的不同组合所对应的数据挖掘操作。
如图3所示为本发明的一个具体实施实例,该实施例可以作为一个具有深度报文检测功能,通过多个Gbit网络接口以局域网(LAN)或广域网(WAN)链接的2-7层报文转发设备,所具有的主要模块说明如下:
交换平面100将从RX接口接收到的报文转发给应用识别模块101处理,对于从各TX接口输入的报文则根据报文的MAC或IP地址转发往一个Gbit网口。
应用识别模块101从RX接口输入报文,并采用普通的深度报文检测应用识别技术,对报文进行运用分类。然后按照一个可配置的规则,对一部分应用(如FTP下载)的报文不做后续处理,而直接通过TX接口返回给交换平面100。如果是一些重点观察运用(如http web浏览)的报文,则转发给模糊并行判断模块102。
模糊并行判断模块102处理来自应用识别模块101的报文,按照前述深度报文检测方法所描述的过程,对报文头部或应用层协议参数进行hash计算,并从报文内容中提取报文指纹(采用simhash或类似方法),并将提取到的特征组合与一个预设的特征组合并行进行精确判断和模糊判断。
数据规则表103用来存储不同的精确判断和模糊判断结果的不同组合所对应的数据挖掘操作,模糊并行判断模块102输出的精确和模糊判断结果在此模块映射为不同的操作,比如报文重定向,报文拷贝等。
数据挖掘操作模块104则执行数据规则表103所输出的不同操作。
进一步优选地,该设备还包括主控模块105,通过一个高速数据通道如PCIE总线,和101-104模块交互,用于自定义或实时配置运用识别规则,并行模糊判断的预设特征组合,数据规则表及其映射的数据挖掘操作。
本发明实施例通过提供一种深度报文检测设备,进行高效的深度报文检测,实现对流经该设备的、属于特定应用的网络报文数据进行模糊并行判断,并根据判断结果执行复制、重定向、分析、统计、修改等数据挖掘相关操作。相比于现有的深度报文检测技术,本发明实施例将深度报文检测的覆盖范围扩展到报文的应用数据,并进行数据相似度比较,进行高效的模糊判断并根据判断结果执行相应的数据挖掘操作;另外,并行进行对报文头部的多维分析以及报文内容的模糊判断,从而显著降低了对IP报文进行深度报文检测所需要的延时。
如图5所示,为本发明实施例深度报文检测设备应用于时钟同步的协同操作,增加IEEE1588时钟同步模块200,时钟同步模块200与网络中的IEEE1588主时钟203按照IEEE1588协议[4]通过时钟同步报文进行交互,从而实现微妙级别的分布式精确时间同步。时钟同步模块200可以为所述深度报文检测设备的数据挖掘操作模块104提供高精度的时间戳。
根据时钟同步报文在上一个深度报文检测设备(201)接受数据挖掘操作的高精度时间戳,下游深度报文检测设备(202)在这个报文进行处理时,可以根据已经同步了的本地时间,进行与时间相关的各项操作,比如进行201->202的单向报文传播延时测量,支持限定时间间隔的对同一报文的数据挖掘操作,或者根据上一次操作的类型和发生的时间,确定在当前时间所要进行的操作。
另外,本发明实施例还可以运用在网络防火墙,网络入侵检测,网络单向延时测量,互联网用户行为分析系统,互联网应用识别及数据统计分析等领域中,以实现网络报文的应用分析,提高报文转发效率。
本发明所属领域的一般技术人员可以理解,本发明以上实施例仅为本发明的优选实施例之一,为篇幅限制,这里不能逐一列举所有实施方式,任何可以体现本发明权利要求技术方案的实施,都在本发明的保护范围内。
需要注意的是,以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,在本发明的上述指导下,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形落在本发明的保护范围内。
Claims (9)
1.一种深度报文检测方法,其特征在于,所述方法包括:
以报文所携带的应用数据为输入,计算得出所述报文的指纹,并与一个预设的指纹进行汉明距离比较,得到模糊判断的结果;
同时以报文头部及应用层协议参数的特征集合,计算获得所述报文的哈希值,并与一个预设的特征值进行比较,得到精确判断的结果;
分别根据所述模糊判断和精确判断的结果,和预先设定的数据规则,进行相应的数据挖掘操作;
所述预先设定的数据规则存储于一数据规则表中,所述数据规则表存储所述精确判断和模糊判断的结果的不同组合所对应的不同数据挖掘操作。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
对所述的应用数据进行Simhash计算,获得报文指纹,并与所述由报文头部及应用层协议参数计算而来的哈希值作为一个特征组合,作为执行数据挖掘操作的判断依据。
3.如权利要求2所述的方法,其特征在于,所述汉明距离根据应用报文的内容相似度设置。
4.如权利要求1至3任意一项所述的方法,其特征在于,所述报文包括同步时钟报文,所述同步时钟报文用来同步本地时间,并根据所述同步时钟报文的模糊判断和精确判断的结果,进行与时间相关的预定操作。
5.如权利要求4所述的方法,其特征在于,所述同步本地时间具体包括:
利用一时钟同步模块,与网络中的IEEE1588主时钟根据IEEE1588协议通过所述时钟同步报文进行本地时间的同步。
6.一种深度报文检测设备,其特征在于,所述设备包括:
交换平面,用于将从网口收到的报文转发给应用识别模块处理;
应用识别模块,用于接收所述报文,并对所述报文进行运用分类,并按照预先配置的识别规则,将需要深度检测的报文,转发给模糊并行判断模块;
模糊并行判断模块,用于处理来自应用识别模块的报文,对报文头部或应用层协议参数进行hash计算,并从报文的应用数据中提取报文指纹,并将提取到的特征组合与一个预设的特征组合并行进行精确判断和模糊判断;
数据规则表,用于存储所述精确判断和模糊判断的结果的不同组合所对应的数据挖掘操作。
7.如权利要求6所述的设备,其特征在于,所述设备还包括:
主控模块,用于自定义或实时配置所述识别规则,并行模糊判断的预设特征组合,数据规则表及其映射的数据挖掘操作。
8.如权利要求7所述的设备,其特征在于,所述设备还包括:
数据挖掘操作模块,用于执行数据规则表所输出的数据挖掘操作。
9.如权利要求6至8任意一项所述的设备,其特征在于,所述设备还包括:
时钟同步模块,用来与网络中的IEEE1588主时钟根据IEEE1588协议通过所述报文进行本地时间的同步,为所述数据挖掘操作模块提供时间戳,其中,所述报文为时钟同步报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110307573.5A CN102413007B (zh) | 2011-10-12 | 2011-10-12 | 一种深度报文检测方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110307573.5A CN102413007B (zh) | 2011-10-12 | 2011-10-12 | 一种深度报文检测方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102413007A CN102413007A (zh) | 2012-04-11 |
CN102413007B true CN102413007B (zh) | 2014-03-26 |
Family
ID=45914869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110307573.5A Expired - Fee Related CN102413007B (zh) | 2011-10-12 | 2011-10-12 | 一种深度报文检测方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102413007B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104484B (zh) * | 2019-12-19 | 2021-09-03 | 南京中孚信息技术有限公司 | 文本相似度检测方法、装置及电子设备 |
CN111835660A (zh) * | 2020-07-24 | 2020-10-27 | 西安翻译学院 | 一种深度数据包检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845066A (zh) * | 2006-05-16 | 2006-10-11 | 北京启明星辰信息技术有限公司 | 一种自动协议识别方法及系统 |
CN1882984A (zh) * | 2003-11-18 | 2006-12-20 | 皇家飞利浦电子股份有限公司 | 通过匹配取得的指纹来匹配数据对象 |
CN101247281A (zh) * | 2008-03-21 | 2008-08-20 | 华为技术有限公司 | 一种协议报文的检测方法、系统及设备 |
-
2011
- 2011-10-12 CN CN201110307573.5A patent/CN102413007B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1882984A (zh) * | 2003-11-18 | 2006-12-20 | 皇家飞利浦电子股份有限公司 | 通过匹配取得的指纹来匹配数据对象 |
CN1845066A (zh) * | 2006-05-16 | 2006-10-11 | 北京启明星辰信息技术有限公司 | 一种自动协议识别方法及系统 |
CN101247281A (zh) * | 2008-03-21 | 2008-08-20 | 华为技术有限公司 | 一种协议报文的检测方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102413007A (zh) | 2012-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102202064B (zh) | 基于网络数据流分析的木马通信行为特征提取方法 | |
Van Tu et al. | Towards ONOS-based SDN monitoring using in-band network telemetry | |
CN102315974B (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN1953392B (zh) | 异常通信量的检测方法和数据包中继装置 | |
US20120182891A1 (en) | Packet analysis system and method using hadoop based parallel computation | |
Castanheira et al. | Flowstalker: Comprehensive traffic flow monitoring on the data plane using p4 | |
KR20110070464A (ko) | 트래픽 수집장치, 트래픽 분석장치, 시스템 및 그 분석방법 | |
US9992081B2 (en) | Scalable generation of inter-autonomous system traffic relations | |
CN102299863B (zh) | 一种网络流量聚类的方法及其设备 | |
CN105359472A (zh) | 一种用于OpenFlow网络的数据处理方法和装置 | |
CN102413007B (zh) | 一种深度报文检测方法及设备 | |
CN104734905A (zh) | 检测数据流的方法及装置 | |
CN104079452A (zh) | 一种数据监测技术和分类网络流量异常的方法 | |
JPWO2015075862A1 (ja) | ネットワーク制御装置、ネットワーク制御方法およびプログラム | |
CN103905184A (zh) | 经典网络融入量子保密通信网络流量控制方法 | |
CN104009888A (zh) | 综合报文和流的二维网络活跃节点测量方法 | |
KR20120085400A (ko) | 하둡 기반 병렬 연산에 의한 패킷분석 시스템 및 방법 | |
KR100862727B1 (ko) | 트래픽 분석 방법 및 그 시스템 | |
Kong et al. | A novel botnet detection method based on preprocessing data packet by graph structure clustering | |
Biddut et al. | On the analysis of RED algorithm in ZigBee network for queue management | |
Choi et al. | An integrated method for application-level internet traffic classification | |
Park et al. | A lightweight software model for signature-based application-level traffic classification system | |
CN102801634A (zh) | 一种三位一体网络流量智能识别方法 | |
CN103457949B (zh) | 一种基于sFlow的大规模网络安全分析方法 | |
Alhamed et al. | P4 Telemetry collector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
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: 20140326 Termination date: 20171012 |