CN117667667A - 应用程序的抓包测试方法及装置、存储介质、计算机设备 - Google Patents
应用程序的抓包测试方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN117667667A CN117667667A CN202311412216.4A CN202311412216A CN117667667A CN 117667667 A CN117667667 A CN 117667667A CN 202311412216 A CN202311412216 A CN 202311412216A CN 117667667 A CN117667667 A CN 117667667A
- Authority
- CN
- China
- Prior art keywords
- decryption
- data packet
- program
- encryption algorithm
- packet
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 58
- 238000013507 mapping Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010998 test method Methods 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种应用程序的抓包测试方法及装置、存储介质、计算机设备,基于被测试的目标应用程序对应的加密算法,预先开发出封装有与加密算法相对于的解密算法的解密插件,从而在对目标应用程序的测试过程时,利用解密插件对测试过程中的抓包数据进行解密,以获得能够直接进行明文显示的解密数据包。本申请实施例通过解密插件实现对测试的抓包数据自动解密,以便显示解密后的明文数据,无需测试人员进行手动解密,简单方便,有助于提升测试效率,并且解密插件中封装了与应用程序的加密算法相对于的解密算法,有助于准确的进行数据包解密,另外本申请实施例无需改变应用程序的数据加密逻辑,保证了应用程序的数据安全性。
Description
技术领域
本申请涉及软件测试技术领域,尤其是涉及到一种应用程序的抓包测试方法及装置、存储介质、计算机设备。
背景技术
当前应用程序中为保证应用接口数据的安全性,一般应用会采用https协议且对接口中请求的数据和返回的数据进行加密。即使对应用数据抓包,抓包得到的数据也是加密后的数据,不是明文数据,这种方式提高了应用安全。但在测试时,由于抓包得到的数据是加密数据无法直接明文显示,就需要测试人员对抓包的数据包进行逐个解密,工作量大,因此,亟需解决这一技术问题。
发明内容
有鉴于此,本申请实施例提供了一种应用程序的抓包测试方法及装置、存储介质、计算机设备,
根据本申请的一个方面,提供了一种应用程序的抓包测试方法,所述方法包括:
根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序;
运行所述解密插件;
在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并通过所述解密程序对所述抓包目录下的数据包进行解密;
基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
可选地,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式;
通过所述解密程序对所述抓包目录下的数据包进行解密之后,所述方法还包括:
通过所述解密数据验证程序对所述抓包目录下的解密数据包进行验证,以验证所述解密数据包是否为所述解密数据格式;
若所述解密数据包通过验证,则将解密得到的解密数据包存储在所述抓包目录下;
若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息。
可选地,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数据包解密;
通过所述解密程序对所述抓包目录下的数据包进行解密,包括:
根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,其中,所述预设接口加密算法库中包含至少一个应用程序的接口加密算法密钥信息,任一应用程序的接口加密算法密钥信息为该应用程序的多个接口对应的唯一加密算法密钥、该应用程序的多个接口与加密算法密钥之间的映射关系、或者该应用程序对应的多个加密算法密钥;
遍历所述解密程序,确定标记有与所述加密算法密钥匹配的解密算法密钥的目标解密程序,并调用所述目标解密程序对所述抓包目录下的数据包进行解密。
可选地,根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,包括:
若所述目标应用程序的接口加密算法密钥信息为唯一加密算法密钥,则将该唯一加密算法密钥作为所述数据包对应的抓包接口的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系,则基于映射关系查询所述数据包对应的抓包接口对应的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥,则随机选择多个加密算法密钥中的一个作为所述数据包对应的抓包接口的加密算法密钥。
可选地,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息,包括:
在所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并基于该映射关系获取所述目标应用程序的至少一个其他抓包接口对应的至少一个其他加密算法密钥,确定与至少一个其他加密算法密钥匹配的至少一个解密算法密钥的各其他解密程序,逐个调用所述其他解密程序对所述抓包目录下的数据包进行解密,直到任意一个其他解密程序解密得到的解密数据包通过相应的解密数据验证程序的验证时将通过验证的解密数据包存储在所述抓包目录下;
若每个其他解密程序解密得到的解密数据包均无法通过验证,则生成所述数据包对应的解密失败信息。
可选地,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息,包括:
在所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并随机选择多个加密算法密钥中的新的一个作为所述数据包对应的抓包接口的加密算法密钥,直到基于多个加密算法密钥中的任一个确定出的目标解密程序解密得到的解密数据包能够通过相应的解密数据验证程序的验证为止;
若基于多个加密算法密钥中的每个确定出的目标解密程序得到的解密数据包均无法通过相应的解密数据验证程序的验证,则生成所述数据包对应的解密失败信息。
可选地,所述方法还包括:
接收抓包数据查询指令,其中,所述抓包数据查询指令携带有被查询接口标识;
在所述抓包目录下读取所述被查询接口标识对应的目标解密数据包,并反馈所述目标界面数据包至查询终端,以使所述查询终端基于所述目标解密数据包生成所述目标应用程序的测试结果。
根据本申请的另一方面,提供了一种应用程序的抓包测试装置,所述装置包括:
插件确定模块,用于根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序;
测试模块,用于运行所述解密插件;在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并通过所述解密程序对所述抓包目录下的数据包进行解密;
显示模块,用于基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
可选地,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式;
测试模块,还用于:
通过所述解密数据验证程序对所述抓包目录下的解密数据包进行验证,以验证所述解密数据包是否为所述解密数据格式;
若所述解密数据包通过验证,则将解密得到的解密数据包存储在所述抓包目录下;
若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息。
可选地,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数据包解密;
测试模块,还用于:
根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,其中,所述预设接口加密算法库中包含至少一个应用程序的接口加密算法密钥信息,任一应用程序的接口加密算法密钥信息为该应用程序的多个接口对应的唯一加密算法密钥、该应用程序的多个接口与加密算法密钥之间的映射关系、或者该应用程序对应的多个加密算法密钥;
遍历所述解密程序,确定标记有与所述加密算法密钥匹配的解密算法密钥的目标解密程序,并调用所述目标解密程序对所述抓包目录下的数据包进行解密。
可选地,测试模块,还用于:
若所述目标应用程序的接口加密算法密钥信息为唯一加密算法密钥,则将该唯一加密算法密钥作为所述数据包对应的抓包接口的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系,则基于映射关系查询所述数据包对应的抓包接口对应的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥,则随机选择多个加密算法密钥中的一个作为所述数据包对应的抓包接口的加密算法密钥。
可选地,测试模块,还用于:
在所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并基于该映射关系获取所述目标应用程序的至少一个其他抓包接口对应的至少一个其他加密算法密钥,确定与至少一个其他加密算法密钥匹配的至少一个解密算法密钥的各其他解密程序,逐个调用所述其他解密程序对所述抓包目录下的数据包进行解密,直到任意一个其他解密程序解密得到的解密数据包通过相应的解密数据验证程序的验证时将通过验证的解密数据包存储在所述抓包目录下;
若每个其他解密程序解密得到的解密数据包均无法通过验证,则生成所述数据包对应的解密失败信息。
可选地,测试模块,还用于:
在所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并随机选择多个加密算法密钥中的新的一个作为所述数据包对应的抓包接口的加密算法密钥,直到基于多个加密算法密钥中的任一个确定出的目标解密程序解密得到的解密数据包能够通过相应的解密数据验证程序的验证为止;
若基于多个加密算法密钥中的每个确定出的目标解密程序得到的解密数据包均无法通过相应的解密数据验证程序的验证,则生成所述数据包对应的解密失败信息。
可选地,所述装置还包括:查询模块,用于:
接收抓包数据查询指令,其中,所述抓包数据查询指令携带有被查询接口标识;
在所述抓包目录下读取所述被查询接口标识对应的目标解密数据包,并反馈所述目标界面数据包至查询终端,以使所述查询终端基于所述目标解密数据包生成所述目标应用程序的测试结果。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述应用程序的抓包测试方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述应用程序的抓包测试方法。
借由上述技术方案,本申请实施例提供的一种应用程序的抓包测试方法及装置、存储介质、计算机设备,基于被测试的目标应用程序对应的加密算法,预先开发出封装有与加密算法相对于的解密算法的解密插件,从而在对目标应用程序的测试过程时,利用解密插件对测试过程中的抓包数据进行解密,以获得能够直接进行明文显示的解密数据包。本申请实施例通过解密插件实现对测试的抓包数据自动解密,以便显示解密后的明文数据,无需测试人员进行手动解密,简单方便,有助于提升测试效率,并且解密插件中封装了与应用程序的加密算法相对于的解密算法,有助于准确的进行数据包解密,另外本申请实施例无需改变应用程序的数据加密逻辑,保证了应用程序的数据安全性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种应用程序的抓包测试方法的流程示意图;
图2示出了本申请实施例提供的另一种应用程序的抓包测试方法的流程示意图;
图3示出了本申请实施例提供的一种应用程序的抓包测试装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种应用程序的抓包测试方法,如图1所示,该方法包括:
步骤101,根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序。
本申请实施例中,预先针对需要进行测试的应用程序开发解密插件,解密插件中封装解密程序,具体地,解密程序中的解密算法与应用程序使用的加密算法匹配,其中,应用程序的接口请求的数据和返回的数据是经过加密算法加密的数据,而解密算法能够将加密的数据进行解密,以使加密数据还原成未加密之前的数据。另外,可以针对每个应用程序开发一个专属的解密插件,解密插件封装特定的一个应用程序的加密算法对应的解密程序;也可以针对多个应用程序开发一个共用的解密插件,解密插件封装不同应用程序的加密算法对应的解密程序。确定被测试的目标应用程序后,获取该目标应用程序对应的解密插件。
需要说明的是,可以针对不同类型的执行主体开发相应的解密插件,以使解密插件能够运行在电脑、手机等不同类型的终端上,实现不同类型终端的测试数据解密。
步骤102,运行所述解密插件。
本申请实施例中,对目标应用程序进行测试前,先运行解密插件,以便利用解密插件在测试过程中进行数据解密。
步骤103,在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并通过所述解密程序对所述抓包目录下的数据包进行解密。
本申请实施例中,测试终端对目标应用程序进行测试的过程中,测试终端中运行的抓包程序会对目标应用程序的接口请求数据和接口返回数据进行数据抓包,并将抓包获得的数据包保存在预设的抓包目录下。解密插件通过解密程序对抓包目录下的数据包进行解密,解密成功后,将原来的数据包替换为解密数据包。
步骤104,基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
本申请实施例中,解密程序将抓包目录下的数据包进行解密后,可以对解密数据包进行明文显示,以便测试人员实时观察测试情况。
可选地,该方法还包括:
步骤105,接收抓包数据查询指令,其中,所述抓包数据查询指令携带有被查询接口标识;
步骤106,在所述抓包目录下读取所述被查询接口标识对应的目标解密数据包,并反馈所述目标界面数据包至查询终端,以使所述查询终端基于所述目标解密数据包生成所述目标应用程序的测试结果。
在该实施例中,当接收到抓包数据查询指令时,还可以根据指令携带的被查询接口标识在抓包目录下读取出相应接口的目标解密数据包,并将目标解密数据包反馈至发送指令的查询终端,查询终端可以根据接收到的目标解密数据包分析目标应用程序的测试结果。
通过应用本实施例的技术方案,基于被测试的目标应用程序对应的加密算法,预先开发出封装有与加密算法相对于的解密算法的解密插件,从而在对目标应用程序的测试过程时,利用解密插件对测试过程中的抓包数据进行解密,以获得能够直接进行明文显示的解密数据包。本申请实施例通过解密插件实现对测试的抓包数据自动解密,以便显示解密后的明文数据,无需测试人员进行手动解密,简单方便,有助于提升测试效率,并且解密插件中封装了与应用程序的加密算法相对于的解密算法,有助于准确的进行数据包解密,另外本申请实施例无需改变应用程序的数据加密逻辑,保证了应用程序的数据安全性。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种应用程序的抓包测试方法,如图2所示,该方法包括:
步骤201,根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数据包解密,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式。
本申请实施例中,解密插件中可以封装多个解密程序,多个解密程序具有各自的解密算法密钥,通过解密算法密钥可以识别出解密程序中的解密算法是什么。另外,解密插件中还可以封装与各解密程序一一对应的解密数据验证程序,每个解密数据验证程序中具有各自对应的标准格式,解密数据验证程序用于验证对应的解密程序解密后的数据是否符合解密程序对应的解密数据格式,也即验证解密程序解密后的数据是否为相应的标准格式,如果是标准格式说明解密成功,否则说明解密失败。
步骤202,运行所述解密插件。
本申请实施例中,对目标应用程序进行测试前,先运行解密插件,以便利用解密插件在测试过程中进行数据解密。
步骤203,在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,其中,所述预设接口加密算法库中包含至少一个应用程序的接口加密算法密钥信息,任一应用程序的接口加密算法密钥信息为该应用程序的多个接口对应的唯一加密算法密钥、该应用程序的多个接口与加密算法密钥之间的映射关系、或者该应用程序对应的多个加密算法密钥;遍历所述解密程序,确定标记有与所述加密算法密钥匹配的解密算法密钥的目标解密程序,并调用所述目标解密程序对所述抓包目录下的数据包进行解密。
本申请实施例中,抓包程序对目标应用程序的接口进行数据抓包,并将得到的数据包存储在抓包目录下。解密插件对抓包目录下的数据包进行解密时,需要选择合适的解密程序来执行解密操作。具体地,从某个接口抓取的数据包可以标记相应的抓包接口的接口标识,基于接口标识可以进一步在预设接口加密算法库中查询出该接口对应的加密算法的加密算法密钥。其中,不同应用程序对应的加密算法可以为一种也可以为多种,可以为固定也可以为非固定。预设接口加密算法库中存储多个应用程序的接口加密算法密钥信息,如果某个应用程序的接口加密算法密钥信息是唯一加密算法密钥,那么说明该应用程序的各接口共用相同的加密算法;如果某个应用程序的接口加密算法密钥信息也可以是应用程序的多个接口与各自对应的加密算法的加密算法密钥之间的映射关系,那么说明该应用程序的各接口对应有各自的加密算法;如果某个应用程序的接口加密算法密钥信息也可以是应用程序对应的多个加密算法各自的加密算法密钥,那么说明该应用程序会从多个加密算法中选取某一个对接口的数据进行加密。
可选地,步骤203中根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,包括:
若所述目标应用程序的接口加密算法密钥信息为唯一加密算法密钥,则将该唯一加密算法密钥作为所述数据包对应的抓包接口的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系,则基于映射关系查询所述数据包对应的抓包接口对应的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥,则随机选择多个加密算法密钥中的一个作为所述数据包对应的抓包接口的加密算法密钥。
在该实施例中,如果目标应用程序的接口加密算法密钥信息为唯一加密算法密钥,则该目标应用程序每个抓取到的数据包对应的加密算法密钥,都是这个唯一加密算法密钥;如果目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系,则基于映射关系查询数据包对应的抓包接口对应的加密算法密钥;如果目标应用程序的接口加密算法密钥信息为多个加密算法密钥,则先随机选择一个作为数据包对应的抓包接口的加密算法密钥。
步骤204,通过所述解密数据验证程序对所述抓包目录下的解密数据包进行验证,以验证所述解密数据包是否为所述解密数据格式。
本申请实施例中,对抓包目录下的数据包进行解密后,利用解密插件中的解密数据验证程序对解密数据包进行格式验证,以验证解密数据包是否为正确的解密数据格式。
步骤205,若所述解密数据包通过验证,则将解密得到的解密数据包存储在所述抓包目录下。
本申请实施例中,如果解密数据包通过验证,那么将抓包目录下原始的、加密的数据包替换为通过验证的解密数据包。
步骤206,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息。
本申请实施例中,如果解密数据包未通过验证,说明解密失败,那么保留原来的、加密的数据包,将解密数据包删除,并生成该数据包对应的解密失败信息。
可选地,步骤206包括:
在所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并基于该映射关系获取所述目标应用程序的至少一个其他抓包接口对应的至少一个其他加密算法密钥,确定与至少一个其他加密算法密钥匹配的至少一个解密算法密钥的各其他解密程序,逐个调用所述其他解密程序对所述抓包目录下的数据包进行解密,直到任意一个其他解密程序解密得到的解密数据包通过相应的解密数据验证程序的验证时将通过验证的解密数据包存储在所述抓包目录下;
若每个其他解密程序解密得到的解密数据包均无法通过验证,则生成所述数据包对应的解密失败信息。
在该实施例中,在目标应用程序的接口加密算法密钥是映射关系的情况下,如果解密数据包未通过验证,那么还可以尝试使用目标应用程序的其他抓包接口对应的解密算法进行解密。具体地,将未通过验证的解密数据包删除,基于映射关系获取其他抓包接口对应的其他加密算法密钥,逐个确定各其他加密算法密钥对应的其他解密程序,通过其他解密程序对数据包进行解密并调用与其他解密程序对应的解密数据验证程序对解密数据包进行验证,直到获得能够通过验证的解密数据包。另外,如果与目标应用程序对应的每个其他解密程序得到的解密数据包均无法通过验证,则生成数据包对应的解密失败信息,保留原始的、加密的数据包,将该数据包对应的未通过验证的解密数据包全部删除。
可选地,步骤206包括:
在所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并随机选择多个加密算法密钥中的新的一个作为所述数据包对应的抓包接口的加密算法密钥,直到基于多个加密算法密钥中的任一个确定出的目标解密程序解密得到的解密数据包能够通过相应的解密数据验证程序的验证为止;
若基于多个加密算法密钥中的每个确定出的目标解密程序得到的解密数据包均无法通过相应的解密数据验证程序的验证,则生成所述数据包对应的解密失败信息。
在该实施例中,在目标应用程序的接口加密算法密钥是多个加密算法密钥的情况下,如果解密数据包未通过验证,那么可以继续在多个加密算法密钥中随机选取一个与之前不同的加密算法密钥,并利用选取的新的加密算法密钥确定目标解密程序并进行数据包解密,直到利用目标应用程序对应的多个加密算法密钥中的任意一个加密算法密钥确定出的目标解密程序解密出的解密数据包能够通过验证为止。另外,如果利用与目标应用程序对应的每个加密算法密钥确定出的解密程序都无法解密出能够通过验证的解密数据包,则生成数据包对应的解密失败信息,保留原始的、加密的数据包,将该数据包对应的未通过验证的解密数据包全部删除。
步骤207,基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
本申请实施例中,对抓包目录下的数据包进行解密获得解密数据包后,可以对解密数据包中的解密数据进行明文显示,以便测试人员观察测试情况。通过插件自动解密接口和数据统计,对比手动解密查看,可以节省测试中大量重复的人工耗时;使测试工作变得更加高效和准确;且拓展性强,可适用于多个项目和多个端的应用。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种应用程序的抓包测试装置,如图3所示,该装置包括:
插件确定模块,用于根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序;
测试模块,用于运行所述解密插件;在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并通过所述解密程序对所述抓包目录下的数据包进行解密;
显示模块,用于基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
可选地,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式;
测试模块,还用于:
通过所述解密数据验证程序对所述抓包目录下的解密数据包进行验证,以验证所述解密数据包是否为所述解密数据格式;
若所述解密数据包通过验证,则将解密得到的解密数据包存储在所述抓包目录下;
若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息。
可选地,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数据包解密;
测试模块,还用于:
根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,其中,所述预设接口加密算法库中包含至少一个应用程序的接口加密算法密钥信息,任一应用程序的接口加密算法密钥信息为该应用程序的多个接口对应的唯一加密算法密钥、该应用程序的多个接口与加密算法密钥之间的映射关系、或者该应用程序对应的多个加密算法密钥;
遍历所述解密程序,确定标记有与所述加密算法密钥匹配的解密算法密钥的目标解密程序,并调用所述目标解密程序对所述抓包目录下的数据包进行解密。
可选地,测试模块,还用于:
若所述目标应用程序的接口加密算法密钥信息为唯一加密算法密钥,则将该唯一加密算法密钥作为所述数据包对应的抓包接口的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系,则基于映射关系查询所述数据包对应的抓包接口对应的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥,则随机选择多个加密算法密钥中的一个作为所述数据包对应的抓包接口的加密算法密钥。
可选地,测试模块,还用于:
在所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并基于该映射关系获取所述目标应用程序的至少一个其他抓包接口对应的至少一个其他加密算法密钥,确定与至少一个其他加密算法密钥匹配的至少一个解密算法密钥的各其他解密程序,逐个调用所述其他解密程序对所述抓包目录下的数据包进行解密,直到任意一个其他解密程序解密得到的解密数据包通过相应的解密数据验证程序的验证时将通过验证的解密数据包存储在所述抓包目录下;
若每个其他解密程序解密得到的解密数据包均无法通过验证,则生成所述数据包对应的解密失败信息。
可选地,测试模块,还用于:
在所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并随机选择多个加密算法密钥中的新的一个作为所述数据包对应的抓包接口的加密算法密钥,直到基于多个加密算法密钥中的任一个确定出的目标解密程序解密得到的解密数据包能够通过相应的解密数据验证程序的验证为止;
若基于多个加密算法密钥中的每个确定出的目标解密程序得到的解密数据包均无法通过相应的解密数据验证程序的验证,则生成所述数据包对应的解密失败信息。
可选地,所述装置还包括:查询模块,用于:
接收抓包数据查询指令,其中,所述抓包数据查询指令携带有被查询接口标识;
在所述抓包目录下读取所述被查询接口标识对应的目标解密数据包,并反馈所述目标界面数据包至查询终端,以使所述查询终端基于所述目标解密数据包生成所述目标应用程序的测试结果。
需要说明的是,本申请实施例提供的一种应用程序的抓包测试装置所涉及各功能单元的其他相应描述,可以参考图1至图2方法中的对应描述,在此不再赘述。
本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现各方法实施例中的步骤。
本领域技术人员可以理解,上述的计算机设备的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序的抓包测试方法,其特征在于,所述方法包括:
根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序;
运行所述解密插件;
在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并通过所述解密程序对所述抓包目录下的数据包进行解密;
基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
2.根据权利要求1所述的方法,其特征在于,所述解密插件中还封装有与所述解密程序匹配的解密数据验证程序,所述解密数据验证程序用于验证解密后的数据是否为所述解密程序对应的解密数据格式;
通过所述解密程序对所述抓包目录下的数据包进行解密之后,所述方法还包括:
通过所述解密数据验证程序对所述抓包目录下的解密数据包进行验证,以验证所述解密数据包是否为所述解密数据格式;
若所述解密数据包通过验证,则将解密得到的解密数据包存储在所述抓包目录下;
若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息。
3.根据权利要求2所述的方法,其特征在于,所述解密插件中封装的解密程序包括多个,不同解密程序标记有所述解密程序对应的解密算法密钥,每个解密程序基于各自的解密算法密钥对应的解密算法进行数据包解密;
通过所述解密程序对所述抓包目录下的数据包进行解密,包括:
根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,其中,所述预设接口加密算法库中包含至少一个应用程序的接口加密算法密钥信息,任一应用程序的接口加密算法密钥信息为该应用程序的多个接口对应的唯一加密算法密钥、该应用程序的多个接口与加密算法密钥之间的映射关系、或者该应用程序对应的多个加密算法密钥;
遍历所述解密程序,确定标记有与所述加密算法密钥匹配的解密算法密钥的目标解密程序,并调用所述目标解密程序对所述抓包目录下的数据包进行解密。
4.根据权利要求3所述的方法,其特征在于,根据预设接口加密算法库,确定所述数据包对应的抓包接口的加密算法密钥,包括:
若所述目标应用程序的接口加密算法密钥信息为唯一加密算法密钥,则将该唯一加密算法密钥作为所述数据包对应的抓包接口的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系,则基于映射关系查询所述数据包对应的抓包接口对应的加密算法密钥;
若所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥,则随机选择多个加密算法密钥中的一个作为所述数据包对应的抓包接口的加密算法密钥。
5.根据权利要求4所述的方法,其特征在于,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息,包括:
在所述目标应用程序的接口加密算法密钥信息为多个接口与加密算法密钥之间的映射关系的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并基于该映射关系获取所述目标应用程序的至少一个其他抓包接口对应的至少一个其他加密算法密钥,确定与至少一个其他加密算法密钥匹配的至少一个解密算法密钥的各其他解密程序,逐个调用所述其他解密程序对所述抓包目录下的数据包进行解密,直到任意一个其他解密程序解密得到的解密数据包通过相应的解密数据验证程序的验证时将通过验证的解密数据包存储在所述抓包目录下;
若每个其他解密程序解密得到的解密数据包均无法通过验证,则生成所述数据包对应的解密失败信息。
6.根据权利要求3所述的方法,其特征在于,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并生成所述数据包对应的解密失败信息,包括:
在所述目标应用程序的接口加密算法密钥信息为多个加密算法密钥的情况下,若所述解密数据包未通过验证,则删除解密得到的解密数据包,并随机选择多个加密算法密钥中的新的一个作为所述数据包对应的抓包接口的加密算法密钥,直到基于多个加密算法密钥中的任一个确定出的目标解密程序解密得到的解密数据包能够通过相应的解密数据验证程序的验证为止;
若基于多个加密算法密钥中的每个确定出的目标解密程序得到的解密数据包均无法通过相应的解密数据验证程序的验证,则生成所述数据包对应的解密失败信息。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
接收抓包数据查询指令,其中,所述抓包数据查询指令携带有被查询接口标识;
在所述抓包目录下读取所述被查询接口标识对应的目标解密数据包,并反馈所述目标界面数据包至查询终端,以使所述查询终端基于所述目标解密数据包生成所述目标应用程序的测试结果。
8.一种应用程序的抓包测试装置,其特征在于,所述装置包括:
插件确定模块,用于根据被测试的目标应用程序,确定所述目标应用程序对应的解密插件,其中,所述解密插件中封装有与所述目标应用程序的加密程序对应的解密程序;
测试模块,用于运行所述解密插件;在测试所述目标应用程序的过程中,对所述目标应用程序对应的接口进行数据抓包,将得到的数据包存储在抓包目录下,并通过所述解密程序对所述抓包目录下的数据包进行解密;
显示模块,用于基于所述抓包目录下的解密数据包,进行解密数据的明文显示。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311412216.4A CN117667667A (zh) | 2023-10-27 | 2023-10-27 | 应用程序的抓包测试方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311412216.4A CN117667667A (zh) | 2023-10-27 | 2023-10-27 | 应用程序的抓包测试方法及装置、存储介质、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117667667A true CN117667667A (zh) | 2024-03-08 |
Family
ID=90079753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311412216.4A Pending CN117667667A (zh) | 2023-10-27 | 2023-10-27 | 应用程序的抓包测试方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667667A (zh) |
-
2023
- 2023-10-27 CN CN202311412216.4A patent/CN117667667A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768972B (zh) | 车辆数据的存储和访问方法及装置、系统、电子设备 | |
CN109740366A (zh) | 影像管理方法、装置、计算机设备和存储介质 | |
CN111475376A (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN110826091B (zh) | 一种文件签名方法、装置、电子设备及可读存储介质 | |
CN109726575A (zh) | 一种数据加密方法及装置 | |
CN114925337B (zh) | 数据的标注方法、装置和电子设备 | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
CN114222288B (zh) | 设备标识生成方法、设备标识校验方法和装置 | |
CN116662941A (zh) | 信息加密方法、装置、计算机设备和存储介质 | |
CN117978446A (zh) | 芯片通信传输加密方法、装置、计算机设备、存储介质 | |
CN116366289B (zh) | 无人机遥感数据的安全监管方法及装置 | |
CN117667667A (zh) | 应用程序的抓包测试方法及装置、存储介质、计算机设备 | |
CN115756255A (zh) | 停车场设备的设备参数处理方法、装置、设备和存储介质 | |
CN115114657A (zh) | 数据保护方法、电子设备及计算存储介质 | |
CN114785677A (zh) | 日志管理方法、装置、计算机设备、存储介质和程序产品 | |
CN114490704A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116094764B (zh) | 电力监控系统的电网数据存储方法、装置和设备 | |
CN115883126A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN117113437B (zh) | 一种文件篡改检测方法、装置、计算机设备及存储介质 | |
CN115941199B (zh) | 身份信息验证方法、装置、设备、存储介质和程序产品 | |
CN114785553B (zh) | 权限认证方法、装置、计算机设备和存储介质 | |
CN114928551B (zh) | 一种系统配置方法、装置和存储介质 | |
CN111798206B (zh) | 一种检测数据处理方法、装置及设备 | |
CN115934473A (zh) | 异常信息采集工具生成方法、装置、计算机设备 | |
CN118282669A (zh) | 证书处理方法、装置、设备和存储介质 |
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 |