一种通信数据测试方法、装置、存储介质及电子设备与流程

文档序号:24403471发布日期:2021-03-26 15:59阅读:76来源:国知局
一种通信数据测试方法、装置、存储介质及电子设备与流程

1.本公开涉及计算机领域,尤其涉及一种通信数据测试方法、装置、存储介质及电子设备。


背景技术:

2.出于安全考虑,目前很多移动客户端上在网络通信过程中采用了数据加密算法,例如:移动客户端对http post请求中的数据采用高级加密标准(advanced encryption standard,aes)加密进行加密后,再发给服务器,服务器接收到http post请求后对http post请求中的加密数据进行解密,然后执行后台业务最后把返回数据再进行aes加密发送给移动客户端,移动客户端对服务器返回的数据进行解密后再做相应处理。这样的通信加密方式可以提高通信协议破解难度,相对于明文通信来说,把通信安全提高了一个等级。
3.目前针对这种通信的加密数据的测试起来比较复杂,一般流程如下:
4.逆向分析移动端客户端的通信加密算法,掌握加密算法和相关参数;根据掌握的加密算法和相关参数编写加解密工具;对移动客户端发送的请求密文进行抓包,当移动客户端发送请求密文时,测试人员从抓包工具中复制出请求密文粘贴到加解密工具,对请求密文即加密的请求数据进行解密得到请求明文,测试人员再对请求明文进行修改得到修改请求明文,再将修改请求明文加密为修改后的请求密文,测试人员复制修改后的请求密文到抓包工具中,使用抓包工具把修改后的请求密文发送给服务器,以便服务器返回与修改后的请求密文对应的加密数据。当服务器返回加密数据时,再把返回的加密数据复制到加解密工具中进行解密,得到服务器返回的数据,再根据服务器返回的数据进行判断通信数据是否存在问题或漏洞。
5.但是,采用现有的测试方法,需要详细分析出通信时使用的加解密算法及相关参数。有些加解密算法会很复杂,分析过程非常耗时,难度也很大。另外,一些加密算法,例如通常用于数据包校验的hash算法,比如md5、sha1等,这些算法不可逆,加密之后无法编写解密算法,也就无法编写出加解密工具。并且,采用现有的测试方法进行测试时,需要在加解密工具和抓包工具之间多次复制、粘贴通信数据,过程繁琐、效率低下、容易出错。


技术实现要素:

6.本公开实施例提供一种通信数据测试方法、装置、存储介质及电子设备,能够解决现有的测试方法非常耗时、难度很大且无法适用于一些加密算法的问题。所述技术方案如下:
7.根据本公开实施例的第一方面,提供一种通信数据测试方法,包括:
8.从客户端获取与待发送请求对应的至少一组明文和密文并根据所述至少一组明文和密文和所述待发送请求确定目标明文;
9.对所述目标明文进行修改,得到修改后的明文将所述修改后的明文发送至所述客户端,以便所述客户端对所述修改后的明文进行加密,得到修改后的密文;
10.从所述客户端获取所述修改后的密文并根据所述待发送请求和所述修改后的密文得到修改后的待发送请求;
11.将所述修改后的待发送请求发送至服务器,以便服务器根据所述修改后的待发送请求返回与所述修改后的待发送请求对应的第一加密数据;
12.将所述第一加密数据发送至所述客户端,以便所述客户端对所述第一加密数据进行解密,得到第一数据;
13.从所述客户端获取所述第一数据并向所述测试人员展示所述第一数据,以便测试人员根据所述第一数据确定测试结果。
14.本公开实施例提供的通信数据测试方法,能够将修改后的明文发送至客户端,以便客户端对修改后的明文进行加密,得到修改后的密文;并且能够将从服务器返回的第一加密数据发送至客户端,由客户端对该第一加密数据进行解密,得到第一数据,不需要详细分析出通信数据使用的加解密算法及相关参数,大大节省了测试时间,提高了测试效率,并且避免了若通信数据采用不可逆加密算法,则不能对通信数据进行测试的问题,并且不需要在加解密工具和抓包工具之间多次复制、粘贴通信数据,操作过程简单,且不容易出错,提高了测试结果的准确性。
15.在一个实施例中,所述从客户端获取与待发送请求对应的至少一组明文和密文前,所述方法还包括:
16.从客户端获取所述待发送请求,所述待发送请求包括数据包头和待发送密文;
17.所述根据所述至少一组明文和密文和待发送密文确定目标明文包括:
18.从所述至少一组明文和密文中确定目标密文,所述目标密文与所述待发送密文一致;
19.将与所述目标密文对应的明文作为所述目标明文。
20.通过获取待发送请求,并将至少一组明文和密文中与待发送请求中的发送密文一致的密文作为目标密文,再将与目标密文对应的明文作为目标明文,能够准确的得到待发送的请求数据。
21.在一个实施例中,所述根据所述待发送请求和所述修改后的密文得到修改后的待发送请求包括:
22.根据所述数据包头和所述修改后的密文得到修改后的待发送请求。
23.通过根据数据包头和所述修改后的密文能够准确快速的生成待发送请求。
24.在一个实施例中,所述确定所述目标明文后,所述方法还包括:
25.将所述待发送请求发送至所述服务器,以便所述服务器根据所述待发送请求返回与所述待发送请求对应的第二加密数据;
26.将所述第二加密数据发送至所述客户端,以便所述客户端对所述第二加密数据进行解密,得到第二数据;
27.从所述客户端获取所述第二数据;
28.所述向所述测试人员展示所述第一数据包括:
29.向所述测试人员展示所述第一数据和所述第二数据,以便所述测试人员根据所述第一数据和所述第二数据确定测试结果。
30.通过将待发送请求发送至服务器,使得服务器能够根据待发送请求返回与该待发
送请求对应的第二加密数据;再将第二加密数据发送至客户端,使得客户端对所述第二加密数据进行解密,得到第二数据;进一步从客户端获取该第二数据,使得测试人员可以根据该第一数据和第二数据准确的得到测试结果。
31.根据本公开实施例的第二方面,提供一种通信数据测试装置,包括:
32.明文获取模块,用于从客户端获取与待发送请求对应的至少一组明文和密文并根据所述至少一组明文和密文和所述待发送请求确定目标明文;
33.目标明文修改模块,用于对所述目标明文进行修改,得到修改后的明文将所述修改后的明文发送至所述客户端,以便所述客户端对所述修改后的明文进行加密,得到修改后的密文;
34.修改后待发送请求生成模块,用于从所述客户端获取所述修改后的密文并根据所述待发送请求和所述修改后的密文得到修改后的待发送请求;
35.修改后待发送请求发送模块,用于将所述修改后的待发送请求发送至服务器,以便服务器根据所述修改后的待发送请求返回与所述修改后的待发送请求对应的第一加密数据;
36.第一加密数据发送模块,用于将所述第一加密数据发送至所述客户端,以便所述客户端对所述第一加密数据进行解密,得到第一数据;
37.第一数据展示模块,用于从所述客户端获取所述第一数据并向所述测试人员展示所述第一数据,以便测试人员根据所述第一数据确定测试结果。
38.在一个实施例中,所述装置还包括:
39.待发送请求获取模块,用于从客户端获取所述待发送请求,所述待发送请求包括数据包头和待发送密文;
40.所述明文获取模块用于:
41.从所述至少一组明文和密文中确定目标密文,所述目标密文与所述待发送密文一致;
42.将与所述目标密文对应的明文作为所述目标明文。
43.在一个实施例中,所述修改后待发送请求生成模块用于:
44.根据所述数据包头和所述修改后的密文得到修改后的待发送请求。
45.在一个实施例中,所述装置还包括:
46.待发送请求发送模块,用于将所述待发送请求发送至所述服务器,以便所述服务器根据所述待发送请求返回与所述待发送请求对应的第二加密数据;
47.第二加密数据发送模块,用于将所述第二加密数据发送至所述客户端,以便所述客户端对所述第二加密数据进行解密,得到第二数据;
48.第二数据获取模块,用于从所述客户端获取所述第二数据;
49.所述第一数据展示模块,用于:
50.向所述测试人员展示所述第一数据和所述第二数据,以便所述测试人员根据所述第一数据和所述第二数据确定测试结果。
51.根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现第一方面中任一项所述的通信数据测试方法中所执行的步骤。
52.根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现权第一方面中任一项所述的信数据测试方法中所执行的步骤。
53.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
54.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
55.图1是本公开实施例提供的一种通信数据测试系统的结构示意图;
56.图2是本公开实施例提供的一种通信数据测试方法的流程图;
57.图3是本公开实施例提供的一种通信数据测试装置的结构示意图一;
58.图4是本公开实施例提供的一种通信数据测试装置的结构示意图二;
59.图5是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
60.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
61.图1是本公开实施例提供的一种通信数据测试系统的结构示意图。如图1所示,该系统包括:客户端101、测试机102以及服务器103。其中,测试机102分别与客户端101和服务器103进行通信连接。示例性地,该测试机102可以为计算机、台式机、平板、手机等终端设备,本实施例此处不做具体限制。
62.在本实施例中,如图1所示,该客户端101上可以运行hook远程过程调用(remote procedure calls,rpc)脚本,通过hook的方式对测试机102提供rpc接口,测试机102上安装有抓包工具和加解密插件,测试机102上的抓包工具可以通过rpc接口从客户端101获取与待发送请求对应的至少一组明文和密文,该至少一组明文和密文是通过hook的方式从客户端的应用(application,app)上获取的,该待发送请求可以为http post请求。hook一般是指挂钩某函数,在本实施例中,hook挂钩客户端内的加解密算法的关键函数。
63.获取该至少一组明文和密文后,测试机102根据该至少一组明文和密文和该待发送请求确定目标明文并对该目标明文进行修改,得到修改后的明文,再通过控制该修改后的明文调用rpc接口加密,将该修改后的明文发送至客户端101,由客户端101对该修改后的明文进行加密,得到修改后的密文;测试机101上安装的抓包工具再通过rpc接口从客户端101获取修改后的密文并根据该待发送请求和该修改后的密文得到修改后的待发送请求并将该修改后的待发送请求发送至服务器,以便服务器103根据该修改后的待发送请求返回与该修改后的待发送请求对应的第一加密数据。
64.测试机101上的抓包工具接收到服务器103返回的第一加密数据后,通过控制该第一加密数据调用rpc接口解密,将该第一加密数据发送至客户端101,由客户端101对该第一
加密数据进行解密,得到第一数据;客户端101通过rpc接口将该第一加密数据返回给测试机的加解密插件,测试机再向测试人员展示第一数据,以便测试人员根据第一数据确定测试结果。
65.本公开实施例提供的通信数据测试系统,测试机能够将修改后的明文发送至客户端,以便客户端对修改后的明文进行加密,得到修改后的密文;并且测试机能够将从服务器返回的第一加密数据发送至客户端,由客户端对该第一加密数据进行解密,得到第一数据,不需要详细分析出通信数据使用的加解密算法及相关参数,大大节省了测试时间,提高了测试效率,并且避免了若通信数据采用不可逆加密算法,则不能对通信数据进行测试的问题,并且不需要在加解密工具和抓包工具之间多次复制、粘贴通信数据,操作过程简单,且不容易出错,提高了测试结果的准确性。
66.下面对本公开实施例提供的通信数据测试系统如何进行通信数据测试做进一步详细说明。图2是本公开实施例提供的通信数据测试方法的流程图。如图2所示,该方法包括:
67.s201、从客户端获取与待发送请求对应的至少一组明文和密文并根据该至少一组明文和密文和该待发送请求确定目标明文。
68.在步骤中,测试机上安装的抓包工具先从客户端获取待发送请求,该待发送请求包括数据包头和待发送密文。在本实施例中,该待发送请求可以为http post请求,该http post请求包括http头以及待发送密文,该待发送密文为加密后的请求数据,该请求数据为请求明文。
69.进一步地,获取该待发送请求后,测试机上安装的抓包工具可以通过rpc接口从客户端101获取与待发送请求对应的至少一组明文和密文,该至少一组明文和密文是通过hook的方式从客户端的app应用上获取的。
70.下面对如何确定目标明文进行说明。
71.示例性地,从该至少一组明文和密文中确定目标密文,该目标密文与该待发送密文一致;将与该目标密文对应的明文作为该目标明文。
72.s202、对该目标明文进行修改,得到修改后的明文并将该修改后的明文发送至客户端,以便该客户端对该修改后的明文进行加密,得到修改后的密文。
73.进一步地,确定目标明文后,再将该目标明文进行修改,得到修改后的明文。
74.在本步骤中,通过控制该修改后的明文调用rpc接口加密,将该修改后的明文发送至客户端,由客户端对该修改后的明文进行加密,得到修改后的密文,测试机上安装的抓包工具再通过rpc接口从客户端获取修改后的密文。
75.s203、从客户端获取该修改后的密文并根据该待发送请求和该修改后的密文得到修改后的待发送请求。
76.下面对如何根据该待发送请求和该修改后的密文得到修改后的待发送请求进行说明。示例性地,根据该数据包头和该修改后的密文得到修改后的待发送请求。在本实施例中,该待发送请求可以为http post请求,将该http post请求中的htt头和修改后的密文进行组合即可生成修改后的待发送请求,该修改后的待发送请求为修改后的http post请求。
77.s204、将该修改后的待发送请求发送至服务器,以便服务器根据该修改后的待发送请求返回与该修改后的待发送请求对应的第一加密数据。
78.在本实施例中,生成该修改后的待发送请求(即修改后的http post请求)后,将该将该修改后的http post请求发送至服务器,以便服务器根据该修改后的http post请求返回与该修改后的http post请求对应的第一加密数据。
79.s205、将该第一加密数据发送至客户端,以便客户端对该第一加密数据进行解密,得到第一数据。
80.在本步骤中,测试机上安装的抓包工具接收到服务器返回的第一加密数据后,通过控制该第一加密数据调用rpc接口解密,将该第一加密数据发送至客户端,由客户端对该第一加密数据进行解密,得到第一数据。
81.s206、从客户端获取该第一数据并向测试人员展示该第一数据,以便测试人员根据该第一数据确定测试结果。
82.客户端通过rpc接口将该第一加密数据返回给测试机的加解密插件,测试机再向测试人员展示第一数据,以便测试人员根据第一数据确定测试结果。
83.在本实施例中,确定该目标明文后,可以先将该待发送请求发送至服务器,以便服务器根据该待发送请求返回与该待发送请求对应的第二加密数据。
84.测试机上安装的抓包工具接收到服务器返回的第二加密数据后,通过控制该第二加密数据调用rpc接口解密,将该第二加密数据发送至客户端,由客户端对该第二加密数据进行解密,得到第二数据,测试机的加解密插件再通过rpc接口从客户端获取该第二数据。
85.获取该第一数据和第二数据后,测试机向测试人员展示该目标明文、第一数据以及修改后的明文、第二数据,以便测试人员将目标明文、第一数据以及修改后的明文、第二数据作对比,确定测试结果。
86.本公开实施例提供的通信数据测试方法,能够将修改后的明文发送至客户端,以便客户端对修改后的明文进行加密,得到修改后的密文;并且能够将从服务器返回的第一加密数据发送至客户端,由客户端对该第一加密数据进行解密,得到第一数据,不需要详细分析出通信数据使用的加解密算法及相关参数,大大节省了测试时间,提高了测试效率,并且避免了若通信数据采用不可逆加密算法,则不能对通信数据进行测试的问题,并且不需要在加解密工具和抓包工具之间多次复制、粘贴通信数据,操作过程简单,且不容易出错,提高了测试结果的准确性。
87.基于上述图2对应的实施例中所描述的通信数据测试方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
88.图3是本公开实施例提供的一种通信数据测试装置的结构示意图。如图3所示,该装置30包括:
89.明文获取模块301,用于从客户端获取与待发送请求对应的至少一组明文和密文并根据所述至少一组明文和密文和所述待发送请求确定目标明文;
90.目标明文修改模块302,用于对所述目标明文进行修改,得到修改后的明文将所述修改后的明文发送至所述客户端,以便所述客户端对所述修改后的明文进行加密,得到修改后的密文;
91.修改后待发送请求生成模块303,用于从所述客户端获取所述修改后的密文并根据所述待发送请求和所述修改后的密文得到修改后的待发送请求;
92.修改后待发送请求发送模块304,用于将所述修改后的待发送请求发送至服务器,
以便服务器根据所述修改后的待发送请求返回与所述修改后的待发送请求对应的第一加密数据;
93.第一加密数据发送模块305,用于将所述第一加密数据发送至所述客户端,以便所述客户端对所述第一加密数据进行解密,得到第一数据;
94.第一数据展示模块306,用于从所述客户端获取所述第一数据并向所述测试人员展示所述第一数据,以便测试人员根据所述第一数据确定测试结果。
95.在一个实施例中,如图4所示,所述装置30还包括:
96.待发送请求获取模块307,用于从客户端获取所述待发送请求,所述待发送请求包括数据包头和待发送密文;
97.所述明文获取模块301用于:
98.从所述至少一组明文和密文中确定目标密文,所述目标密文与所述待发送密文一致;
99.将与所述目标密文对应的明文作为所述目标明文。
100.在一个实施例中,所述修改后待发送请求生成模块303用于:
101.根据所述数据包头和所述修改后的密文得到修改后的待发送请求。
102.在一个实施例中,所述装置30还包括:
103.待发送请求发送模块308,用于将所述待发送请求发送至所述服务器,以便所述服务器根据所述待发送请求返回与所述待发送请求对应的第二加密数据;
104.第二加密数据发送模块309,用于将所述第二加密数据发送至所述客户端,以便所述客户端对所述第二加密数据进行解密,得到第二数据;
105.第二数据获取模块310,用于从所述客户端获取所述第二数据;
106.所述第一数据展示模块306,用于:
107.向所述测试人员展示所述第一数据和所述第二数据,以便所述测试人员根据所述第一数据和所述第二数据确定测试结果。
108.本公开实施例提供的通信数据测试装置,其实现过程和技术效果可以参见上述图2实施例,在此不再赘述。
109.图5是公开实施例提供的一种电子设备的结构示意图。如图5所示,该电子设备50包括处理器501和存储器502,所述存储器502中存储有至少一条计算机指令,所述指令由所述处理器501加载并执行以实现图2对应的实施例中所描述的通信数据测试方法中所执行的步骤。
110.基于上述图2对应的实施例中所描述的通信数据测试方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:read only memory,rom)、随机存取存储器(英文:random access memory,ram)、cd

rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图2对应的实施例中所描述的通信数据测试方法,此处不再赘述。
111.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
112.本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其
它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1