CN105991373A - 一种应用协议识别方法及装置 - Google Patents

一种应用协议识别方法及装置 Download PDF

Info

Publication number
CN105991373A
CN105991373A CN201510220668.1A CN201510220668A CN105991373A CN 105991373 A CN105991373 A CN 105991373A CN 201510220668 A CN201510220668 A CN 201510220668A CN 105991373 A CN105991373 A CN 105991373A
Authority
CN
China
Prior art keywords
protocol
application protocol
application
analyzed
identification
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
CN201510220668.1A
Other languages
English (en)
Other versions
CN105991373B (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201510220668.1A priority Critical patent/CN105991373B/zh
Publication of CN105991373A publication Critical patent/CN105991373A/zh
Application granted granted Critical
Publication of CN105991373B publication Critical patent/CN105991373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)

Abstract

本申请提供一种应用协议识别方法及装置,应用于网络设备上,该方法包括:接收业务报文;确定所述业务报文中包含的多个应用协议特征;获取每一个应用协议特征对应的待分析应用协议的协议层次;根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。本申请有效提高了应用协议识别的准确率。

Description

一种应用协议识别方法及装置
技术领域
本申请涉及网络通信技术领域,尤其涉及一种应用协议识别方法及装置。
背景技术
在现有网络设备中,基于具体应用的控制功能越来越多,要想实现这些控制功能,首先需要对应用协议进行识别。目前,应用协议的识别方法主要包括:特征匹配,固定端口查询,协商节点查询,硬编码解析等。通过上述识别方法对网络流量进行深度检测,可以识别出各种应用协议,但这些方法可能同时识别出多种应用协议,也可能出现应用协议的误识别,识别准确率不高,从而导致错误的控制。
发明内容
有鉴于此,本申请提供一种应用协议识别方法及装置。
具体地,本申请是通过如下技术方案实现的:
本申请提供一种应用协议识别方法,应用于网络设备上,该方法包括:
接收业务报文;
确定所述业务报文中包含的多个应用协议特征;
获取每一个应用协议特征对应的待分析应用协议的协议层次;
根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。
本申请提供一种应用协议识别装置,应用于网络设备上,该装置包括:
接收单元,用于接收业务报文;
确定单元,用于确定所述业务报文中包含的多个应用协议特征;
获取单元,用于获取每一个应用协议特征对应的待分析应用协议的协议层次;
识别单元,用于根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。
由以上描述可以看出,本申请首先根据业务报文中的应用协议特征确定可能存在的应用协议,再对初步确定的应用协议根据协议层次进行分析,最终识别业务报文真正对应的应用协议。本申请通过不同协议层次之间的协议关联性,可推导出各协议层次的应用协议,有效提高了应用协议识别的准确率。
附图说明
图1是本申请一示例性实施例示出的一种应用协议识别方法流程图;
图2是本申请一示例性实施例示出的一种应用协议识别装置所在设备的基础硬件结构示意图;
图3是本申请一示例性实施例示出的一种应用协议识别装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在现有网络设备中,基于具体应用的控制功能越来越多,如基于应用的访问控制,基于应用的限速,基于应用的带宽保证等等。要想实现这些控制功能,首先需要对应用协议进行识别。目前,应用协议的识别方法主要包括:特征匹配,固定端口查询,协商节点查询,硬编码解析等。通过上述识别方法对网络流量进行深度检测,可以识别出各种应用协议,但这些方法可能同时识别出多种应用协议,也可能出现应用协议的误识别,识别准确率不高,从而导致错误的控制。
针对上述问题,本申请实施例提出一种应用协议识别方法,该方法首先根据业务报文中的应用协议特征确定可能存在的应用协议,再对初步确定的应用协议根据协议层次进行分析,最终准确识别业务报文对应的应用协议。
参见图1,为本申请应用协议识别方法的一个实施例流程图,该实施例对应用协议识别过程进行描述。
步骤101,接收业务报文。
网络设备在接收到业务报文后进行会话匹配,判断当前是否已存在与该业务报文匹配的会话表项。
当不存在与该业务报文匹配的会话表项时,新建该业务报文的会话表项,并识别该业务报文对应的基础协议。此处的基础协议是一个相对概念,意指通过简单的报文解析即可识别的协议,例如,通过知名端口号识别协议,该识别方法无需对报文进行深度检测。
在识别出基础协议后,将识别出的各个协议层次(遵循网络七层协议的规定)的基础协议的协议标识添加到新建的会话表项中,例如,IP(InternetProtocol,网际协议)/TCP(Transmission Control Protocol,传输控制协议)/HTTP(Hyper Text Transfer Protocol,超文本传输协议),其中,IP为3层协议,TCP为4层协议,HTTP为5层协议。
在后续应用协议识别过程中,会话表项中的协议内容会不断更新,具体参见后续描述。
步骤102,确定所述业务报文中包含的多个应用协议特征。
在网络设备中,预先设置一个应用协议特征库,该应用协议特征库中保存所有需要识别的应用协议的协议特征,以下简称应用协议特征。
当网络设备接收到业务报文时,根据预设的特征匹配算法(采用现有的特征匹配算法即可,在此不再赘述)对业务报文进行深度特征检测,找到与应用协议特征库中保存的应用协议特征匹配的报文内容,从而初步确定该业务报文中可能包含的几种应用协议特征。但是上述应用协议特征未必是真实的应用协议特征,因此,还需进一步筛选和过滤。
步骤103,获取每一个应用协议特征对应的待分析应用协议的协议层次。
对步骤102中获取的每一个应用协议特征进行如下处理:
在前述提到的应用协议特征库中不但保存了所有需要识别的应用协议的应用协议特征,还保存了应用协议特征与应用协议标识的对应关系,该应用协议标识可以是唯一代表该应用协议的特定字符串,因此,本申请可以从应用协议特征库中获取应用协议特征对应的应用协议标识,初步确定业务报文可能对应的几种应用协议,以下将初步确定的应用协议称为待分析应用协议。
为了实现对待分析应用协议的进一步识别,本申请实施例预先配置了应用协议配置表,该应用协议配置表中的每一个应用协议配置表项保存应用协议标识与协议层次的对应关系,例如,应用协议标识为HTTP下载文件协议(为了便于理解,本申请实施例中直接采用应用协议名称作为应用协议标识),对应协议层次为6。
本申请实施例通过查询应用协议配置表获取配置表中应用协议标识与待分析应用协议的应用协议标识一致的应用协议配置表项,从而获取待分析应用协议的协议层次。
步骤104,根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。
本步骤中,根据获取的待分析应用协议的协议层次对待分析应用协议进行分类,按照协议层次从低到高的顺序对不同协议层次中的待分析应用协议进行分析,以确定业务报文的不同协议层次对应的应用协议。
首先,按照协议层次从低到高的顺序选择一个未进行过协议识别的协议层次。由于在后续协议识别过程中要根据父协议(相邻协议层次的协议中,低协议层次的协议为高协议层次的协议的父协议)进行协议分析,因此,应按照协议层次从低到高的顺序,先确定低协议层次的应用协议,从而作为高协议层次进行应用协议识别的基础。
在选择出当前需要进行应用协议识别的协议层次后,对当前协议层次中的每一个待分析应用协议执行下述操作。
选择一个未分析过的待分析应用协议,获取该待分析应用协议的父协议的标识,简称父协议标识,其中,父协议为待分析应用协议的下一层协议。具体为,在前述描述中已提到,应用协议特征库中保存了应用协议特征和应用协议标识的对应关系,因此,可根据待分析应用协议的应用协议特征从应用协议特征库中获取对应的应用协议标识。再根据待分析应用协议的应用协议标识查询应用协议配置表,找到应用协议标识与待分析应用协议标识一致的应用协议配置表项,该应用协议配置表项中除了前述描述提到的保存了应用协议标识与协议层次的对应关系,还保存了应用协议的父协议标识,因此,通过查询应用协议配置表可获得待分析应用协议的父协议标识。
判断待分析应用协议的父协议标识是否与业务报文对应会话表项中的与待分析应用协议的父协议处于同一协议层次的协议标识一致。当待分析应用协议的父协议标识与会话表项中同一协议层次的协议标识一致时,将该待分析应用协议作为该协议层次的候选应用协议。
判断同一协议层次中每一个待分析应用协议是否均已进行过协议分析,若否,则从当前协议层次中继续选择未进行协议分析的待分析应用协议执行上述分析过程。
当同一协议层次内所有待分析应用协议都已完成协议分析后,可能获得多个候选应用协议,此时,可从获取的多个候选应用协议中选择一个候选应用协议作为业务报文当前协议层次的应用协议。本申请实施例中,根据应用协议的协议优先级确定业务报文对应的应用协议,其中,协议优先级通常根据应用协议的使用频率结合应用场景等,由管理员根据经验数据进行设置。具体为,在预设的应用协议配置表项中除了配置应用协议标识、协议层次以及父协议的对应关系,还包括应用协议的协议优先级。当存在多个候选应用协议时,可根据候选应用协议的应用协议特征从协议特征库中获取候选应用协议的应用协议标识,再根据应用协议标识查询对应的应用协议配置表项,获取候选应用协议的协议优先级。比较所有候选应用协议的协议优先级,选择协议优先级最高的候选应用协议作为业务报文在当前协议层次对应的应用协议。
当识别出当前协议层次的应用协议后,更新业务报文对应的会话表项。若会话表项中不存在当前协议层次的协议标识,直接将识别出的应用协议的标识添加到会话表项中;若会话表项中已存在当前协议层次的协议标识,则使用当前识别出的应用协议标识替换掉已有协议标识。
在完成上述当前协议层次的应用协议识别后,判断是否还有其它未进行协议识别的协议层次,即是否每一个协议层次均已进行过协议识别,若否,则按照协议层次从低到高的顺序继续选择一个未进行协议识别的协议层次,对选择的协议层次执行上述协议识别过程。在完成了所有协议层次的协议识别后,即完成了当前业务报文的协议识别。
由上述描述可以看出,本申请提出一种基于协议层次的协议识别方法,通过不同协议层次之间的协议关联性,可推导出各协议层次的应用协议,有效提高了应用协议识别的准确率。
现以HTTP下载文件应用为例说明应用协议识别过程。
假设,客户端设备向服务器发送HTTP下载文件请求。网络设备(例如,基于应用的防火墙设备)接收到该HTTP下载文件请求后建立会话表项,并基于HTTP下载文件请求中的端口号识别基础协议。假设,服务器并未使用HTTP协议的知名端口号80,而是使用端口号4000,则网络设备只能识别出3层的IP协议和4层的TCP协议,无法识别出HTTP协议。网络设备将识别出的基础协议(IP/TCP)添加到会话表项中,参见表1。
源IP地址 目的IP地址 源端口号 目的端口号 协议标识
196.168.2.6 220.10.11.3 3000 4000 IP/TCP
表1
当后续接收到与该会话表项匹配的报文时,进行报文特征匹配。具体为,在网络设备中预存应用协议特征库,保存应用协议特征与应用协议标识的对应关系,参见表2。
应用协议特征 应用协议标识
HTTP-base HTTP协议
HTTP-download HTTP下载文件协议
Protocol51 应用协议51
Protocol52 应用协议52
Protocol61 应用协议61
Protocol62 应用协议62
表2
表2仅是应用协议特征与应用协议标识对应关系的一种示例,并不代表真实的应用协议。
当接收到HTTP下载文件报文时,查询到匹配的会话表项(表1)。对HTTP下载文件报文的报文内容进行解析,与应用协议特征库中的应用协议特征进行匹配。假设,HTTP下载文件报文中包含“HTTP-base”字符串,则与表2所示应用协议特征库匹配后,初步确定HTTP下载文件报文中包含HTTP协议。以此类推,找到所有HTTP下载文件报文中可能包含的应用协议。假设,初步确定HTTP下载文件报文中包含表2中的所有应用协议,将初步确定的应用协议称为待分析应用协议。
对上述待分析应用协议进行排查和筛选。具体为,在网络设备中,还会预存一张应用协议配置表,参见表3。
应用协议标识 协议层次 父协议 协议优先级
HTTP协议 5 TCP 7
HTTP下载文件协议 6 HTTP协议 7
应用协议51 5 TCP 5
应用协议52 5 UDP 6
应用协议61 6 HTTP协议 5
应用协议62 6 SMTP 6
表3
根据待分析应用协议的应用协议标识查询表3,获取待分析应用协议的协议层次,按照协议层次进行分类,即协议层次为5的待分析应用协议包括HTTP协议、应用协议51以及应用协议52;协议层次为6待分析应用协议包括HTTP下载文件协议、应用协议61以及应用协议62。
对每一个协议层次进行应用协议识别。首先识别协议层次5对应的应用协议,具体为,对协议层次5内的每一个待分析应用协议进行协议分析,最终确定该协议层次对应的应用协议。首先对HTTP协议进行协议分析,查询表3,获知HTTP协议的父协议为TCP,查询会话表项(表1),可知当前会话表项的4层协议为TCP与HTTP协议的父协议一致,因此,进一步确定HTTP协议为该协议层次对应应用协议的概率极大,将HTTP协议作为候选应用协议。以此类推,通过父协议比对可知,应用协议51也可作为候选应用协议;应用协议52的父协议(UDP)由于与会话表项中的4层协议TCP不一致,因此,可以排除应用协议52,其不可能是当前报文5层的应用协议。
从上述协议分析过程可知,5层存在两个候选应用协议HTTP协议和应用协议51,此时,可通过预设的协议优先级进行识别。假设数值越大代表的协议优先级越高,则通过查询表3,可知HTTP协议的协议优先级高于应用协议51,因此,可确定HTTP协议为当前报文5层的应用协议。将该应用协议的标识添加到会话表项中,参见表4。
源IP地址 目的IP地址 源端口号 目的端口号 协议标识
196.168.2.6 220.10.11.3 3000 4000 IP/TCP/HTTP
表4
对协议层次6进行应用协议识别,协议层次6的待分析应用协议包括:HTTP下载文件协议、应用协议61以及应用协议62。根据父协议比对,HTTP下载文件协议和应用协议61的父协议为HTTP协议与会话表项(表4)中的5层协议一致,因此,HTTP下载文件协议和应用协议61为候选应用协议。由于HTTP下载文件协议的协议优先级高于应用协议61的协议优先级,因此,HTTP下载文件协议为当前报文6层的应用协议,完成当前报文的应用协议识别。
与前述应用协议识别方法的实施例相对应,本申请还提供了应用协议识别装置的实施例。
本申请应用协议识别装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图2所示,为本申请应用协议识别装置所在设备的一种硬件结构图,除了图2所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图3,为本申请一个实施例中的应用协议识别装置的结构示意图。该应用协议识别装置包括接收单元301、确定单元302、获取单元303以及识别单元304,其中:
接收单元301,用于接收业务报文;
确定单元302,用于确定所述业务报文中包含的多个应用协议特征;
获取单元303,用于获取每一个应用协议特征对应的待分析应用协议的协议层次;
识别单元304,用于根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。
进一步地,
所述获取单元303,具体用于从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与协议层次的对应关系;获取所述待分析应用协议的协议层次。
进一步地,所述应用协议识别装置,还包括:
建立单元,用于在所述确定单元302确定所述业务报文中包含的多个应用协议特征之前,判断是否存在与所述业务报文匹配的会话表项,所述会话表项中保存已识别出的各协议层次的协议标识;当不存在与所述业务报文匹配的会话表项时,新建所述业务报文的会话表项,并识别出所述业务报文的基础协议,将识别出的基础协议的协议标识添加到新建的会话表项中;
所述识别单元304,包括:
层次选择模块,用于按照协议层次从低到高的顺序选择一个未进行协议识别的协议层次;
协议选择模块,用于选择一个未分析过的待分析应用协议;
父协议获取模块,用于获取选择的待分析应用协议的父协议的父协议标识,所述父协议为所述待分析应用协议的下一层协议;
父协议判断模块,用于判断所述父协议标识是否与所述会话表项中与所述父协议处于同一协议层次的协议标识一致;
候选协议确定模块,用于当所述父协议标识与所述会话表项中与所述父协议处于同一协议层次的协议标识一致时,将所述待分析应用协议作为候选应用协议;
分析判断模块,用于判断同一协议层次中每一个待分析应用协议是否均已执行协议分析操作,若否,执行协议选择模块;
应用协议选择模块,用于从获取的多个候选应用协议中选择一个候选应用协议作为所述业务报文对应协议层次的应用协议;
表项更新模块,用于根据选择的所述业务报文的应用协议更新所述会话表项中对应协议层次的协议标识;
识别判断模块,用于判断是否对每一个协议层次均已进行协议识别,若否,执行层次选择模块。
进一步地,
所述父协议获取模块,具体用于从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与对应父协议标识的对应关系;获取所述待分析应用协议的父协议标识。
进一步地,
所述应用协议选择模块,具体用于当存在多个候选应用协议时,根据每一个候选应用协议的应用协议标识从对应应用协议配置表项中获取候选应用协议的协议优先级,所述应用协议配置表项中保存应用协议标识与协议优先级的对应关系,所述候选应用协议的应用协议标识为协议特征库中与所述候选应用协议的应用协议特征匹配的应用协议特征对应的应用协议标识;选择协议优先级最高的候选应用协议为所述业务报文对应的应用协议。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种应用协议识别方法,应用于网络设备上,其特征在于,该方法包括:
接收业务报文;
确定所述业务报文中包含的多个应用协议特征;
获取每一个应用协议特征对应的待分析应用协议的协议层次;
根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。
2.如权利要求1所述的方法,其特征在于,所述获取每一个应用协议特征对应的待分析应用协议的协议层次,包括:
从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系;
从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与协议层次的对应关系;
获取所述待分析应用协议的协议层次。
3.如权利要求1或2所述的方法,其特征在于,所述确定所述业务报文中包含的多个应用协议特征之前,还包括:
判断是否存在与所述业务报文匹配的会话表项,所述会话表项中保存已识别出的各协议层次的协议标识;
当不存在与所述业务报文匹配的会话表项时,新建所述业务报文的会话表项,并识别出所述业务报文的基础协议,将识别出的基础协议的协议标识添加到新建的会话表项中;
所述根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议,包括:
按照协议层次从低到高的顺序选择一个未进行协议识别的协议层次;
对选择的协议层次执行如下协议识别操作:选择一个未分析过的待分析应用协议;获取选择的待分析应用协议的父协议的父协议标识,所述父协议为所述待分析应用协议的下一层协议;判断所述父协议标识是否与所述会话表项中与所述父协议处于同一协议层次的协议标识一致;当所述父协议标识与所述会话表项中与所述父协议处于同一协议层次的协议标识一致时,将所述待分析应用协议作为候选应用协议;
判断同一协议层次中每一个待分析应用协议是否均已执行协议分析操作,若否,返回所述对选择的协议层次执行协议识别操作;
从获取的多个候选应用协议中选择一个候选应用协议作为所述业务报文对应协议层次的应用协议;
根据选择的所述业务报文的应用协议更新所述会话表项中对应协议层次的协议标识;
判断是否对每一个协议层次均已进行协议识别,若否,返回所述按照协议层次从低到高的顺序选择一个未进行协议识别的协议层次。
4.如权利要求3所述的方法,其特征在于,所述获取选择的待分析应用协议的父协议的父协议标识,包括:
从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系;
从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与对应父协议标识的对应关系;
获取所述待分析应用协议的父协议标识。
5.如权利要求3所述的方法,其特征在于,所述从获取的多个候选应用协议中选择一个候选应用协议作为所述业务报文对应协议层次的应用协议,包括:
当存在多个候选应用协议时,根据每一个候选应用协议的应用协议标识从对应应用协议配置表项中获取候选应用协议的协议优先级,所述应用协议配置表项中保存应用协议标识与协议优先级的对应关系,所述候选应用协议的应用协议标识为协议特征库中与所述候选应用协议的应用协议特征匹配的应用协议特征对应的应用协议标识;
选择协议优先级最高的候选应用协议为所述业务报文对应的应用协议。
6.一种应用协议识别装置,应用于网络设备上,其特征在于,该装置包括:
接收单元,用于接收业务报文;
确定单元,用于确定所述业务报文中包含的多个应用协议特征;
获取单元,用于获取每一个应用协议特征对应的待分析应用协议的协议层次;
识别单元,用于根据获取的待分析应用协议的协议层次识别所述业务报文对应的应用协议。
7.如权利要求6所述的装置,其特征在于:
所述获取单元,具体用于从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与协议层次的对应关系;获取所述待分析应用协议的协议层次。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括:
建立单元,用于在所述确定单元确定所述业务报文中包含的多个应用协议特征之前,判断是否存在与所述业务报文匹配的会话表项,所述会话表项中保存已识别出的各协议层次的协议标识;当不存在与所述业务报文匹配的会话表项时,新建所述业务报文的会话表项,并识别出所述业务报文的基础协议,将识别出的基础协议的协议标识添加到新建的会话表项中;
所述识别单元,包括:
层次选择模块,用于按照协议层次从低到高的顺序选择一个未进行协议识别的协议层次;
协议选择模块,用于选择一个未分析过的待分析应用协议;
父协议获取模块,用于获取选择的待分析应用协议的父协议的父协议标识,所述父协议为所述待分析应用协议的下一层协议;
父协议判断模块,用于判断所述父协议标识是否与所述会话表项中与所述父协议处于同一协议层次的协议标识一致;
候选协议确定模块,用于当所述父协议标识与所述会话表项中与所述父协议处于同一协议层次的协议标识一致时,将所述待分析应用协议作为候选应用协议;
分析判断模块,用于判断同一协议层次中每一个待分析应用协议是否均已执行协议分析操作,若否,执行协议选择模块;
应用协议选择模块,用于从获取的多个候选应用协议中选择一个候选应用协议作为所述业务报文对应协议层次的应用协议;
表项更新模块,用于根据选择的所述业务报文的应用协议更新所述会话表项中对应协议层次的协议标识;
识别判断模块,用于判断是否对每一个协议层次均已进行协议识别,若否,执行层次选择模块。
9.如权利要求8所述的装置,其特征在于:
所述父协议获取模块,具体用于从应用协议特征库中获取所述待分析应用协议的应用协议特征对应的应用协议标识,所述应用协议特征库中保存应用协议特征和应用协议标识的对应关系;从预设的应用协议配置表中获取应用协议标识与所述待分析应用协议的应用协议标识一致的应用协议配置表项,所述应用协议配置表项中保存应用协议标识与对应父协议标识的对应关系;获取所述待分析应用协议的父协议标识。
10.如权利要求8所述的装置,其特征在于:
所述应用协议选择模块,具体用于当存在多个候选应用协议时,根据每一个候选应用协议的应用协议标识从对应应用协议配置表项中获取候选应用协议的协议优先级,所述应用协议配置表项中保存应用协议标识与协议优先级的对应关系,所述候选应用协议的应用协议标识为协议特征库中与所述候选应用协议的应用协议特征匹配的应用协议特征对应的应用协议标识;选择协议优先级最高的候选应用协议为所述业务报文对应的应用协议。
CN201510220668.1A 2015-04-30 2015-04-30 一种应用协议识别方法及装置 Active CN105991373B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510220668.1A CN105991373B (zh) 2015-04-30 2015-04-30 一种应用协议识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510220668.1A CN105991373B (zh) 2015-04-30 2015-04-30 一种应用协议识别方法及装置

Publications (2)

Publication Number Publication Date
CN105991373A true CN105991373A (zh) 2016-10-05
CN105991373B CN105991373B (zh) 2019-06-25

Family

ID=57039547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510220668.1A Active CN105991373B (zh) 2015-04-30 2015-04-30 一种应用协议识别方法及装置

Country Status (1)

Country Link
CN (1) CN105991373B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707549A (zh) * 2017-09-30 2018-02-16 迈普通信技术股份有限公司 一种自动提取应用特征的装置及方法
CN111355696A (zh) * 2018-12-24 2020-06-30 中移(杭州)信息技术有限公司 一种报文识别方法、装置、dpi设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035131A (zh) * 2007-02-16 2007-09-12 杭州华为三康技术有限公司 协议识别方法及装置
CN102315974A (zh) * 2011-10-17 2012-01-11 北京邮电大学 基于层次化特征分析的tcp、udp流量在线识别方法和装置
CN102546548A (zh) * 2010-12-22 2012-07-04 中兴通讯股份有限公司 一种分层协议的识别方法和装置
CN102984242A (zh) * 2012-11-20 2013-03-20 杭州迪普科技有限公司 一种应用协议的自动识别方法和装置
US20130097328A1 (en) * 2008-05-19 2013-04-18 Michael Wookey Methods and systems for enabling features provided by a first presentation layer protocol in a session implemented according to a second presentation layer protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035131A (zh) * 2007-02-16 2007-09-12 杭州华为三康技术有限公司 协议识别方法及装置
US20130097328A1 (en) * 2008-05-19 2013-04-18 Michael Wookey Methods and systems for enabling features provided by a first presentation layer protocol in a session implemented according to a second presentation layer protocol
CN102546548A (zh) * 2010-12-22 2012-07-04 中兴通讯股份有限公司 一种分层协议的识别方法和装置
CN102315974A (zh) * 2011-10-17 2012-01-11 北京邮电大学 基于层次化特征分析的tcp、udp流量在线识别方法和装置
CN102984242A (zh) * 2012-11-20 2013-03-20 杭州迪普科技有限公司 一种应用协议的自动识别方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707549A (zh) * 2017-09-30 2018-02-16 迈普通信技术股份有限公司 一种自动提取应用特征的装置及方法
CN107707549B (zh) * 2017-09-30 2020-07-28 迈普通信技术股份有限公司 一种自动提取应用特征的装置及方法
CN111355696A (zh) * 2018-12-24 2020-06-30 中移(杭州)信息技术有限公司 一种报文识别方法、装置、dpi设备及存储介质

Also Published As

Publication number Publication date
CN105991373B (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
US10348631B2 (en) Processing packet header with hardware assistance
CN110115015B (zh) 通过监测其行为检测未知IoT设备的系统和方法
CN103916294B (zh) 协议类型的识别方法和装置
US20200012785A1 (en) Self-adaptive application programming interface level security monitoring
CN103297270A (zh) 应用类型识别方法及网络设备
CN107222369A (zh) 应用程序的识别方法、装置、交换装置和存储介质
CN106656849B (zh) 报文限速方法及装置
US20170289283A1 (en) Automated dpi process
CN106850864B (zh) 应用于web服务器登录的方法和装置
US9813442B2 (en) Server grouping system
CN110417801B (zh) 服务端识别方法和装置、设备及存储介质
CN106878311B (zh) Http报文的重写方法及装置
US9785721B2 (en) System and method for programmatically creating resource locators
CN105991373A (zh) 一种应用协议识别方法及装置
US20210136045A1 (en) System and method for identifying exchanges of encrypted communication traffic
US10747525B2 (en) Distribution of a software upgrade via a network
CN109272005B (zh) 一种识别规则的生成方法、装置和深度包检测设备
CN106961393B (zh) 网络会话中udp报文的检测方法及装置
CN104753934A (zh) 将未知协议多通信方数据流分离为点对点数据流的方法
CN109302390A (zh) 一种漏洞检测方法和装置
CN105703930A (zh) 基于应用的会话日志处理方法及装置
EP3800833B1 (en) Deep packet inspection application classification systems and methods
CN111079144B (zh) 一种病毒传播行为检测方法及装置
JP7412363B2 (ja) データストリームのプロトコルの識別
US10911362B2 (en) System and methods to filter out noisy application signatures to improve precision of first packet classification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant before: Hangzhou Dipu Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant