CN107360051A - 一种控制多种不同网络协议分析开关的方法及装置 - Google Patents

一种控制多种不同网络协议分析开关的方法及装置 Download PDF

Info

Publication number
CN107360051A
CN107360051A CN201610868077.XA CN201610868077A CN107360051A CN 107360051 A CN107360051 A CN 107360051A CN 201610868077 A CN201610868077 A CN 201610868077A CN 107360051 A CN107360051 A CN 107360051A
Authority
CN
China
Prior art keywords
analysis
filter
agreement
function
variety
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
CN201610868077.XA
Other languages
English (en)
Other versions
CN107360051B (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.)
Chengdu Shumo Technology Co.,Ltd.
National Computer Network and Information Security Management Center
Original Assignee
CHENGDU COLASOFT Co Ltd
National Computer Network and Information Security Management Center
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 CHENGDU COLASOFT Co Ltd, National Computer Network and Information Security Management Center filed Critical CHENGDU COLASOFT Co Ltd
Priority to CN201610868077.XA priority Critical patent/CN107360051B/zh
Publication of CN107360051A publication Critical patent/CN107360051A/zh
Application granted granted Critical
Publication of CN107360051B publication Critical patent/CN107360051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及数据包识别技术,本发明公开了一种控制多种不同网络协议分析开关的方法,其具体包括以下的步骤:步骤一、初始化分析过滤器,注册分析回调方法,并配置分析过滤器,根据环境配置需要被识别的协议;步骤二、采集数据包,使用结果过滤器判断该数据包是否需要分析,是则依次调用分析过滤器注册的分析回调方法进行协议分析,否则继续采集下一个数据包;步骤三、根据步骤二的分析结果配置结果过滤器。通过上述方法采用分析过滤器实现协议分析的开关,通过开关与执行函数的绑定做到根据实际配置,减少了循环遍历的次数,实现灵活,同时还不会使系统产生额外的资源消耗。

Description

一种控制多种不同网络协议分析开关的方法及装置
技术领域
本发明涉及网络安全分析检测技术领域,具体是一种控制多种不同网络协议分析开关的方法及装置,此方法及装置可提高分析的效率。
背景技术
在网络安全分析检测领域,网络通信数据的协议信息至关重要,通常采用网络协议识别装置将通信数据的协议信息检测出来,然后根据所属的协议信息进一步做高级的安全检测分析,目前已知的协议类型成千上万,对应不同协议下的分析方法也各不相同,但在特定的网络环境下不会是所有通信协议数据都有,但是目前主流的分析装置在做识别和分析时,均未根据网络环境的实际情况对系统需要进行的识别和分析检测做有效的开关控制,缺乏灵活性,同时还会使系统产生额外的资源消耗。
发明内容
针对现有技术中的分析方法会使系统产生额外的资源消耗的技术问题,本发明公开了一种控制多种不同网络协议分析开关的方法,本发明还公开了一种控制多种不同网络协议分析开关的装置。
本发明的技术方案如下:
本发明公开了一种控制多种不同网络协议分析开关的方法,其具体包括以下的步骤:步骤一、初始化分析过滤器,注册分析回调方法,并配置分析过滤器,根据环境配置需要被识别的协议;步骤二、采集数据包,使用结果过滤器判断该数据包是否需要分析,是则依次调用分析过滤器注册的分析回调方法进行协议分析,否则继续采集下一个数据包;步骤三、根据步骤二的分析结果配置结果过滤器。通过上述方法采用分析过滤器实现协议分析的开关,通过开关与执行函数的绑定做到根据实际配置,减少了循环遍历的次数,实现灵活,同时还不会使系统产生额外的资源消耗。
更进一步地,上述注册分析回调方法就是将执行函数和执行条件关联起来的过程,具体包括以下步骤:1.设置函数可以被允许执行的条件;2.实现函数的具体执行内容;3.当设置的执行条件被满足时,识别函数将立即执行。通过注册分析回调方法实现当设置的执行条件被满足时,网络协议的识别。从而快速识别出数据包中所采用的网络协议。
更进一步地,上述注册分析回调方法具体为:a.分配一个可以存储N个函数指针的内存空间;b.将协议编号为M的协议分析函数的指针存储在内存数组空间FuncArray[M]处;其中N为协议的总个数,M为从0到N-1之中的任意一个数。通过上述方法快速实现分析回调方法的注册,采用内存空间指针的分配方式,实现简便且效率高。
更进一步地,上述配置分析过滤器的过程具体为:i.内存的每一个比特位来控制一种协议;ii.在分析过滤器中打开关于某种协议的分析开关;iii.从分析过滤器中读取某种协议的分析开关是否被打开,若打开则调用相应注册的回调函数。通过上述方法实现分析过滤器的快速配置,只要控制一个比特位就可以控制分析过滤器对应某种协议的开关,进一步提高了网络协议分析的效率。
更进一步地,上述协议分析的具体过程为:获取分析过滤器中已经被用户配置了的需要被分析的协议编号,当编号为Z的协议需要被分析识别时,调用内存数组空间FuncArray[Z]的注册函数即可进行协议分析。通过上述方法,快速实现网络协议分析。
更进一步地,上述结果过滤器用于对分析过滤器的结果进行过滤,其具体包括以下的步骤:当分析结果已经显示当前数据包不是采用某种协议时,通过结果过滤器将对应的内存位置置为1,后续的数据包将不再调用该协议的回调函数做分析。通过结果过滤器再一次进行分析结果的过滤,避免了多次的循环,提高了协议识别的效率。
本发明公开了一种控制多种不同网络协议分析开关的装置,其具体包括分析过滤器、数据包获取装置和结果过滤器;所述分析过滤器用于注册分析回调方法,并根据环境配置需要被识别的协议,然后调用分析回调方法对数据包进行分析;所述数据包获取装置用于采集数据包;所述结果过滤器用于根据分析回调方法的分析结果配置结果过滤器。通过上述装置实现协议分析的开关,通过开关与执行函数的绑定做到根据实际配置,减少了循环遍历的次数,实现灵活,同时还不会使系统产生额外的资源消耗。
通过采用以上的技术方案,本发明的有益效果为:在识别分析的入口,通过开关控制环境下需要做的分析功能,同时在运行过程中根据分析结果,过滤某些不需要再次执行的功能函数;通过开关与执行函数的绑定做到根据实际配置。本发明的方法可以根据具体需求,实现定制分析,同时不使用循环遍历,由操作二进制数据位实现,高效。
附图说明
图1 为本发明的分析过滤器的内存结构示意图。
图2为基于网络通信协议的识别装置的结构示意图。
图3为控制多种不同网络协议分析开关的方法的实现流程图。
具体实施方式
下面结合说明书附图,详细说明本发明的具体实施方式。
本发明公开了一种控制多种不同网络协议分析开关的方法,其具体包括以下的步骤:
步骤一、对所有的网络协议进行编号处理。
定义协议编号Protocol ID,并为每一个协议编号Protocol ID注册对应的分析识别回调方法;本发明中的回调方法注册就是将不同协议的Protocol ID与对应的协议分析识别函数关联起来。采用分析过滤器配置哪些协议需要被分析识别。首先定义协议编号Protocol ID,比如可以定义HTTP协议为7、TCP协议为600、DNS协议为3等,具体的定义值可以根据某种规则,定义的值不应过大,从0开始自小到大进行定义。如果总共定义了N种协议,即有N个Protocol ID,那么值可以是从0到N-1。
步骤二、将网络协议与对应的分析识别函数进行绑定,实现回调方法的注册。
回调方法就是一个执行一定功能的函数,并且会对函数的执行时机做出限制,即在满足一定条件时,函数将被执行,回调方法的注册就是将执行函数和执行条件关联起来的过程,具体包括以下步骤:1.设置函数可以被允许执行的条件;2.实现函数的具体执行内容;3.当设置的执行条件被满足时,识别函数将立即执行。配置回调函数就是将协议与对应的分析函数绑定,方法如下:a.分配一个size of (void*)*N的内存数组空间FuncArray,size of(void*)是一个函数指针的长度,即分配一个可以存储N个函数指针的内存空间;b.将协议编号为M的协议分析函数的指针存储在FuncArray[M]处即完成注册。
步骤三、根据用户的需要,打开对应协议的分析开关。
配置分析过滤器,分析过滤器就是预先根据用户需要,控制哪些协议的通信会话需要被识别出来。比如需要分析HTTP数据,那么就需要打开HTTP协议的分析开关。具体配置如下:
i.初始化配置过滤器的内存结构,结构如图1所示,通过分配一段连续的内存空间,内存的每一个比特位来控制一种协议,申请一段长度FilterArrayLen = N/8 + 1的数组FilterArray。
ii.在过滤器中打开关于某种协议的分析开关,设需要分析识别协议编号为X的数据会话时,即在FilterArray数组中,将从左向右的X个bit位设置为1即可,设置方法为:FilterArray[X/8] |= (1 << ((uint32_t)X)%8)。
iii.从过滤器读取某种协议的分析开关是否被设置,若设置了需要调用相应注册的回调函数,如需要判断协议编号为Y的协议是否需要被分析识别时,应检测FilterArray数组,从左到右的第Y个bit位是否被设置为1,检测方法为:Bool isSet = FilterArray[X/8] & (1 << ((uint32_t)X)%8)。
实际上,哪些些协议需要被分析设置完全由用户根据使用场景来决定,不受本发明具体实施方法的限制,本发明只是根据用户需要做出配置,然后分析用户需要的信息。
步骤四、根据步骤三中用户的需要执行分析识别回调函数。其具体的步骤为:获取配置分析过滤器中已经被用户配置了的需要被分析的协议编号,设编号为Z的协议需要被分析识别;调用FuncArray[Z]的注册函数即可,同时返回执行结果。
步骤五、配置结果过滤器
结果过滤器RFilterArray是用于保存分析的结果,主要用做排除操作,其结构同分析过滤器一致。因为分析函数以是数据包为单位的,所以分析函数可能需要分析多个数据包,才能得到想要用户数据,如会话协议信息;在这些协议信息未被确定之前,分析函数可能已经能够确定不是某几种协议,在这种情况下后续的数据包可以减少被分析的次数,同时提高分析效率,步骤如下:
(1)需要检测某个通信会话是不是A、B、C种协议的中的一种,那么ABC三种协议及其对应的分析方法将会被注册。
(2)在分析了这个会话的数据包时,需要调用ABC三个协议的回调函数。
(3)在第P个包时,A协议的函数已经知晓了,这个通信会话协议不可能是A了,那么此时RFilterArray的从左到右的A位bit位,将被设置为1,后续的数据包将不会再调用A协议的回调函数做分析。
(4)会话的数据包继续调用B、C协议的回调函数,直到分析完毕。
图2为基于网络通信协议的识别装置的结构示意图。
图3为本发明的控制多种不同网络协议分析开关的方法的实现流程图。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用发明的,发明并不限定仅取前述公开的数值,在不脱离发明的思想的情况下,本领域的技术人员可以对上述实施例作出种种修改或调整,因而发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。

Claims (7)

1.一种控制多种不同网络协议分析开关的方法,其具体包括以下的步骤:步骤一、初始化分析过滤器,注册分析回调方法,并配置分析过滤器,根据环境配置需要被识别的协议;步骤二、采集数据包,使用结果过滤器判断该数据包是否需要分析,是则依次调用分析过滤器注册的分析回调方法进行协议分析,否则继续采集下一个数据包;步骤三、根据步骤二的分析结果配置结果过滤器。
2.如权利要求1所述的控制多种不同网络协议分析开关的方法,其特征在于所述注册分析回调方法就是将执行函数和执行条件关联起来的过程,具体包括以下步骤:(1).设置函数可以被允许执行的条件;(2).实现函数的具体执行内容;(3).当设置的执行条件被满足时,识别函数将立即执行。
3.如权利要求2所述的控制多种不同网络协议分析开关的方法,其特征在于所述注册分析回调方法具体为:a.分配一个可以存储N个函数指针的内存空间;b.将协议编号为M的协议分析函数的指针存储在内存数组空间的M处;其中N为协议的总个数,M为从0到N-1之中的任意一个整数。
4.如权利要求2所述的控制多种不同网络协议分析开关的方法,其特征在于所述配置分析过滤器的过程具体为:i.内存的每一个比特位来控制一种协议;ii.在分析过滤器中打开关于某种协议的分析开关;iii.从分析过滤器中读取某种协议的分析开关是否被打开,若打开则调用相应注册的回调函数。
5. 如权利要求2所述的控制多种不同网络协议分析开关的方法,其特征在于所述协议分析的具体过程为:获取分析过滤器中已经被用户配置了的需要被分析的协议编号,当编号为Z的协议需要被分析识别时,调用内存数组空间 Z处的注册函数即可进行协议分析。
6.如权利要求2所述的控制多种不同网络协议分析开关的方法,其特征在于所述结果过滤器用于对分析过滤器的结果进行过滤,其具体包括以下的步骤:当分析结果已经显示当前数据包不是采用某种协议时,通过结果过滤器将对应的内存位置置为1,后续的数据包将不再调用该协议的回调函数做分析。
7.一种控制多种不同网络协议分析开关的装置,其具体包括分析过滤器、数据包获取装置和结果过滤器;所述分析过滤器用于注册分析回调方法,并根据环境配置需要被识别的协议,然后调用分析回调方法对数据包进行分析;所述数据包获取装置用于采集数据包;所述结果过滤器用于根据分析回调方法的分析结果配置结果过滤器。
CN201610868077.XA 2016-09-30 2016-09-30 一种控制多种不同网络协议分析开关的方法及装置 Active CN107360051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610868077.XA CN107360051B (zh) 2016-09-30 2016-09-30 一种控制多种不同网络协议分析开关的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610868077.XA CN107360051B (zh) 2016-09-30 2016-09-30 一种控制多种不同网络协议分析开关的方法及装置

Publications (2)

Publication Number Publication Date
CN107360051A true CN107360051A (zh) 2017-11-17
CN107360051B CN107360051B (zh) 2021-06-15

Family

ID=60271281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610868077.XA Active CN107360051B (zh) 2016-09-30 2016-09-30 一种控制多种不同网络协议分析开关的方法及装置

Country Status (1)

Country Link
CN (1) CN107360051B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783816A (zh) * 2004-11-30 2006-06-07 中兴通讯股份有限公司 通讯网络协议分析装置
CN101286895A (zh) * 2008-05-22 2008-10-15 上海交通大学 可动态配置的分布式网络数据监控系统及方法
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及系统
CN101426000A (zh) * 2007-10-30 2009-05-06 北京启明星辰信息技术有限公司 一种通用协议解析方法及系统
CN101442518A (zh) * 2007-11-22 2009-05-27 北京启明星辰信息技术股份有限公司 一种用于异常检测的协议解析方法及系统
CN101567845A (zh) * 2009-04-27 2009-10-28 成都科来软件有限公司 一种通用网络数据包实时处理系统及方法
CN102195945A (zh) * 2010-03-11 2011-09-21 凹凸电子(武汉)有限公司 协议识别方法、装置及系统
CN102238021A (zh) * 2010-04-28 2011-11-09 西门子公司 报文序列查找方法、协议分析引擎和协议分析仪
CN103139315A (zh) * 2013-03-26 2013-06-05 烽火通信科技股份有限公司 一种适用于家庭网关的应用层协议解析方法
CN103152268A (zh) * 2013-02-06 2013-06-12 北京奇虎科技有限公司 数据包处理的方法及装置
CN103685224A (zh) * 2013-09-05 2014-03-26 北京安博达通科技有限责任公司 网络入侵检测方法
CN104579818A (zh) * 2014-12-01 2015-04-29 国家电网公司 智能变电站网络异常报文检测方法
CN104717101A (zh) * 2013-12-13 2015-06-17 中国电信股份有限公司 深度包检测方法和系统
CN105337797A (zh) * 2015-10-15 2016-02-17 哈尔滨工业大学 一种复杂电子信息系统网络协议数据捕获方法
US20160088001A1 (en) * 2014-09-22 2016-03-24 Alcatel-Lucent Usa Inc. Collaborative deep packet inspection systems and methods
KR101641502B1 (ko) * 2014-11-28 2016-07-21 주식회사 우진산전 철도차량의 mvb 통신 프로토콜 분석장치

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783816A (zh) * 2004-11-30 2006-06-07 中兴通讯股份有限公司 通讯网络协议分析装置
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及系统
CN101426000A (zh) * 2007-10-30 2009-05-06 北京启明星辰信息技术有限公司 一种通用协议解析方法及系统
CN101442518A (zh) * 2007-11-22 2009-05-27 北京启明星辰信息技术股份有限公司 一种用于异常检测的协议解析方法及系统
CN101286895A (zh) * 2008-05-22 2008-10-15 上海交通大学 可动态配置的分布式网络数据监控系统及方法
CN101567845A (zh) * 2009-04-27 2009-10-28 成都科来软件有限公司 一种通用网络数据包实时处理系统及方法
CN102195945A (zh) * 2010-03-11 2011-09-21 凹凸电子(武汉)有限公司 协议识别方法、装置及系统
CN102238021A (zh) * 2010-04-28 2011-11-09 西门子公司 报文序列查找方法、协议分析引擎和协议分析仪
CN103152268A (zh) * 2013-02-06 2013-06-12 北京奇虎科技有限公司 数据包处理的方法及装置
CN103139315A (zh) * 2013-03-26 2013-06-05 烽火通信科技股份有限公司 一种适用于家庭网关的应用层协议解析方法
CN103685224A (zh) * 2013-09-05 2014-03-26 北京安博达通科技有限责任公司 网络入侵检测方法
CN104717101A (zh) * 2013-12-13 2015-06-17 中国电信股份有限公司 深度包检测方法和系统
US20160088001A1 (en) * 2014-09-22 2016-03-24 Alcatel-Lucent Usa Inc. Collaborative deep packet inspection systems and methods
KR101641502B1 (ko) * 2014-11-28 2016-07-21 주식회사 우진산전 철도차량의 mvb 통신 프로토콜 분석장치
CN104579818A (zh) * 2014-12-01 2015-04-29 国家电网公司 智能变电站网络异常报文检测方法
CN105337797A (zh) * 2015-10-15 2016-02-17 哈尔滨工业大学 一种复杂电子信息系统网络协议数据捕获方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗娜: "基于协议分析的入侵检测系统的设计", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
CN107360051B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN110535777B (zh) 访问请求控制方法、装置、电子设备以及可读存储介质
EP2255517B1 (en) Data retention and lawful intercept for ip services
DE60219536T2 (de) System und Verfahren für verbesserte Sicherheit in Versorgung und Umprogrammierung von Handgeräten
CN109710511B (zh) Ab测试方法、装置、服务器及存储介质
CN104125596B (zh) 一种数据流量统计方法和装置
CN111865736B (zh) 一种设备控制方法及装置
US8745225B2 (en) Method and apparatus for detecting tethering in a communications network
CN102006124A (zh) 频谱预测方法、装置和系统
CN111030971B (zh) 一种分布式访问控制方法、装置及存储设备
CN104507147A (zh) 一种功率放大器控制装置及方法
EP2538709A3 (fr) Procédé de basculement, terminal et programme d&#39;ordinateur correspondants
CN106899987A (zh) 对移动终端的数据流量进行校准的方法及装置
US7885258B2 (en) Packet switch equipment and bandwidth control method using the same
CN111130828B (zh) 一种智能配网方法、装置及终端设备
CN107171818A (zh) 用于混合云的控制方法、系统和装置
CN107360051A (zh) 一种控制多种不同网络协议分析开关的方法及装置
CN106951971A (zh) 场地预约方法及装置
CN106648810A (zh) 应用程序资源的获取方法及装置
CN108270753A (zh) 注销用户账号的方法及装置
CN110908642B (zh) 一种策略生成执行方法和装置
US10764722B2 (en) Subscriber sampling for network packet forwarding based upon unique subscriber identifiers
CN115860070A (zh) 数据处理方法及装置、电子设备、计算机可读存储介质
CN102917027A (zh) 网页聊天室的访问方法、装置及系统
US11343189B2 (en) Systems and methods for augmenting TCAM bank processing with exact match
EP2095671A2 (en) Policy execution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 610041 No. 06, floor 15, unit 2, building 1, No. 28, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Patentee after: Chengdu Shumo Technology Co.,Ltd.

Patentee after: NATIONAL COMPUTER NETWORK AND INFORMATION SECURITY MANAGEMENT CENTER

Address before: B6-7, Tianfu Software Park, 99 Tianhua 1st Road, high tech Zone, Chengdu, Sichuan 610041

Patentee before: COLASOFT Co.,Ltd.

Patentee before: NATIONAL COMPUTER NETWORK AND INFORMATION SECURITY MANAGEMENT CENTER

CP03 Change of name, title or address