CN107426059B - Dpi设备特征库自动更新方法、***、dpi设备及云端服务器 - Google Patents

Dpi设备特征库自动更新方法、***、dpi设备及云端服务器 Download PDF

Info

Publication number
CN107426059B
CN107426059B CN201710749779.0A CN201710749779A CN107426059B CN 107426059 B CN107426059 B CN 107426059B CN 201710749779 A CN201710749779 A CN 201710749779A CN 107426059 B CN107426059 B CN 107426059B
Authority
CN
China
Prior art keywords
application protocol
information
dpi
target data
client
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.)
Active
Application number
CN201710749779.0A
Other languages
English (en)
Other versions
CN107426059A (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.)
Shanghai Guoyun Information Technology Co ltd
Original Assignee
Shanghai Guoyun Information Technology 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 Shanghai Guoyun Information Technology Co ltd filed Critical Shanghai Guoyun Information Technology Co ltd
Priority to CN201710749779.0A priority Critical patent/CN107426059B/zh
Publication of CN107426059A publication Critical patent/CN107426059A/zh
Application granted granted Critical
Publication of CN107426059B publication Critical patent/CN107426059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种DPI设备特征库自动更新方法、***、DPI设备及云端服务器,包括检测目标数据流的源IP地址上是否存在建立了连接的客户端;将目标数据流的四元组信息发送至建立了连接的客户端;接收客户端发送来的所述目标数据流的进程名称;根据客户端发送来的所述进程名称,获取匹配的应用协议;若匹配的应用协议与DPI设备的应用协议识别结果不同,则将目标数据流的应用协议识别结果、四元组信息、进程名称以及目标数据流的前若干个数据报文的完整内容发送至云端服务器;接收云端服务器发送来的应用协议的特征信息,并更新应用协议的特征库。本发明的DPI设备特征库自动更新方法、***、DPI设备及云端服务器极大地减小了构建和修正DPI特征库的工作量。

Description

DPI设备特征库自动更新方法、***、DPI设备及云端服务器
技术领域
本发明涉及信息处理的技术领域,特别是涉及一种DPI设备特征库自动更新方法、***、DPI设备及云端服务器。
背景技术
DPI(Deep Packet Inspection,深度包检测)是一种7层协议分析技术,通过解析应用层数据(包括IP/TCP/UDP报文的头部及载荷的内容)来匹配应用的协议特征,从而确定报文数据流所属应用的一种数据流识别手段。
DPI设备识别出数据流所属的应用后,根据使用场景的需求,可对报文进行精确的选路控制、QOS控制、安全性控制,以及分析统计等操作。这些操作的效果非常依赖DPI识别的准确性。而DPI识别的准确性主要取决于DPI设备中的协议特征库的准确性。
建立较为全面、准确的特征库是一个复杂、庞大的***工程,且建设周期较长。现有技术中,一般是在实验室环境中逐一提取每个应用的协议特征。由于需要识别的应用协议数量庞大,且不断有新应用出现,所以特征库不可能做到100%的应用协议识别,必然存在未被识别的应用协议。这些未知流量的存在会增加现网运行时的容错成本。通常,针对DPI设备的具体使用场景,重点完善特定场景下的最常见应用的特征库。即便如此,也至少需要识别数百种常见应用才能将容错成本降低到可以接受的程度。
每个应用协议的特征提取过程也都较为繁琐,工作量大。一般而言,包括以下步骤:
(1)在实验室环境下运行需要识别的应用,尽可能全面的使用应用的全部功能,并抓取应用产生的全部数据包。这一过程需要反复多次,获取多份数据包样本。
(2)研发人员比对抓取的数据包,从中分析出特征,并编码为特征库。
(3)得到特征库后,还需要再次重复上述过程,对得到的特征库进行检验,对新发现的未知流量再次提取特征。迭代多次后,才能最终得到一个应用协议的较为全面、准确的特征库。
另外,DPI设备在线运行后,一直没有有效的办法来判断其识别的准确性。因为执行应用的终端和DPI设备是分离的,数据流连接具有时效性,多数连接只存在很短的时间,缺乏可靠的反馈机制。只有当根据识别结果和相应控制策略产生的报文控制动作出现了明显偏差时,维护人员才能意识到出现了识别问题。此时用户业务往往已经受到了影响,而要解决识别问题,需要在实验室环境对相应的应用协议重新提取校对特征库才能解决。这一般都要数天时间,严重影响了用户体验。如果实验室环境没能抓取到现网运行时识别错误的报文,则问题更加难以解决。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种DPI设备特征库自动更新方法、***、DPI设备及云端服务器,当DPI设备得到的当前应用协议识别结果与经客户端验证的应用协议识别结果不一致时,进行异常数据流相关信息的采集并发送到云端服务器;云端服务器汇总多台DPI设备提交的数据流信息,并基于预设数量的异常数据流相关信息实现应用协议的特征信息的提取,并实时更新应用协议的特征库,从而极大地减小了构建和修正DPI特征库的工作量以及大幅提高了DPI设备的识别准确率。
为实现上述目的及其他相关目的,本发明提供一种DPI设备特征库自动更新方法,应用于DPI设备上,所述DPI设备配置有进程名称与应用协议识别结果匹配信息;所述DPI设备特征库自动更新方法包括以下步骤:检测目标数据流的源IP地址上是否存在建立了连接的客户端;当所述源IP地址上存在建立了连接的客户端,将所述目标数据流的四元组信息发送至所述客户端以供所述客户端根据所述四元组信息在所述客户端查找匹配的进程名称;所述四元组信息包括协议类型、目的IP地址、源端口号和目标端口号;接收所述客户端发送来的所述目标数据流的四元组信息和进程名称;根据所述客户端发送来的所述进程名称,基于所述进程名称与应用协议识别结果匹配信息获取匹配的应用协议;若所述匹配的应用协议与DPI设备的应用协议识别结果不同,则将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器;接收所述云端服务器发送来的应用协议的特征信息,并更新应用协议的特征库。
于本发明一实施例中,根据所属应用、源IP地址、目的IP地址、源端口号、目的端口号中的一个或多个条件进行筛选来获得所述目标数据流。
于本发明一实施例中,还包括:若所述匹配的应用协议与DPI设备的应用协议识别结果不同,则将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容存储于本地,以供提取应用协议的特征信息并更新应用协议的特征库。
于本发明一实施例中,还包括:若所述匹配的应用协议与DPI设备的应用协议识别结果不同,利用所述匹配的应用协议修正所述DPI设备的应用协议识别结果。
对应地,本发明还提供一种DPI设备特征库自动更新***,应用于DPI设备上,所述DPI设备配置有进程名称与应用协议识别结果匹配信息;所述DPI设备特征库自动更新***包括检测模块、第一发送模块、接收模块、匹配模块、第二发送模块和接收更新模块;
所述检测模块用于检测目标数据流的源IP地址上是否存在建立了连接的客户端;
所述第一发送模块用于在所述源IP地址上存在建立了连接的客户端时,将所述目标数据流的四元组信息发送至所述客户端以供所述客户端根据所述四元组信息在所述客户端查找匹配的进程名称;所述四元组信息包括协议类型、目的IP地址、源端口号和目标端口号;
所述接收模块用于接收所述客户端发送来的所述目标数据流的四元组信息和进程名称;
所述匹配模块用于根据所述客户端发送来的所述进程名称,基于所述进程名称与应用协议识别结果匹配信息获取匹配的应用协议;
所述第二发送模块用于在所述匹配的应用协议与DPI设备的应用协议识别结果不同时,将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器;
所述接收更新模块用于接收所述云端服务器发送来的应用协议的特征信息,并更新应用协议的特征库。
于本发明一实施例中,所述获取检测模块根据所属应用、源IP地址、目的IP地址、源端口号、目的端口号中的一个或多个条件进行筛选以获取目标数据流。
于本发明一实施例中,还包括存储模块,用于在所述匹配的应用协议与DPI设备的应用协议识别结果不同时,将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容存储于本地,以供提取应用协议的特征信息并更新应用协议的特征库。
另外,本发明还提供一种DPI设备,包括通信器、处理器及存储器;
所述通信器用于与客户端和云端服务器进行数据通信;
所述存储器用于存储计算机程序;
所述处理器用于根据所述通信器与所述客户端和所述云端服务器间的数据通信,执行所述存储器存储的计算机程序,以执行上述DPI设备特征库自动更新方法。
本发明还提供一种云端服务器,包括通信模块和处理模块;
所述通信模块用于接收上述的DPI设备发送来的目标数据流的应用协议识别结果、四元组信息、进程名称以及目标数据流的前若干个数据报文的完整内容,并将其作为目标数据流信息样本存储;以及发送所提取的应用协议的特征信息至所述DPI设备以供所述DPI设备更新应用协议的特征库;
所述处理模块用于基于预设数量的目标数据流信息样本提取应用协议的特征信息。
最后,本发明还提供一种DPI设备特征库自动更新***,包括若干客户端、若干上述的DPI设备和上述的云端服务器;
所述客户端用于在与所述DPI设备建立连接后接收所述DPI设备发送来的目标数据流的四元组信息,并根据所述四元组信息在其上查找匹配的进程名称,再将所述进程名称发送至所述DPI设备。
如上所述,本发明的DPI设备特征库自动更新方法、***、DPI设备及云端服务器,具有以下有益效果:
(1)当DPI设备得到的应用协议识别结果与经客户端验证的应用协议识别结果不一致时,进行异常数据流相关信息的采集并发送到云端服务器;云端服务器汇总多台DPI设备提交的数据流信息,并基于预设数量的异常数据流相关信息实现应用协议的特征信息的提取,并实时更新应用协议的特征库;
(2)极大地减小构建DPI特征库的工作量,缩短特定场景下DPI特征库的建设周期,将通常数十人月的工作量减小到一个人月工作量之内;
(3)大幅提高DPI设备的识别准确率,大幅减少未知流量特征库更新的时间;在已经安装了客户端的场景下,未知流量可以直接在客户端的辅助下完成识别;在未安装客户端的场景下,DPI设备也可及时从云端服务器获取最新的特征库进行更新,使得客户几乎感受不到未知流量的存在;
(4)所提供的基于DPI服务的选路控制、QOS控制、安全性控制,以及分析统计等操作的准确性大幅提高,容错成本大幅降低。
附图说明
图1显示为本发明的DPI设备特征库自动更新方法于一实施例中的流程图;
图2显示为本发明的DPI设备特征库自动更新***于一实施例中的结构示意图;
图3显示为本发明的DPI设备于一实施例中的结构示意图;
图4显示为本发明的云端服务器于一实施例中的结构示意图;
图5显示为本发明的DPI设备特征库自动更新***于另一实施例中的结构示意图;
图6显示为本发明的DPI设备特征库自动更新***于又一实施例中的结构示意图。
元件标号说明
1 DPI设备特征库自动更新***
11 检测模块
12 第一发送模块
13 接收模块
14 匹配模块
15 第二发送模块
16 接收更新模块
3 DPI设备
31 通信器
32 处理器
33 存储器
4 云端服务器
41 通信模块
42 处理模块
5 DPI设备特征库自动更新***
51 客户端
52 DPI设备
53 云端服务器
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的DPI设备特征库自动更新方法应用于DPI设备上,所述DPI设备配置有进程名称与应用协议识别结果匹配信息。具体地,进程名称与应用协议识别结果匹配信息可以通过列表的形式显示和导出。
如图1所示,于一实施例中,DPI设备特征库自动更新方法包括以下步骤:
步骤S1、检测目标数据流的源IP地址上是否存在建立了连接的客户端。
于本发明一实施例中,DPI设备根据一定的筛选条件选择目标数据流。优选地,根据所属应用、源IP地址、目的IP地址、源端口号、目的端口号中的一个或多个条件进行筛选来获得目标数据流。其中,所属应用可以为未知应用,一个或多个特定应用,或者是全部应用。DPI设备根据不同的筛选条件对上报的数据流进行不同的选择,得到不同的目标数据流,从而达到不同的目的。当选择上报所有协议的数据流信息时,可以帮助开发构建一个全新的DPI特征库;当选择上报所有未识别的数据流信息时,可以帮助一个运行中的DPI特征库快速完善、稳定运行;当通过地址、协议和端口号来选择上报的数据流信息时,可以实现对特定终端设备或特定应用的数据流进行专项验证。
具体地,DPI设备根据筛选条件,给出目标数据流信息,包括每条数据流的五元组信息、该条数据流的应用协议识别结果以及该数据流的前若干个数据报文的完整内容;再检测五元组信息中的源IP地址上是否存在已经与DPI设备建立了连接的客户端。需要说明的是,本发明的客户端可以运行在PC机、智能手机等终端设备上,并能够查询到终端设备上所有数据流的信息。五元组信息为通信领域公知的术语,具体包括数据流的协议类型、目的IP地址、源IP地址、源端口号和目标端口号。
优选地,所述目标数据流的前若干个数据报文的完整内容可以为首个或前多个数据报文的完整内容。
步骤S2、当所述源IP地址上存在建立了连接的客户端,将所述目标数据流的四元组信息发送至所述客户端以供所述客户端根据所述四元组信息在所述客户端查找匹配的进程名称;所述四元组信息包括协议类型、目的IP地址、源端口号和目标端口号。
具体地,在源IP地址上存在的建立了连接的客户端可用于实现DPI设备识别结果的验证。故将目标数据流的四元组信息发送至该客户端。其中,四元组信息包括五元组信息中除源IP地址之外的其他信息。
于本发明一实施例中,客户端在接收到目标数据流的四元组信息之后,利用操作***提供的连接查看工具,可以获取当前***下的所有连接信息,从而得到***当前存在的全部数据流的五元组信息。将全部数据流的五元组信息与接收到的目标数据流的四元组信息进行比对,即可得到目标数据流对应的进程ID,再通过操作***提供的进程列表查看工具即可获得进程ID对应的进程名称。然后,客户端将上述四元组信息连同得到的进程名称一起发送至DPI设备。需要说明的是,上述四元组信息中的源端口即为客户端的本机端口。
步骤S3、接收所述客户端发送来的所述目标数据流的四元组信息和进程名称。
具体地,DPI设备接收客户端发送来的所述目标数据流的四元组信息和进程名称,以便于查询所述目标数据流对应的应用协议。
步骤S4、根据所述客户端发送来的所述进程名称,基于所述进程名称与应用协议识别结果匹配信息获取匹配的应用协议。
由于所述DPI设备配置有进程名称与应用协议识别结果匹配信息,故根据客户端发送来的进程名称,便可查询到匹配的应用协议。此时,可以将所获取的匹配的应用协议与DPI设备得到的应用协议识别结果进行比对;若二者相同,则表明DPI设备的识别结果准确,无需执行其他操作;若二者不同,则表明DPI设备的识别结果有误或DPI设备未识别该目标数据流。其中,若DPI设备得到的应用协议识别结果存在时,则表明DPI设备的识别结果有误;若DPI设备得到的应用协议识别结果不存在时,则表明未识别该目标数据流。
步骤S5、若所获取的匹配的应用协议与所述当前应用协议识别结果不同,则将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器。
具体地,针对DPI设备识别有误或者未识别的目标数据流,将应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器。云端服务器接收到目标数据流的上述信息后,根据进程名称进行分类,并作为目标数据流信息样本进行存储。当客户端和DPI设备数量足够多,也足够有代表性时,云端服务器就能在较短的时间内采集到覆盖应用范围足够大的目标数据流信息样本。达到预设数量的目标数据流信息样本可以替代构建和维护特征库时,在实验室环境对大量应用进行反复抓包取得的数据。云端服务器利用预设的特征分析提取算法对各个目标数据流信息样本进行自动分析,提取出特征信息,并下发至DPI设备。对于云端服务器无法完成特征提取的目标数据流信息样本,其占比已经很小,可由研发人员手工分析提取特征。同时研发人员可不断总结剩余无法自动分析的特征,持续完善预设的特征分析提取算法,使特征分析提取算法无法分析的特征比例不断缩小,以进一步实现应用协议的特征信息提取的自动化和智能化。
步骤S6、接收所述云端服务器发送来的应用协议的特征信息,并更新应用协议的特征库。
具体地,DPI设备接收云端服务器发送来的应用协议的特征信息,实现应用协议特征库的进一步更新,以增加DPI设备识别的准确率。
于本发明一实施例中,若所述匹配的应用协议与DPI设备的应用协议识别结果不同,则将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容存储于本地,以供查询和显示,从而方便DPI设备管理人员查看DPI设备的运行情况,以便做出适当的维护操作。
优选地,若所述目标数据流的所属应用为全部应用,则可根据本地存储的所述目标数据流的应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容来构建DPI设备的特征库;从而可以加快DPI设备特征库的建设速度,节省了在实验室环境反复抓包的工作量。
优选地,若所述目标数据流的所属应用为特定应用,则可根据本地存储的所述目标数据流的应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容来提取特定协议的特征信息以更新应用协议的特征库。其中,若DPI设备的特征库不存在该特定应用对应的特征信息,则将提取的特征信息加入DPI设备的特征库;若DPI设备的特征库中存储的该特定应用的特征信息与提取的特征信息不一致时,采用提取的特征信息来修订存储的原特征信息。
于本发明一实施例中,若所述匹配的应用协议与所述DPI设备的应用协议识别结果不同,利用所述匹配的应用协议修正所述DPI设备的应用协议识别结果,从而保证应用的正常运行。
如图2所示,于一实施例中,本发明的DPI设备特征库自动更新***1包括检测模块11、第一发送模块12、接收模块13、匹配模块14、第二发送模块15和接收更新模块16。
所述检测模块11用于检测目标数据流的源IP地址上是否存在建立了连接的客户端。
于本发明一实施例中,DPI设备根据一定的筛选条件选择目标数据流。优选地,根据所属应用、源IP地址、目的IP地址、源端口号、目的端口号中的一个或多个条件进行筛选来获得目标数据流。其中,所属应用可以为未知应用,一个或多个特定应用,或者是全部应用。DPI设备根据不同的筛选条件对上报的数据流进行不同的选择,得到不同的目标数据流,从而达到不同的目的。当选择上报所有协议的数据流信息时,可以帮助开发构建一个全新的DPI特征库;当选择上报所有未识别的数据流信息时,可以帮助一个运行中的DPI特征库快速完善、稳定运行;当通过地址、协议和端口号来选择上报的数据流信息时,可以实现对特定终端设备或特定应用的数据流进行专项验证。
具体地,DPI设备根据筛选条件,给出目标数据流信息,包括每条数据流的五元组信息、该条数据流的应用协议识别结果以及该数据流的前若干个数据报文的完整内容;再检测五元组信息中的源IP地址上是否存在已经与DPI设备建立了连接的客户端。需要说明的是,本发明的客户端可以运行在PC机、智能手机等终端设备上,并能够查询到终端设备上所有数据流的信息。五元组信息为通信领域公知的术语,具体包括数据流的协议类型、目的IP地址、源IP地址、源端口号和目标端口号。
优选地,所述目标数据流的前若干个数据报文的完整内容可以为首个或前多个数据报文的完整内容。
所述第一发送模块12与所述获取检测模块11相连,用于在所述源IP地址上存在建立了连接的客户端时,将所述目标数据流的四元组信息发送至所述客户端以供所述客户端根据所述四元组信息在所述客户端查找匹配的进程名称;所述四元组信息包括协议类型、目的IP地址、源端口号和目标端口号。
具体地,在源IP地址上存在的建立了连接的客户端可用于实现DPI设备识别结果的验证。故将目标数据流的四元组信息发送至该客户端。其中,四元组信息包括五元组信息中除源IP地址之外的其他信息。
于本发明一实施例中,客户端在接收到目标数据流的四元组信息之后,利用操作***提供的连接查看工具,可以获取当前***下的所有连接信息,从而得到***当前存在的全部数据流的五元组信息。将全部数据流的五元组信息与接收到的目标数据流的四元组信息进行比对,即可得到目标数据流对应的进程ID,再通过操作***提供的进程列表查看工具即可获得进程ID对应的进程名称。然后,客户端将上述四元组信息连同得到的进程名称一起发送至接收模块13。需要说明的是,上述四元组信息中的源端口即为客户端的本机端口。
所述接收模块13用于接收所述客户端发送来的所述目标数据流的四元组信息和进程名称。
具体地,接收模块13接收客户端发送来的所述目标数据流的四元组信息和进程名称,以便于查询所述目标数据流对应的应用协议。
所述匹配模块14与所述接收模块13相连,用于根据所述客户端发送来的所述进程名称,基于所述进程名称与应用协议识别结果匹配信息获取匹配的应用协议。
由于所述DPI设备配置有进程名称与应用协议识别结果匹配信息,故根据客户端发送来的进程名称,便可查询到匹配的应用协议。此时,可以将所获取的匹配的应用协议与DPI设备得到的当前应用协议识别结果进行比对;若二者相同,则表明DPI设备的识别结果准确,无需执行其他操作;若二者不同,则表明DPI设备的识别结果有误或DPI设备未识别该目标数据流。其中,若DPI设备得到的当前应用协议识别结果存在时,则表明DPI设备的识别结果有误;若DPI设备得到的当前应用协议识别结果不存在时,则表明未识别该目标数据流。
所述第二发送模块15与所述匹配模块14相连,用于在所获取的匹配的应用协议与所述当前应用协议识别结果不同时,将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器。
具体地,针对DPI设备识别有误或者未识别的目标数据流,将应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器。云端服务器接收到目标数据流的上述信息后,根据进程名称进行分类,并作为目标数据流信息样本进行存储。当客户端和DPI设备数量足够多,也足够有代表性时,云端服务器就能在较短的时间内采集到覆盖应用范围足够大的目标数据流信息样本。达到预设数量的目标数据流信息样本可以替代构建和维护特征库时,在实验室环境对大量应用进行反复抓包取得的数据。云端服务器利用预设的特征分析提取算法对各个目标数据流信息样本进行自动分析,提取出特征信息,并下发至DPI设备。对于云端服务器无法完成特征提取的目标数据流信息样本,其占比已经很小,可由研发人员手工分析提取特征。同时研发人员可不断总结剩余无法自动分析的特征,持续完善预设的特征分析提取算法,使特征分析提取算法无法分析的特征比例不断缩小,以进一步实现应用协议的特征信息提取的自动化和智能化。
所述接收更新模块16与所述第二发送模块15相连,用于接收所述云端服务器发送来的应用协议的特征信息,并更新应用协议的特征库。
具体地,DPI设备接收云端服务器发送来的应用协议的特征信息,实现应用协议特征库的进一步更新,以增加DPI设备识别的准确率。
于本发明一实施例中,还包括存储模块,用于在所述匹配的应用协议与DPI设备的应用协议识别结果不同时,将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容存储于本地,以供查询和显示,从而方便DPI设备管理人员查看DPI设备的运行情况,以便做出适当的维护操作。
优选地,若所述目标数据流的所属应用为全部应用,则可根据本地存储的所述目标数据流的应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容来构建DPI设备的特征库;从而可以加快DPI设备特征库的建设速度,节省了在实验室环境反复抓包的工作量。
优选地,若所述目标数据流的所属应用为特定应用,则可根据本地存储的所述目标数据流的应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容来提取特定协议的特征信息以更新应用协议的特征库。其中,若DPI设备的特征库不存在该特定应用对应的特征信息,则将提取的特征信息加入DPI设备的特征库;若DPI设备的特征库中存储的该特定应用的特征信息与提取的特征信息不一致时,采用提取的特征信息来修订存储的原特征信息。
于本发明一实施例中,还包括修正模块,用于在所述匹配的应用协议与所述DPI设备的应用协议识别结果不同时,利用所述匹配的应用协议修正所述DPI设备的应用协议识别结果,从而保证应用的正常运行。
如图3所示,于一实施例中,本发明的DPI设备3包括通信器31、处理器32及存储器33。
所述通信器31用于与客户端和云端服务器进行数据通信。
所述存储器33用于存储计算机程序。优选地,所述存储器包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
所述处理器32与所述通信器31和所述存储器32相连,用于根据所述通信器与所述客户端和所述云端服务器间的数据通信,执行所述存储器33存储的计算机程序,以执行上述DPI设备特征库自动更新方法。
优选地,处理器32可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图4所示,于一实施例中,本发明的云端服务器4包括通信模块41和处理模块42。
所述通信模块用于接收上述的DPI设备发送来的目标数据流的应用协议识别结果、四元组信息、进程名称以及目标数据流的前若干个数据报文的完整内容,并将其作为目标数据流信息样本存储;以及发送所提取的应用协议的特征信息至所述DPI设备以供所述DPI设备更新应用协议的特征库。
所述处理模块42用于基于预设数量的目标数据流信息样本提取应用协议的特征信息.
具体地,处理模块42接收到目标数据流的应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容后,根据进程名称进行分类,并作为目标数据流信息样本进行存储。当客户端和DPI设备数量足够多,也足够有代表性时,处理模块42就能在较短的时间内采集到覆盖应用范围足够大的目标数据流信息样本。达到预设数量的目标数据流信息样本可以替代构建和维护特征库时,在实验室环境对大量应用进行反复抓包取得的数据。处理模块42利用预设的特征分析提取算法对各个目标数据流信息样本进行自动分析,并提取出特征信息。对于处理模块42无法完成特征提取的目标数据流信息样本,其占比已经很小,可由研发人员手工分析提取特征。同时研发人员可不断总结剩余无法自动分析的特征,持续完善预设的特征分析提取算法,使特征分析提取算法无法分析的特征比例不断缩小,以进一步实现应用协议的特征信息提取的自动化和智能化。
如图5所示,于一实施例中,本发明的DPI设备特征库自动更新***5包括若干客户端51、若干上述的DPI设备52和上述的云端服务器53。
所述客户端51用于在与所述DPI设备52建立连接后接收所述DPI设备52发送来的目标数据流的四元组信息,并根据所述四元组信息在其上查找匹配的进程名称,再将所述进程名称发送至所述DPI设备52。
所述云端服务器53用于接收所述DPI设备52上传的数据流信息,并根据进程名分类保存为数据流信息样本,所述样本达到预设数量后使用预设的特征提取算法自动提取特征,再将所述特征信息发送至所述DPI设备52。
图6所示为本发明的DPI设备特征库自动更新***的又一具体实施例。客户端可以是windows平台上的后台程序,也可以是后台运行的苹果ios应用程序或安卓应用程序。由于多个DPI设备都可以向云端服务器汇总数据流信息,部署时只需在少量有代表性的场景下工作的DPI设备管控的少量终端上安装客户端,即可实现对全网DPI特征库的自动更新。其中,DPI设备通常集成在路由器内部,可以包括DPI模块和处理模块两部分。DPI模块用于实现目标数据流获取和应用协议的识别功能;处理模块用于实现与客户端、云端服务器和DPI模块的通信功能,以及信息处理和显示功能。
综上所述,本发明的DPI设备特征库自动更新方法、***、DPI设备及云端服务器当DPI设备得到的应用协议识别结果与经客户端验证的应用协议识别结果不一致时,进行异常数据流相关信息的采集,并基于预设数量的异常数据流相关信息实现应用协议的特征信息的提取,并实时更新应用协议的特征库;极大地减小构建DPI特征库的工作量,缩短特定场景下DPI特征库的建设周期,将通常数十人月的工作量减小到一个人月工作量之内;大幅提高DPI设备的识别准确率,大幅减少未知流量特征库更新的时间;在已经安装了客户端的场景下,未知流量可以直接在客户端的辅助下完成识别;在未安装客户端的场景下,DPI设备也可及时从云端服务器获取最新的特征库进行更新,使得客户几乎感受不到未知流量的存在;所提供的基于DPI服务的选路控制、QOS控制、安全性控制,以及分析统计等操作的准确性大幅提高,容错成本大幅降低。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (9)

1.一种DPI设备特征库自动更新方法,应用于DPI设备上,所述DPI设备配置有进程名称与应用协议识别结果匹配信息;其特征在于:所述DPI设备特征库自动更新方法包括以下步骤:
检测目标数据流的源IP地址上是否存在建立了连接的客户端;
当所述源IP地址上存在建立了连接的客户端,将所述目标数据流的四元组信息发送至所述客户端以供所述客户端根据所述四元组信息在所述客户端查找匹配的进程名称;所述四元组信息包括协议类型、目的IP地址、源端口号和目标端口号;
接收所述客户端发送来的所述目标数据流的四元组信息和进程名称;
根据所述客户端发送来的所述进程名称,基于所述进程名称与应用协议识别结果匹配信息获取匹配的应用协议;
若所述匹配的应用协议与DPI设备的应用协议识别结果不同,则将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器;
接收所述云端服务器发送来的应用协议的特征信息,并更新应用协议的特征库;
还包括:若所述匹配的应用协议与DPI设备的应用协议识别结果不同,利用所述匹配的应用协议修正所述DPI设备的应用协议识别结果。
2.根据权利要求1所述的DPI设备特征库自动更新方法,其特征在于:根据所属应用、源IP地址、目的IP地址、源端口号、目的端口号中的一个或多个条件进行筛选来获得所述目标数据流。
3.根据权利要求1所述的DPI设备特征库自动更新方法,其特征在于:还包括:若所述匹配的应用协议与DPI设备的应用协议识别结果不同,则将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容存储于本地,以供提取应用协议的特征信息并更新应用协议的特征库。
4.一种DPI设备特征库自动更新***,应用于DPI设备上,所述DPI设备配置有进程名称与应用协议识别结果匹配信息;其特征在于:所述DPI设备特征库自动更新***包括检测模块、第一发送模块、接收模块、匹配模块、第二发送模块和接收更新模块;
所述检测模块用于检测目标数据流的源IP地址上是否存在建立了连接的客户端;
所述第一发送模块用于在所述源IP地址上存在建立了连接的客户端时,将所述目标数据流的四元组信息发送至所述客户端以供所述客户端根据所述四元组信息在所述客户端查找匹配的进程名称;所述四元组信息包括协议类型、目的IP地址、源端口号和目标端口号;
所述接收模块用于接收所述客户端发送来的所述目标数据流的四元组信息和进程名称;
所述匹配模块用于根据所述客户端发送来的所述进程名称,基于所述进程名称与应用协议识别结果匹配信息获取匹配的应用协议;
所述第二发送模块用于在所述匹配的应用协议与DPI设备的应用协议识别结果不同时,将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容发送至云端服务器;
所述接收更新模块用于接收所述云端服务器发送来的应用协议的特征信息,并更新应用协议的特征库;
还包括修正模块,用于若所述匹配的应用协议与DPI设备的应用协议识别结果不同,利用所述匹配的应用协议修正所述DPI设备的应用协议识别结果。
5.根据权利要求4所述的DPI设备特征库自动更新***,其特征在于:所述检测模块根据所属应用、源IP地址、目的IP地址、源端口号、目的端口号中的一个或多个条件进行筛选以获取目标数据流。
6.根据权利要求4所述的DPI设备特征库自动更新***,其特征在于:还包括存储模块,用于在所述匹配的应用协议与DPI设备的应用协议识别结果不同时,将所述目标数据流的所述应用协议识别结果、四元组信息、进程名称以及所述目标数据流的前若干个数据报文的完整内容存储于本地,以供提取应用协议的特征信息并更新应用协议的特征库。
7.一种DPI设备,其特征在于:包括通信器、处理器及存储器;
所述通信器用于与客户端和云端服务器进行数据通信;
所述存储器用于存储计算机程序;
所述处理器用于根据所述通信器与所述客户端和所述云端服务器间的数据通信,执行所述存储器存储的计算机程序,以执行权利要求1至3中任一项所述DPI设备特征库自动更新方法。
8.一种云端服务器,其特征在于:包括通信模块和处理模块;
所述通信模块用于接收权利要求7所述的DPI设备发送来的目标数据流的应用协议识别结果、四元组信息、进程名称以及目标数据流的前若干个数据报文的完整内容,并将其作为目标数据流信息样本存储;以及发送所提取的应用协议的特征信息至所述DPI设备以供所述DPI设备更新应用协议的特征库;
所述处理模块用于基于预设数量的目标数据流信息样本提取应用协议的特征信息。
9.一种DPI设备特征库自动更新***,其特征在于:包括若干客户端、若干权利要求7所述的DPI设备和权利要求8所述的云端服务器;
所述客户端用于在与所述DPI设备建立连接后接收所述DPI设备发送来的目标数据流的四元组信息,并根据所述四元组信息在其上查找匹配的进程名称,再将所述进程名称发送至所述DPI设备。
CN201710749779.0A 2017-08-28 2017-08-28 Dpi设备特征库自动更新方法、***、dpi设备及云端服务器 Active CN107426059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710749779.0A CN107426059B (zh) 2017-08-28 2017-08-28 Dpi设备特征库自动更新方法、***、dpi设备及云端服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710749779.0A CN107426059B (zh) 2017-08-28 2017-08-28 Dpi设备特征库自动更新方法、***、dpi设备及云端服务器

Publications (2)

Publication Number Publication Date
CN107426059A CN107426059A (zh) 2017-12-01
CN107426059B true CN107426059B (zh) 2021-02-05

Family

ID=60435061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710749779.0A Active CN107426059B (zh) 2017-08-28 2017-08-28 Dpi设备特征库自动更新方法、***、dpi设备及云端服务器

Country Status (1)

Country Link
CN (1) CN107426059B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696446B (zh) * 2018-07-30 2022-01-25 网宿科技股份有限公司 一种流量特征信息的更新方法、装置及中心节点服务器
CN108880913B (zh) * 2018-07-30 2020-01-31 网宿科技股份有限公司 一种流量特征的管理方法、装置及中心节点服务器
CN109412893B (zh) * 2018-10-23 2020-06-19 新华三信息安全技术有限公司 一种报文回放方法及装置
CN109639593B (zh) * 2018-12-24 2022-08-12 南京中孚信息技术有限公司 一种深度报文分析***的升级方法及装置
CN113067743B (zh) * 2020-01-02 2022-12-13 ***通信有限公司研究院 流规则提取方法、装置、***及存储介质
CN112099867A (zh) * 2020-08-17 2020-12-18 北京天元特通科技有限公司 一种支持在线动态更新的app识别框架
CN112468410B (zh) * 2020-11-05 2021-10-22 武汉绿色网络信息服务有限责任公司 一种增强网络流量特征准确率的方法和装置
CN113098911B (zh) * 2021-05-18 2022-10-04 神州灵云(北京)科技有限公司 一种多段链接网络的实时分析方法及旁路抓包***
CN113890835A (zh) * 2021-09-29 2022-01-04 杭州迪普科技股份有限公司 Dpi应用测试报文的处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025636A (zh) * 2010-12-09 2011-04-20 北京星网锐捷网络技术有限公司 报文特征处理方法、装置及网络设备
CN102394827A (zh) * 2011-11-09 2012-03-28 浙江万里学院 互联网流量分级分类方法
US8928899B2 (en) * 2011-02-24 2015-01-06 Ricoh Company, Ltd. Web services printer driver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025636A (zh) * 2010-12-09 2011-04-20 北京星网锐捷网络技术有限公司 报文特征处理方法、装置及网络设备
US8928899B2 (en) * 2011-02-24 2015-01-06 Ricoh Company, Ltd. Web services printer driver
CN102394827A (zh) * 2011-11-09 2012-03-28 浙江万里学院 互联网流量分级分类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于DPI技术的P2P流量检测***设计;张瀚;《中国优秀硕士论文全文数据库》;20130730;第三章流量检测***的设计 *

Also Published As

Publication number Publication date
CN107426059A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107426059B (zh) Dpi设备特征库自动更新方法、***、dpi设备及云端服务器
US11301778B2 (en) Method and system for training and validating machine learning in network environments
CN109167798B (zh) 一种基于机器学习的家用物联网设备DDoS检测方法
EP3364601B1 (en) Testing method, device and system
CN107018001B (zh) 一种应用故障定位方法及装置
CN111526099B (zh) 基于深度学习的物联网应用流量检测方法
EP3197100A1 (en) Multi cause correlation in wireless protocols
CN104506484A (zh) 一种私有协议分析与识别方法
CN102984161B (zh) 一种可信网站的识别方法和装置
CN108650195B (zh) 一种app流量自动识别模型构建方法
JP2009017298A (ja) データ分析装置
CN111222547B (zh) 一种面向移动应用的流量特征提取方法及***
CN107360062B (zh) Dpi设备识别结果的验证方法、***及dpi设备
CN109995582A (zh) 基于实时状态的资产设备管理***及方法
CN112333211B (zh) 一种基于机器学习的工控行为检测方法和***
CN111818049B (zh) 一种基于马尔可夫模型的僵尸网络流量检测方法及***
CN106535240A (zh) 基于云平台的移动app集中性能分析方法
CN104038382B (zh) 网络监视***
CN109660656A (zh) 一种智能终端应用程序识别方法
CN110266603B (zh) 基于http协议的身份认证业务网络流量分析***及方法
Ammar et al. Autonomous IoT device identification prototype
CN105099829B (zh) 一种基于http协议的电子资源服务可用性自动化监测方法
CN108199906B (zh) 一种sdn构架中异常流量处理方法、装置和用户终端
CN114553546B (zh) 基于网络应用的报文抓取的方法和装置
CN114500387A (zh) 基于机器学习的移动应用流量识别方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: Room 301-A02, Building 5, No. 3000 Longdong Avenue, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, March 2012

Patentee after: SHANGHAI GUOYUN INFORMATION TECHNOLOGY CO.,LTD.

Address before: Room 908, No. 560, shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 201210

Patentee before: SHANGHAI GUOYUN INFORMATION TECHNOLOGY CO.,LTD.

CP02 Change in the address of a patent holder