一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络资产自定义协议识别方法、装置、终端及存储介质与流程

2022-10-26 20:27:52 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其是涉及网络资产自定义协议识别方法、装置、终端及存储介质。


背景技术:

2.网络资产包括硬件资产和软件资产。其中,硬件资产如网络设备、安全设备等实体设备,而软件资产包括应用在硬件资产中的操作系统和数据库。
3.管理者在对硬件资产进行探测过程中,需要准确的掌握网络资产的总量信息和使用情况信息,包括但不限于安装了哪些软件,新增了哪些设备。
4.在复杂的网络环境中,硬件资产常涉及多个厂商的私有通信协议。所以为了识别多个厂商的私有通信协议,常需要使用厂商自有识别程序来识别出管理者的网络资产。但是,获取多个厂商的自有识别程序的识别方式安装、部署困难,识别手段单一,甚至有的厂商所使用的通信协议由于具有保密性而难以获取。因此,当前的识别手段难以应对复杂多变的网络环境下存在的各种硬件资产,导致识别协议时难度大。


技术实现要素:

5.本技术提供一种网络资产自定义协议识别方法、装置、终端及存储介质,具有降低识别实体设备私有通信协议的难度的特点。
6.本技术目的一是提供一种网络资产自定义协议识别方法。
7.本技术的上述申请目的一是通过以下技术方案得以实现的:一种网络资产自定义协议识别方法,包括:发送请求报文;接收实体设备返回的特征信息生成响应报文;调取协议识别库,所述协议识别库中包含有与响应报文一一对应的自定义协议;根据响应报文在协议识别库中进行匹配得到自定义协议;调取规则库,所述规则库中包含有与自定义协议一一对应的指纹数据;根据自定义协议在规则库中进行匹配得到指纹数据。
8.通过采用上述技术方案,在进行实体设备资产探测时,通过获取实体设备与识别装置之间进行数据传输的报文规则,再根据获取到的报文规则在协议识别库中进行匹配得到自定义协议,同时获取到与该自定义协议对应的指纹数据。由此可知,本技术能够在不知道私有通信协议的真实名称下,通过数据传输的报文规则获知该私有通信协议的指纹数据,从而使得本技术能够应对复杂多变的网络环境下存在的各种硬件资产,即降低了识别私有通信协议的难度。
9.本技术在一较佳示例中可以进一步配置为:所述发送请求报文之前,需要先与实体设备建立网络链接,所述网络链接所采用的协议包括tcp、udp、http。
10.通过采用上述技术方案,上述三种协议能够为本技术与实体设备建立数据传输通
道提供技术支持。
11.本技术在一较佳示例中可以进一步配置为:所述特征信息包括header信息、banner信息、tail信息以及body信息。
12.通过采用上述技术方案,由于特征信息包含有header信息、banner信息、tail信息以及body信息,则可以根据header信息、banner信息、tail信息以及body信息的传输顺序确定报文规则,即特征信息为获得报文规则提供了数据支持。
13.本技术在一较佳示例中可以进一步配置为:所述调取协议识别库前,需要先建立协议识别库,建立所述协议识别库的步骤包括:获取界面程序输入的协议名称、协议类型、绑定端口、连接超时以及发包内容;所述协议类型包括tcp、udp、http,所述绑定端口为端口编号,一所述端口编号用于传输一发包内容,所述连接超时为将所述响应报文与所述端口号所传输的发包内容进行匹配的时间,所述发包内容为十六进制的字符串;将所述协议名称、协议类型、绑定端口、连接超时以及发包内容依次排序生成展示界面;多个所述展示界面按照生成的时间顺序排序得到协议识别库。
14.通过采用上述技术方案,使得在获取到响应报文时,根据协议识别库中展示界面的排序依次为响应报文匹配对应的发包内容,即匹配对应的自定义协议,从而实现识别出实体设备的私有通信协议的目的。
15.本技术在一较佳示例中可以进一步配置为:所述根据响应报文在协议识别库中进行匹配得到自定义协议的步骤包括:获取特征信息;根据所述特征信息在协议识别库中按照展示界面的排序依次对比发包内容;若比对的特征信息与发包内容相同,则将与发包内容在同一展示界面上的协议名称标记为实体设备的自定义协议。
16.通过采用上述技术方案,使得即使不知道私有通信协议的真实名称,但是可以根据数据传输的报文规则匹配得到设定的自定义协议,从而便于获知该实体设备的组件服务。
17.本技术在一较佳示例中可以进一步配置为:所述调取预设规则库前,需要先建立规则库,建立所述规则库的步骤包括:获取多个上位关键词;根据多个上位关键词在第一页面中获取第一页面的第一指纹数据;获取多个下位关键词;根据多个下位关键词在第二页面中获取第二页面的第二指纹数据;第一指纹数据和第二指纹数据组合而成数据包,数据包转化为十六进制的字符串时形成发包内容,一个数据包为一个指纹数据,指纹数据包括系统指纹、硬件指纹、ip地址指纹、服务指纹以及应用程序指纹;多个数据包集合而成规则库。
18.通过采用上述技术方案,建立规则库,每一个规则库由多个指纹数据组成,而指纹数据中包含有系统指纹、硬件指纹、ip地址指纹、服务指纹以及应用程序指纹。因此,根据指
纹数据便于获知到该实体设备的组件服务。
19.本技术在一较佳示例中可以进一步配置为:所述根据自定义协议在规则库中进行匹配得到指纹数据的步骤包括:获取自定义协议;根据所述自定义协议确认协议名称;根据所述协议名称调取与所述协议名称位于同一展示界面上的发包内容;根据所述发包内容确定所述指纹数据。
20.通过采用上述技术方案,本技术能够在不知道私有通信协议的真实名称下,获知实体设备的报文规则,并根据报文规则匹配得到自定义协议,然后再根据自定义协议匹配得到指纹数据,即为管理者提供了获知该实体设备的组件服务的技术手段,降低了识别实体设备的私有通信协议的难度。
21.本技术目的二是提供一种网络资产自定义协议识别装置。
22.本技术的上述申请目的二是通过以下技术方案得以实现的:一种网络资产自定义协议识别装置,包括:数据发送模块,用于请求报文;数据接收模块,用于接收实体设备返回的特征信息生成的响应报文;第一调取模块,用于调取协议识别库,所述所述协议识别库中包含有与响应报文一一对应的自定义协议;协议识别模块,用于根据响应报文在协议识别库中进行匹配得到自定义协议;第二调取模块,用于调取规则库,所述规则库中包含有与自定义协议一一对应的指纹数据;服务匹配模块,用于根据自定义协议在规则库中进行匹配得到指纹数据。
23.通过采用上述技术方案,数据发送模块、数据接收模块、第一调取模块、协议识别模块、第二调取模块以及服务匹配模块之间共同协调工作,从而为识别出实体设备的私有通信协议提供硬件支持。
24.本技术目的三是提供一种智能终端。
25.本技术的上述申请目的三是通过以下技术方案得以实现的:一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行的上述网络资产自定义协议识别方法的计算机程序指令。
26.本技术目的四是提供一种计算机介质,能够存储相应的程序。
27.本技术的上述申请目的四是通过以下技术方案得以实现的:一种计算机可读存储介质,存储有能够被处理器加载并执行上述的网络资产自定义协议识别方法的计算机程序。
28.综上所述,本技术包括以下至少一种有益技术效果:本技术能够在不知道私有通信协议的真实名称下,通过数据传输的报文规则获知该私有通信协议的指纹数据,从而使得本技术能够应对复杂多变的网络环境下存在的各种硬件资产,即降低了识别实体设备的私有通信协议的难度。
附图说明
29.图1为本技术提供的一种网络资产自定义协议识别系统框图。
30.图2为本技术提供的一种网络资产自定义协议识别方法流程图。
31.图3为本技术实施例的建立协议识别库中生成展示界面的示例图。
32.附图标记说明:10、网络资产管理系统;20、自定义协议识别系统;21、数据发送模块;22、数据接收模块;23、第一调取模块;24、协议识别模块;25、第二调取模块;26、服务匹配模块。
具体实施方式
33.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本技术保护的范围。
34.本技术应用于物联网系统中,参照图1,该物联网系统包括网络资产管理系统10和自定义协议识别系统20,网络资产管理系统10和自定义协议识别系统20通过tcp、udp、http协议建立网络链接。
35.网络资产管理系统10包括实体管理子系统和虚体管理子系统。其中,实体管理子系统用于管理实体设备资产,虚体管理子系统用于管理虚体应用程序资产。在探测实体设备资产的过程中,由于实体设备常涉及多个厂商的私有通信协议,而每一家厂商的通信协议又依赖厂商自己的程序,导致一个实体设备需要多个程序才能识别出该实体设备所具有的全部私有通信协议。因此,识别实体设备所采用的私有通信协议难度大。对于虚体应用程序来说,由于可以通过设置抓包插件,由抓包插件获取虚体应用程序输出的流量数据,然后对流量数据进行特征提取,再根据流量数据的特征识别出虚体应用程序所采用的私有通信协议,所以识别虚体应用程序的私有通信协议相较于识别实体设备的私有通信协议难度要低。
36.自定义协议识别系统20包括协议识别库和规则库,协议识别库用于存储与实体设备的私有通信协议对应的自定义协议,规则库中存储有与自定义协议对应的组件服务。
37.本技术还提供了一种网络资产自定义协议识别装置,该识别装置位于自定义协议识别系统20中。具体地,该识别装置包括数据发送模块21、数据接收模块22、第一调取模块23、协议识别模块24、第二调取模块25、服务匹配模块26。其中,数据发送模块21、数据接收模块22、第一调取模块23、协议识别模块24、第二调取模块25、服务匹配模块26依次连接。
38.本技术提供一种网络资产自定义协议识别方法,参照图2,所述方法的主要流程描述如下:步骤s10:发送请求报文。
39.首先,当实体设备与识别装置建立网络链接后,识别装置通过tcp或udp或者http向实体设备发送请求报文,请求报文为十六进制的字符串。在本实施例中,请求报文具体如下:2000000185ae000000000001080000000000000000000000000000000000000000000000。在其他实施例中,当探测的实体设备的私有通信协议的数量减少时请求报文可以设置为十进制的字符串或者二进制的字符串。
40.步骤s20:接收实体设备返回的特征信息生成响应报文。
41.特征信息包括header信息、banner信息、tail信息以及body信息。其中,header信息为请求报文的头部。banner信息为请求报文的标识位。tail信息为请求报文的尾部。body信息为请求报文除头部、标识位、尾部之外的数据位。也就是说,header信息、banner信息、tail信息以及body信息共同组成请求报文。
42.响应报文为特征信息所包含的header信息、banner信息、tail信息以及body信息返回到识别装置的顺序。如实体设备接收到请求报文后,会按照自身所使用的私有通信协议向识别装置返回特征信息,而实体设备可以按照header信息、banner信息、tail信息以及body信息的顺序依次返回,或者按照banner信息、header信息、tail信息以及body信息的顺序返回,还可以按照body信息、tail信息、banner信息以及header信息的顺序返回。由此可知,响应报文的数量与请求报文被划分为多少个部分相关,具体的关系式为:响应报文的数量=n!。
43.其中,n!为阶乘公式。所以当请求报文被化分为四个部分时,响应报文的数量=4!=4x3x2x1=24种。因此,当请求报文被划分的部分数量越多,则响应报文的数量也将越多。
44.综上所述,在实际应用中,为了便于识别出实体设备大量的私有通信协议,可以根据需要设置响应报文的数量,使得一种响应报文对应一种私有通信协议。
45.步骤s30:调取协议识别库和规则库。
46.首先,在调取协议识别库和规则库前,需要先建立协议识别库和规则库,而协议识别库与规则库相互关联,所以在以下步骤s31中先对协议识别库的建立过程进行介绍,再在步骤s32中对规则库进行介绍。参照图3,步骤s31中建立协议识别库的具体过程为:步骤s311:获取界面程序输入的协议名称、协议类型、绑定端口、连接超时以及发包内容;步骤s312:将协议名称、协议类型、绑定端口、连接超时以及发包内容依次排序生成展示界面,所述展示界面上还设置有判断逻辑;步骤s313:多个展示界面按照生成时间顺序排序得到协议识别库。
47.其中,协议类型包括tcp、udp、http,即可以选择tcp、udp、http中的任意一种协议进行数据传输。绑定端口为端口编号,一个端口编号用于传输一个发包内容。连接超时为将响应报文与端口号所传输的发包内容进行匹配的时间(单位为秒),当超出连接超时的时间时,将自动将响应报文与下一编号的端口号所传输的发包内容进行匹配。发包内容为十六进制的字符串。判断逻辑用于显示当前的匹配结果,即匹配正确或者匹配错误两种情况。
48.上述建立协议识别库的过程简化为:首先,管理者在界面中输入协议名称、协议类型、绑定端口号、连接超时以及发包内容,再由界面程序在界面中抓取管理者输入的协议名称、协议类型、绑定端口号、连接超时以及发包内容,并将抓取到的各项数据传输至识别装置中。然后,识别装置将界面程序传输的各项数据对应放置在展示界面的展示框中,展示框由上至下分别用于展示协议名称、协议类型、绑定端口号、连接超时、发包内容以及判断逻辑。最后,再将各项数据已经对应放置到所对应的展示框的展示界面存储起来,用于存储多个展示界面的数据库就形成了协议识别库。
49.上述判断各项数据是否已经对应放置到所对应的展示框的方法为:当遍历到最后一个展示框时,若还存在多余的数据项,则证明存在一个展示框并未获取到展示的数据项,
此时界面程序需要再次从界面中抓取各项数据,而重新放置到展示框中。
50.需要说明的时,位于同一个展示界面中的协议名称、协议类型、绑定端口、连接超时、发包内容以及判断逻辑相互关联,即当调取其中任意一项数据时,该项数据所在的展示界面中包含的全部数据项也将会被调取出来,也可以简单理解为选中了展示界面中的任意一项数据时,整个展示界面都将被调取出来并进行展示。
51.进一步地,步骤s32中建立规则库的具体过程为:步骤s321:获取多个上位关键词;步骤s322:根据多个上位关键词在第一页面中获取第一页面的第一指纹数据;步骤s323:获取多个下位关键词;步骤s324:根据多个下位关键词在第二页面中获取第二页面的第二指纹数据;步骤s325:第一指纹数据和第二指纹数据组合而成数据包,一个数据包为一个指纹数据;步骤s326:多个数据包集合而成规则库。
52.简单来说,建立规则库的过程为先根据多个上位关键词采集到第一页面的第一指纹数据,再通过多个下位关键词采集到第二页面的第二指纹数据。其中,第一指纹数据为第一页面的源代码中包含的所有数据,而第二指纹数据为第二页面的源代码中包含的所有数据。而源代码中包含的数据有系统指纹、硬件指纹、ip地址指纹、服务指纹以及应用程序指纹,从而便于根据系统指纹、硬件指纹、ip地址指纹、服务指纹以及应用程序指纹确定实体设备的组件服务。所以说,指纹数据包括系统指纹、硬件指纹、ip地址指纹、服务指纹以及应用程序指纹。
53.需要说明的是,下位关键词可以为上位关键词的下位词,如上位关键词为金融,则下位关键词可以为股票。下位关键词还可以是上位关键词的补充,如上位关键词为游戏,下位关键词可以为娱乐、放松等靠近游戏的词组。
54.每一个数据包与一个发包内容对应,发包内容通过一个端口号进行传输,而发包内容是指将数据包转换为十六进制字符串后再进行传输的数据信息,所以说规则库与协议识别库相互关联。
55.经过上述步骤s31得到协议识别库和经过上述步骤s32得到规则库后,将协议识别库和规则库存储起来,以便于后续调用。
56.步骤s40:根据响应报文在协议识别库中匹配得到自定义协议。
57.得到响应报文和协议识别库后,根据响应报文在协议识别中的匹配对应的发包内容,即如果响应报文中header信息、banner信息、tail信息以及body信息的顺序与发包内容中header信息、banner信息、tail信息以及body信息的顺序相同,则将发包内容所对应的自定义协议标记为响应报文的自定义协议,自定义协议是发包内容所在的展示界面上的协议名称。如协议名称为协议a,则该响应报文的自定义协议就叫做协议a。
58.由此可知,即使实体设备所采用的是私有通信协议,且私有的通信协议为保密协议,管理者不能获知协议的真正名称,但是却能够在实体设备与识别装置之间进行数据传输时,获取到数据传输的报文规则,并根据报文规则匹配到自己定义的名称。也就是说,虽然不知道该协议真正的名称,但是却知道了该协议传输的报文规则,所以即使名称不相同也并不妨碍管理者进行资产探测,而只是采用了管理者自己定义的名称代替该协议的真正
名称而已。
59.步骤s50:根据自定义协议在规则库中匹配得到指纹数据。
60.匹配得到自定义协议后,可以调取该自定义协议所在的展示界面,并根据展示界面得到展示界面中包含的发包内容,而发包内容是数据包转换为十六进制字符串后的数据信息,所以得到自定义协议后,就可以得到该自定义协议的指纹数据,从而根据指纹数据获知该实体设备的组件服务。如指纹数据中系统指纹包含有linux系统、windows系统,而服务指纹中具有允许将perl/python等解释器编译到服务器中,应用程序为网页服务器软件,ip地址指纹能够打开中文名称为阿帕奇、外文名称为apache http server的页面,则该实体设备的组件服务为apacheweb服务器。
61.综上所述,本技术通过设定协议识别库,并在协议识别库中存储有多种报文规则,并且为每一种报文规则都进行自定义命名,然后为每一种报文规则匹配一个组件服务,并将多个组件服务存储至规则库中。在进行实体设备资产探测时,通过获取实体设备与识别装置之间进行数据传输的报文规则,再根据获取到的报文规则在协议识别库中进行匹配得到自定义命名的协议,进而获取到与该自定义协议对应的组件服务。因此,利用本技术识别实体设备的私有通信协议时,即使不知道私有通信协议的真实名称,但是可以根据数据传输的报文规则获知该私有通信协议的组件服务。由此可知,识别装置能够应对复杂多变的网络环境下存在的各种硬件资产,即降低了识别实体设备的私有通信协议的难度。
62.为了更好地执行上述方法的程序,本技术还提供一种智能终端,智能终端包括存储器和处理器。
63.其中,存储器可用于存储指令、程序、代码、代码集或指令集。存储器可以包括存储程序区和存储数据区,其中存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令以及用于实现上述网络资产自定义协议识别方法的指令等;存储数据区可存储上述网络资产自定义协议识别方法中涉及到的数据等。
64.处理器可以包括一个或者多个处理核心。处理器通过运行或执行存储在存储器内的指令、程序、代码集或指令集,调用存储在存储器内的数据,执行本技术的各种功能和处理数据。处理器可以为特定用途集成电路、数字信号处理器、数字信号处理装置、可编程逻辑装置、现场可编程门阵列、中央处理器、控制器、微控制器和微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
65.本技术还提供一种计算机可读存储介质,例如包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该计算机可读存储介质存储有能够被处理器加载并执行上述网络资产自定义协议识别方法的计算机程序。
66.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其他技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献