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

一种路由器中协议数据的修改方法、装置及可读存储介质与流程

2022-06-01 07:48:07 来源:中国专利 TAG:


1.本技术涉及网络通信技术领域,尤其是涉及一种路由器中协议数据的修改方法、装置及可读存储介质。


背景技术:

2.路由器(router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的tcp/ip协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非tcp/ip网络的地址转换成tcp/ip地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。
3.路由器中包括有多种协议的协议数据,例如,tbus协议数据、ssh协议数据以及http协议数据等等;由于,路由器中各协议数据在路由器出厂时已被固定设置,在使用过程中调用协议数据仅能够生成固定格式的数据指令,用户通常无法随着路由器的应用场景转变,而转变数据指令的生成格式,使得数据生成格式较为单一,且不具有多样性,路由器的应用场景较为局限;因此,如何实现协议数据的数据指令内容上的修改成为了亟待解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种路由器中协议数据的修改方法、装置及可读存储介质,可实现路由器协议数据内容上的修改,间接地,可帮助路由器相关的开发人员及测试人员分析并规避路由器所存在的风险点,进而,保证路由器使用过程中的安全性。
5.本技术实施例提供了一种路由器中协议数据的修改方法,所述修改方法包括:
6.根据路由器中每条协议数据传输时所利用的端口信息,从获取到的所述路由器预设的多条协议数据中过滤出目标协议数据;
7.针对于每条目标协议数据,根据该目标协议数据的数据特征码,确定该目标协议数据的消息类型;
8.按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分;
9.基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息;其中,所述多个待组合信息中包括至少一个可修改信息和多个不可修改信息;
10.针对于每个可修改信息,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,得到至少一个修改后的可修改信息;
11.按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令。
12.进一步的,所述基于每个数据组成部分中所包括的数据信息,确定出用于生成该
目标协议数据的数据指令的多个待组合信息,包括:
13.针对于每个数据组成部分,根据该数据组成部分的属性信息,确定在该数据组成部分中待组合信息对应的字节数据所占的字节位;
14.按照所述字节位,从所述数据信息中提取出所述字节数据;
15.将所述字节数据转化为用于生成数据指令的待组合信息;
16.基于每个数据组成部分对应的待组合信息,得到用于生成所述数据指令的多个待组合信息。
17.进一步的,所述按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分,包括:
18.利用所述消息类型对应的拆分方式,将该目标协议数据按照预设数据结构拆分为多个数据组成部分;
19.针对于每个数据组成部分,确定该数据组成部分中是否存在字节缺失项;
20.若存在,利用预设字符填充所述字节缺失项,得到补充后的数据组成部分;
21.将所述补充后的数据组成部分确定为该目标协议数据的数据组成部分。
22.进一步的,通过以下步骤确定该数据组成部分中是否存在字节缺失项:
23.针对于该数据组成部分中的每项数据内容,确定该项数据内容的长度是否满足预设长度条件;
24.若否,确定所述数据组成部分中存在字节缺失项,并将该项数据内容确定为字节缺失项。
25.进一步的,所述按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令,包括:
26.按照所述生成格式,获取所述数据指令的指令生成模板;
27.将所述多个不可修改信息以及所述至少一个修改后的可修改信息,分别填充至所述指令生成模板中的相应位置处,得到该目标协议数据的数据指令。
28.进一步的,所述目标协议数据属于tbus协议;所述端口信息包括端口号。
29.本技术实施例还提供了一种路由器中协议数据的修改装置,所述修改装置包括:
30.协议过滤模块,用于根据路由器中每条协议数据传输时所利用的端口信息,从获取到的所述路由器预设的多条协议数据中过滤出目标协议数据;
31.类型确定模块,用于针对于每条目标协议数据,根据该目标协议数据的数据特征码,确定该目标协议数据的消息类型;
32.数据拆分模块,用于按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分;
33.信息确定模块,用于基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息;其中,所述多个待组合信息中包括至少一个可修改信息和多个不可修改信息;
34.信息修改模块,用于针对于每个可修改信息,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,得到至少一个修改后的可修改信息;
35.指令生成模块,用于按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令。
36.进一步的,所述信息确定模块在用于基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息时,所述信息确定模块用于:
37.针对于每个数据组成部分,根据该数据组成部分的属性信息,确定在该数据组成部分中待组合信息对应的字节数据所占的字节位;
38.按照所述字节位,从所述数据信息中提取出所述字节数据;
39.将所述字节数据转化为用于生成数据指令的待组合信息;
40.基于每个数据组成部分对应的待组合信息,得到用于生成所述数据指令的多个待组合信息。
41.进一步的,所述数据拆分模块在用于按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分时,所述数据拆分模块用于:
42.利用所述消息类型对应的拆分方式,将该目标协议数据按照预设数据结构拆分为多个数据组成部分;
43.针对于每个数据组成部分,确定该数据组成部分中是否存在字节缺失项;
44.若存在,利用预设字符填充所述字节缺失项,得到补充后的数据组成部分;
45.将所述补充后的数据组成部分确定为该目标协议数据的数据组成部分。
46.进一步的,所述数据拆分模块用于通过以下步骤确定该数据组成部分中是否存在字节缺失项:
47.针对于该数据组成部分中的每项数据内容,确定该项数据内容的长度是否满足预设长度条件;
48.若否,确定所述数据组成部分中存在字节缺失项,并将该项数据内容确定为字节缺失项。
49.进一步的,所述指令生成模块在用于按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令时,所述指令生成模块用于:
50.按照所述生成格式,获取所述数据指令的指令生成模板;
51.将所述多个不可修改信息以及所述至少一个修改后的可修改信息,分别填充至所述指令生成模板中的相应位置处,得到该目标协议数据的数据指令。
52.进一步的,所述目标协议数据属于tbus协议;所述端口信息包括端口号。
53.本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的路由器中协议数据的修改方法的步骤。
54.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的路由器中协议数据的修改方法的步骤。
55.本技术实施例提供的一种路由器中协议数据的修改方法、装置及可读存储介质,根据路由器中每条协议数据传输时所利用的端口信息,从获取到的所述路由器预设的多条协议数据中过滤出目标协议数据;针对于每条目标协议数据,根据该目标协议数据的数据
特征码,确定该目标协议数据的消息类型;按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分;基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息;其中,所述多个待组合信息中包括至少一个可修改信息和多个不可修改信息;针对于每个可修改信息,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,得到至少一个修改后的可修改信息;按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令。这样,便可实现路由器协议数据内容上的修改,间接地,可帮助路由器相关的开发人员及测试人员分析并规避路由器所存在的风险点,进而,保证路由器使用过程中的安全性。
56.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
57.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
58.图1为本技术实施例所提供的一种路由器中协议数据的修改方法的流程图;
59.图2为本技术实施例所提供的一种字节缺失项的确定过程示意图;
60.图3为本技术实施例所提供的一种路由器中协议数据的修改装置的结构示意图;
61.图4为本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
62.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本技术保护的范围。
63.经研究发现,路由器中包括有多种协议的协议数据,例如,tbus协议数据、ssh协议数据以及http协议数据等等;由于,路由器中各协议数据在路由器出厂时已被固定设置,在使用过程中调用协议数据仅能够生成固定格式的数据指令,用户通常无法随着路由器的应用场景转变,而转变数据指令的生成格式,使得数据生成格式较为单一,且不具有多样性,路由器的应用场景较为局限;因此,如何实现协议数据的数据指令内容上的修改成为了亟待解决的问题。
64.基于此,本技术实施例提供了一种路由器中协议数据的修改方法,可实现对于路由器中总线协议的修改,间接地,对目标协议数据的数据指令进行修改,实现数据指令的多样化,保证路由器使用过程中的安全性。
65.请参阅图1,图1为本技术实施例所提供的一种路由器中协议数据的修改方法的流程图。如图1中所示,本技术实施例提供的路由器中协议数据的修改方法,包括:
66.s101、根据路由器中每条协议数据传输时所利用的端口信息,从获取到的所述路由器预设的多条协议数据中过滤出目标协议数据。
67.s102、针对于每条目标协议数据,根据该目标协议数据的数据特征码,确定该目标协议数据的消息类型。
68.s103、按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分。
69.s104、基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息;其中,所述多个待组合信息中包括至少一个可修改信息和多个不可修改信息。
70.s105、针对于每个可修改信息,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,得到至少一个修改后的可修改信息。
71.s106、按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令。
72.本技术实施例提供的一种路由器中协议数据的修改方法,可以根据路由器中每条总线协议传输时需调用的端口信息,从路由器的多条总线协议中过滤出需修改内容的目标协议数据;在根据目标协议数据的消息类型等信息,实现对于目标协议数据中可修改信息的修改,从而,改变目标协议数据原本所表示的信息,进而,使得路由器所携带的指令变得多样化。
73.在步骤s101中,获取路由器中已设置好的多条协议数据;对于获取到的多条协议数据来说,不同的协议数据在传输时所调用的端口是存在区别的,而且并非每条协议数据均需进行修改。
74.因此,在对路由器中的协议数据进行修改时,可根据其所使用的端口信息,对获取到的路由器的全部协议数据进行筛选,筛选出在后续过程中需修改的目标协议数据。
75.其中,所述目标协议数据属于tbus协议;所述端口信息包括端口号。
76.示例性的,假定,路由器中tbus协议数据需修改,以目标协议数据为tbus协议数据,tbus协议数据传输时所调用的端口的端口号为784为例进行说明,获取路由器的全部协议数据,将全部总线协议中过滤出利用784端口进行传输的协议数据作为目标协议数据。
77.这里,对于一条协议数据来说,其可包括有多个数据组成部分;示例性的,以tbus协议数据为例进行说明,一条tbus协议数据,可以按照其数据结构将其分为tbus_msg_invoke_header,tbus_attr_objid,tbus_attr_method,tbus_attr_data等数据组成部分;因此,针对于每条目标协议数据,为了能够将其拆分为各个数据组成部分,首先,便需要通过确定该目标协议数据的消息类型来确定该目标协议数据的数据结构。
78.在步骤s102中,针对于筛选出的每条目标协议数据,确定该目标协议数据的数据特征编码;并根据该目标协议数据的数据特征编码确定该目标协议数据的消息类型。
79.这里,数据特征码由多位数字组成,例如,00050200、00050300、00040100等,每个数据特征码对应了一个消息类型,例如,00050200对应的消息类型为tbus_msg_invoke;00040100对应的消息类型为tbus_msg_lookup等等。
80.其中,数据特征码与消息类型之间的对应关系为预先设置好的,数据特征码携带于协议数据中,当我们识别出目标协议数据的数据特征码时,自然而然的便能够确定出该目标协议数据的消息类型。
81.对于不同消息类型的目标协议数据来说,所包括的数据组成部分也是存在差异的,因此,还需按照每种消息类型下对应的预设数据结构,来对目标协议数据进行拆分。
82.在步骤s103中,针对于每个目标协议数据,按照该目标协议数据的消息类型所对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分;这里,对于不同消息类型的协议数据来说,所包括的数据组成部分以及数据组成部分的数量均不同。
83.示例性的,以目标协议数据的消息类型为tbus_msg_invoke为例,该目标协议数据包括四个数据组成部分:tbus_msg_invoke_header、tbus_attr_objid、tbus_attr_method以及tbus_attr_data。
84.针对于tbus_msg_invoke_header这个数据组成部分来说,其前4个字节表示的是该目标协议数据的消息类型,中间4个字节为逆序的objectid,后4个字节为从当前位置开始计算的数据总长度(包含本身的4字节,后面所有的长度计算都是从当前的4字节的开始计算)。
85.针对于tbus_attr_objid这个数据组成部分来说,其前4个字节表示的是tbus_attr_objid这个数据组成部分的长度,中间4个字节为object id。由于object id恒等于4个字节,所以前4字节中的长度固定为0x08。
86.针对于tbus_attr_method这个数据组成部分来说,其前4个字节表示的是tbus_attr_method这个数据组成部分的长度,后面为method的内容,若method的长度不够4个字节,则用“0x00”补齐。由于涉及到字符串长度不固定,需要补齐,前4字节的长度计算需要 0x01。
87.针对于tbus_attr_data这个数据组成部分来说,其前4字节表示的是tbus_attr_data这个数据组成部分的长度;第二个4字节为当前位置到数据结束位置的长度,再加上0x01,不算补齐的0x00;接着是该目标协议数据的name的长度和具体字符串,若name的长度不是4字节的整数倍,补齐长度至4字节的整数倍;最后是消息内容message,并补齐至4字节的整数倍;这里,对于“data”这个数据组成部分来说,其本质是一个键值对,“name”就是“data”中的“键”,“message”就是“data”中的“值”。
88.示例性的,假定“tbus”指令为“tbus call netapi init{"data":"hello"}”,这里,“name”指的就是“data”这个字符串,“name”的长度就是04,具体内容就是“data”,“message”是“hello”;
89.再例如,假定“tbus”指令为“tbus call netapi init{"regest":"hello"}”,这里,“name”指的就是“regest”这个字符串,“name”的长度就是06,具体内容就是“regest00”,后面加2个“0”的目的在于补齐至8个字节(4字节的整数倍),“message”是“hello”。
90.在一种实施方式中,步骤s103包括:利用所述消息类型对应的拆分方式,将该目标协议数据按照预设数据结构拆分为多个数据组成部分;针对于每个数据组成部分,确定该数据组成部分中是否存在字节缺失项;若存在,利用预设字符填充所述字节缺失项,得到补充后的数据组成部分;将所述补充后的数据组成部分确定为该目标协议数据的数据组成部
分。
91.该步骤中,利用该目标协议数据的消息类型所对应的拆分方式,按照该目标协议的预设数据结构,将该目标协议数据拆分为多个数据组成部分。
92.针对于每个数据组成部分,确定该数据组成部分中是否存在字节缺失项,若存在字节缺失项,则利用预设字符填充字节缺失项,例如,针对于tbus_attr_method中的method部分,若method的部分内容的长度不够4个字节,则用0x00补齐;再例如,tbus_attr_data中的name部分,若name的长度不是4字节的整数倍,补齐长度至4字节的整数倍等等。
93.最后,将补充后的数据组成部分确定为该目标协议数据的数据组成部分,以确保目标协议数据中各数据组成部分中字节数据的完整性。
94.在一种实施方式中,请参阅图2,图2为本技术实施例所提供的一种字节缺失项的确定过程示意图。如图2所示,通过以下步骤确定该数据组成部分中是否存在字节缺失项:
95.步骤s201、针对于该数据组成部分中的每项数据内容,确定该项数据内容的长度是否满足预设长度条件。
96.步骤s202、若否,确定所述数据组成部分中存在字节缺失项,并将该项数据内容确定为字节缺失项。
97.步骤s203、若是,确定所述数据组成部分中不存在字节缺失项。
98.该步骤中,针对于一个数据组成部分中的一项数据内容,确定该项数据内容的长度是否满足预设长度条件;若是,则确定数据组成部分中不存在数据缺失项;若否,则确定该数据组成部分中存在数据缺失项,并将不满足预设长度条件的一项数据内容确定为字节缺失项;例如,对于tbus_attr_method中的method部分,判断method项中内容的字节长度是否达到4个字节;若是,则确认method项并不是字节缺失项;若否,确定该数据组成部分中存在字节缺失项,并将method项确定为字节缺失项;再例如,对于tbus_attr_data中的name部分,判断name项中内容的字节长度是否为4字节的整数倍;若是,则确认name项并不是字节缺失项;若否,确定该数据组成部分中存在字节缺失项,并将name项确定为字节缺失项。
99.这里,预设长度条件包括字节数大于或等于预设字节长度、字节数的长度为预设长度阈值的整数倍中的一种或多种。
100.在步骤s104中,针对于拆分出的每个数据组成部分,基于每个数据组成部分所包括的数据信息,从每个数据组成部分中确定出用于生成该目标协议数据的数据指令的待组合信息;这里,对于目标协议数据中的每个数据组成部分来说,该数据组成部分所包括的数据信息中,并非全部的数据信息都需要用于生成该目标协议数据的数据指令,因此,在生成目标协议数据的数据指令之前,需从每个数据组成部分中确定出用于生成数据指令的待组合信息,得到多个待组合信息;其中,多个待组合信息中包括至少一个可修改信息和多个不可修改信息。
101.用户可通过修改至少一个可修改信息的方式来实现对于目标协议数据的数据指令的修改。例如,对于tbus_attr_data中的message部分,该部分中的内容需用于生成数据指令,且该部分中的内容可以进行修改,那么,message部分中的内容则可确认为可修改信息。
102.在一种实施方式中,步骤s104包括:针对于每个数据组成部分,根据该数据组成部分的属性信息,确定在该数据组成部分中待组合信息对应的字节数据所占的字节位;按照
所述字节位,从所述数据信息中提取出所述字节数据;将所述字节数据转化为用于生成数据指令的待组合信息;基于每个数据组成部分对应的待组合信息,得到用于生成所述数据指令的多个待组合信息。
103.该步骤中,针对于每个数据组成部分,首先,根据该数据组成部分中各项数据内容的属性信息,确定用于生成数据指令的待组合信息在该数据组成部分中对应的字节数据,并确定字节数据在该数据组成部分中所占的字节位;
104.其次,按照确定出的字节位,从该数据组成部分的数据信息中提取出相应的字节数据;
105.然后,由于,目标协议数据中数据组成部分的内容为数字和字母的形式,所以,提取出的字节数据由数字和字母组成;因此,在生成数据指令时,需先将数字和字母转化为用于生成数据指令的待组合信息;
106.最后,基于从每个数据组成部分中提取出的待组合信息,得到用于生成目标协议数据的数据指令的多个待组合信息。在步骤s105中,针对于确定出的每个可修改信息,可根据用户针对于该可修改信息的修改操作,实现对于该可修改信息的修改,得到至少一个修改后的可修改信息。
107.对应于上述实施例,对于message部分,从目标协议数据中确定出message为“hello”,根据用户的修改操作,可将message修改为“hi”。
108.本技术所提供的方案中,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,具体可以为,当用户按下修改操作对应的修改按键时,便可以实现对于该可修改信息的修改;其中,用户可以通过修改按键和\或预设组合按键下达修改操作的触发指令;具体的,用户可以通过手指、鼠标等触控修改按键;或者是通过键盘中的预设组合键,例如,键盘中的ctrl键、alt键、a键等按键,预设按键可以根据用户需求进行人为设置。
109.在步骤s106中,在完成对至少一个可修改信息的修改后,按照该目标协议数据的数据指令的生成格式,拼接得到的多个不可修改信息以及至少一个修改后的可修改信息,生成该目标协议数据的数据指令。
110.在一种实施方式中,步骤s106包括:按照所述生成格式,获取所述数据指令的指令生成模板;将所述多个不可修改信息以及所述至少一个修改后的可修改信息,分别填充至所述指令生成模板中的相应位置处,得到该目标协议数据的数据指令。
111.该步骤中,对于不同的目标协议数据来说,每个目标协议数据的数据指令存在有不同的生成格式;按照该目标协议数据的生成格式,获取该目标协议数据的指令生成模板;分别将用于生成该目标协议数据的多个不可修改信息以及至少一个修改后的可修改信息,填充到指令生成模板中的相应位置处,得到该目标协议数据的数据指令。
112.示例性的,假设当前收到了一份数据“000502001104ef33000000340300000833ef041101000009696e69740700001c83000017000464617461000068656c6c6f776f726c640000”,对应的tbus指令为:tbus call netapi init{“data”:“helloworld”},在计算机语言中1个字节为2个字母,所以,这里在拆分数据时,以4个字节为单位的进行拆分,则每个单位的长度为8,即该单位的数据中包括有8个字母。
113.按照将上述数据拆分为:tbus_msg_invoke_header、tbus_attr_objid、tbus_attr_method以及tbus_attr_data四个数据组成部分;其中,tbus_msg_invoke_header这个
数据组成部分包括“000502001104ef3300000034”,“00050200”表示的是消息类型,“1104ef33”为逆序的objid(11,04,ef,33)与tbus_attr_objid中的objid刚好相反,“00000034”表示的是长度,即从当前位置计算到最后的长度;
114.tbus_attr_objid这个数据组成部分包括“0300000833ef0411”,“03”表示的是tbus_attr_objid,08表示的是长度(从当前位置计算tbus_attr_objid的长度),“33ef0411”为objid(33,ef,04,11);
115.tbus_attr_method这个数据组成部分包括“01000009696e6974”,“04”表示的是tbus_attr_method,09表示的是长度(从当前位置计算tbus_attr_method的长度,再加1),“696e6974”编码转译过来的意思为“init”;
116.tbus_attr_data这个数据组成部分包括“0700001c83000017000464617461000068656c6c6f776f726c640000”,“07”表示的是tbus_attr_data,“1c”表示的是长度(从当前位置计算tbus_attr_data的长度),“17”表示的是长度(从当前位置计算tbus_attr_data的长度,去掉补齐的0x00再加1),这里,0x1c=28,0x17=23,就是28-4-2 1=23,“0004”表示的是“64617461”的长度,“64617461”编码转译过来的意思为“data”,“0000”为补齐的0,“68656c6c6f776f726c64”为message部分,编码转译过来的意思为“helloworld”,“0000”为补齐的0。
117.而本技术在将上述数据拆分为不同部分之后,能够对可个部分中的可修改内容进行修改,例如,可对“message”部分进行修改,对应于上述实施例,可对“68656c6c6f776f726c64”部分中的编码进行修改,从而,实现数据指令内容上的转变。
118.本技术实施例提供的一种路由器中协议数据的修改方法,根据路由器中每条协议数据传输时所利用的端口信息,从获取到的所述路由器预设的多条协议数据中过滤出目标协议数据;针对于每条目标协议数据,根据该目标协议数据的数据特征码,确定该目标协议数据的消息类型;按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分;基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息;其中,所述多个待组合信息中包括至少一个可修改信息和多个不可修改信息;针对于每个可修改信息,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,得到至少一个修改后的可修改信息;按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令。这样,便可实现路由器协议数据内容上的修改,间接地,可帮助路由器相关的开发人员及测试人员分析并规避路由器所存在的风险点,进而,保证路由器使用过程中的安全性。
119.请参阅图3,图3为本技术实施例所提供的一种路由器中协议数据的修改装置的结构示意图。如图3中所示,所述修改装置300包括:
120.协议过滤模块310,用于根据路由器中每条协议数据传输时所利用的端口信息,从获取到的所述路由器预设的多条协议数据中过滤出目标协议数据;
121.类型确定模块320,用于针对于每条目标协议数据,根据该目标协议数据的数据特征码,确定该目标协议数据的消息类型;
122.数据拆分模块330,用于按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分;
123.信息确定模块340,用于基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息;其中,所述多个待组合信息中包括至少一个可修改信息和多个不可修改信息;
124.信息修改模块350,用于针对于每个可修改信息,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,得到至少一个修改后的可修改信息;
125.指令生成模块360,用于按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令。
126.进一步的,所述信息确定模块340在用于基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息时,所述信息确定模块340用于:
127.针对于每个数据组成部分,根据该数据组成部分的属性信息,确定在该数据组成部分中待组合信息对应的字节数据所占的字节位;
128.按照所述字节位,从所述数据信息中提取出所述字节数据;
129.将所述字节数据转化为用于生成数据指令的待组合信息;
130.基于每个数据组成部分对应的待组合信息,得到用于生成所述数据指令的多个待组合信息。
131.进一步的,所述数据拆分模块330在用于按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分时,所述数据拆分模块330用于:
132.利用所述消息类型对应的拆分方式,将该目标协议数据按照预设数据结构拆分为多个数据组成部分;
133.针对于每个数据组成部分,确定该数据组成部分中是否存在字节缺失项;
134.若存在,利用预设字符填充所述字节缺失项,得到补充后的数据组成部分;
135.将所述补充后的数据组成部分确定为该目标协议数据的数据组成部分。
136.进一步的,所述数据拆分模块330用于通过以下步骤确定该数据组成部分中是否存在字节缺失项:
137.针对于该数据组成部分中的每项数据内容,确定该项数据内容的长度是否满足预设长度条件;
138.若否,确定所述数据组成部分中存在字节缺失项,并将该项数据内容确定为字节缺失项。
139.进一步的,所述指令生成模块360在用于按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令时,所述指令生成模块360用于:
140.按照所述生成格式,获取所述数据指令的指令生成模板;
141.将所述多个不可修改信息以及所述至少一个修改后的可修改信息,分别填充至所述指令生成模板中的相应位置处,得到该目标协议数据的数据指令。
142.进一步的,所述目标协议数据属于tbus协议;所述端口信息包括端口号。
143.本技术实施例提供的一种路由器中协议数据的修改装置,根据路由器中每条协议数据传输时所利用的端口信息,从获取到的所述路由器预设的多条协议数据中过滤出目标协议数据;针对于每条目标协议数据,根据该目标协议数据的数据特征码,确定该目标协议
数据的消息类型;按照所述消息类型对应的预设数据结构,将该目标协议数据拆分为多个数据组成部分;基于每个数据组成部分中所包括的数据信息,确定出用于生成该目标协议数据的数据指令的多个待组合信息;其中,所述多个待组合信息中包括至少一个可修改信息和多个不可修改信息;针对于每个可修改信息,响应于用户针对该可修改信息的修改操作,对该可修改信息进行修改,得到至少一个修改后的可修改信息;按照所述数据指令的生成格式,拼接所述多个不可修改信息以及所述至少一个修改后的可修改信息,得到该目标协议数据的数据指令。这样,便可实现路由器协议数据内容上的修改,间接地,可帮助路由器相关的开发人员及测试人员分析并规避路由器所存在的风险点,进而,保证路由器使用过程中的安全性。
144.请参阅图4,图4为本技术实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备400包括处理器410、存储器420和总线430。
145.所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过总线430通信,所述机器可读指令被所述处理器410执行时,可以执行如上述图1所示方法实施例中的路由器中协议数据的修改方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
146.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的路由器中协议数据的修改方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
147.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
148.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
149.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
150.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
151.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存
储程序代码的介质。
152.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献