System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件测试,尤其是涉及到一种应用程序的抓包测试方法及装置、存储介质、计算机设备。
技术介绍
1、当前应用程序中为保证应用接口数据的安全性,一般应用会采用https协议且对接口中请求的数据和返回的数据进行加密。即使对应用数据抓包,抓包得到的数据也是加密后的数据,不是明文数据,这种方式提高了应用安全。但在测试时,由于抓包得到的数据是加密数据无法直接明文显示,就需要测试人员对抓包的数据包进行逐个解密,工作量大,因此,亟需解决这一技术问题。
技术实现思路
1、有鉴于此,本申请实施例提供了一种应用程序的抓包测试方法及装置、存储介质、计算机设备,
2、根据本申请的一个方面,提供了一种应用程序的抓包测试方法,所述方法包括:
3、根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序;
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、在所述抓包目录下读取所述被查询接口标识对应的目标解密数据包,并反馈所述目标界面数据包至查询终端,以使所述查询终端基于所述目标解密数据包生成所述目标应用程序的测试结果。
29、根据本申请的另一方面,提供了一种应用程序的抓包测试装置,所述装置包括:
30、插件确定模块,用于根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序;
31、测试模块,用于运行所述解密插件;在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并通过所述解密程序对所述抓包目录下的数据包进行解密;
32、显示模块,用于基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
33、可选地,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式;
34、测试模块,还用于:
35、通过所述解密数据验证程序对所述抓包目录下的解密数据包进行验证,以验证所述解密数据包是否为所述解密数据格式;
36、若所述解密数据包通过验证,则将解密得到的解密数据包存储在所述抓包目录下;
37、若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息。
38、可选地,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数本文档来自技高网...
【技术保护点】
1.一种应用程序的抓包测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式;
3.根据权利要求2所述的方法,其特征在于,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数据包解密;
4.根据权利要求3所述的方法,其特征在于,根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,包括:
5.根据权利要求4所述的方法,其特征在于,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息,包括:
6.根据权利要求3所述的方法,其特征在于,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息,包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
...【技术特征摘要】
1.一种应用程序的抓包测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式;
3.根据权利要求2所述的方法,其特征在于,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数据包解密;
4.根据权利要求3所述的方法,其特征在于,根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,包括:
5.根据权利要求4所述的方法,其特征在于,若所述解密数据包未通过验证,则删除解密得...
【专利技术属性】
技术研发人员:曹先明,田野,何世伟,
申请(专利权)人:成都安易迅科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。