超文本传输安全协议测试方法、装置、软件程序及介质与流程
未命名
08-27
阅读:137
评论:0
1.本本发明涉及网络仿真处理技术,尤其涉及超文本传输安全协议测试方法、装置、软件程序及存储介质。
背景技术:
2.相关技术中,诸如手机、平板电脑之类的终端,能够通过无线局域网(wlan wireless local area networks)接入互联网(internet),并通过超文本传输安全协议进行信息传输,为了保证超文本传输安全协议进行信息传输的准确性,需要对超文本传输安全协议进行测试,保证超文本传输安全协议的正确运行。但是,相关技术中对超文本传输安全协议的检测,必须获得终端的操作权限,同时对于不同的终端操作系统,需要提供不同的针对性测试方法,不利于提高超文本传输安全协议测试的通用性。
技术实现要素:
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.所述信息传输模块,用于对所述游戏客户端所运行的目标游戏进程进行解析,获取所述目标游戏进程中不同任务的优先级;
39.所述信息传输模块,用于根据所述不同任务的优先级,为所述任务配置相匹配的链路,以实现通过所配置的链路对所述目标游戏进程的信息进行传输。
40.上述方案中,
41.所述信息传输模块,用于当所述目标游戏进程为云游戏时,确定目标对象的标识信息;
42.所述信息传输模块,用于基于云服务器网络,确定与所述标识信息相匹配的数据源集群;
43.所述信息传输模块,用于根据所述数据源集群,向云游戏服务器中存储与所述目标对象相匹配的用户的云游戏历史信息,其中,所述用户的云游戏历史信息包括所述云游戏对应的超文本传输安全协议测试结果。
44.本发明实施例还提供了一种软件程序,所述软件程序包括:
45.存储器,用于存储可执行指令;
46.处理器,用于运行所述存储器存储的可执行指令时,实现前序的超文本传输安全协议测试方法。
47.本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序的超文本传输安全协议测试方法。
48.本发明实施例具有以下有益效果:
49.本发明实施例通过网络测试组件获取信息传输数据包,并且对所述数据包的协议层信息进行检测;当确定所述协议层信息的类型为超文本传输安全协议时,对所述信息传输数据包进行拦截;所述网络测试组件基于所拦截的信息传输数据包,配置安全套接字协议或者传输层安全协议;通过所述安全套接字协议或者传输层安全协议与服务器端建立连接;所述网络测试组件基于与客户端的连接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试,由此,可以提升超文本传输安全协议的检测效率,使得超文本传输安全协议的检测的通用性更强,能够适应不同类型操作系统的网络环境。
附图说明
50.图1是本发明实施例提供的超文本传输安全协议测试方法的使用环境示意图;
51.图2为本发明实施例提供的超文本传输安全协议测试装置的组成结构示意图;
52.图3为本发明实施例提供的超文本传输安全协议测试方法一个可选的流程示意图;
53.图4为本发明实施例提供的超文本传输安全协议测试方法一个可选的流程示意图;
54.图5为本发明实施例中多进程并行组件的启动配置示意图;
55.图6a为本发明实施例中域名证书生成过程示意图;
56.图6b为本发明实施例中域名证书生成过程示意图;
57.图7为本发明实施例中与服务器端建立连接的过程示意图;
58.图8为本发明实施例提供的超文本传输安全协议测试方法一个可选的流程示意图;
59.图9为本发明实施例中测试报告展示效果示意图。
具体实施方式
60.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
61.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
62.对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
63.1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
64.2)基于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
65.3)云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
66.4)云游戏:是指游戏本身运行在云端服务器设备中,将云端设备渲染后的游戏画面编码后,通过网络传输至用户终端,由用户终端对编码文件进行解码后渲染至显示屏进行显示的游戏,从而,用户无需在本地安装游戏,而仅需要建立与云端的通信网络连接便能完成游戏交互过程。
67.5)多开器app:基于虚拟应用技术,可以将已有应用复制到本app中,不同于原有应用,可以二次打开该应用,数据和原有应用也不互通
68.6)中间人攻击(mitm攻击man-in-the-middleattack)是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的
连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。中间人攻击是一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,ssl协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信任的数字证书认证机构颁发,并且能执行双向身份认证。
69.7)url:统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的url。
70.8)mac地址:media access control,或称为mac位址、硬件地址,用来定义网络设备的位置。mac集成在网卡,具有唯一性。
71.9)域名:是由一串用点分隔的名字组成的网络上某一台计算机或计算机组的名称,其与ip地址具备一一对应关系。
72.在介绍本技术所提供的超文本传输安全协议测试方法之前,首先对以游戏程序为例,对传统技术中的超文本传输安全协议测试方法进行说明,在传统技术中为了实现对游戏中超文本传输安全协议测试,可以包括以下3种方式:
73.1)对终端信息进行提取,获取root权限,或者仅能够使用低于android 7.0系统的终端,然后将自签名证书保存在系统证书目录或者用户证书目录下,配合抓包工具达到解密https请求的目的。这种方式的缺陷在于获取终端的root权限将会增加终端的使用风险,同时受到终端类型以及终端操作系统的限制,对超文本传输安全协议测试不具有通用性。
74.2)使用正式的服务器证书,或者在测试单位开发的app中嵌入受信任的证书,接着配合抓包工具达到解密https请求的目的。这种方式的缺陷在于仅能够对测试单位的固定app进行超文本传输安全协议测试,通用性较差,无法扩展到支持所有应用,进行黑盒解密和分析测试。
75.3)利用逆向分析技术,找到超文本传输安全协议测试中的应用进程的发送http请求的接口,接管接口的数据,在应用每次发包的时候打印出发送的内容进行测试,这种方式的缺陷在于,逆向分析技术的要求高,造成超文本传输安全协议测试的成本高。
76.为了解决上述缺陷,本发明实施例提供了一种超文本传输安全协议测试方法,通过网络测试组件实现提升超文本传输安全协议的检测效率,使得超文本传输安全协议的检测的通用性更强,能够适应不同类型操作系统的网络环境。
77.图1为本发明实施例提供的超文本传输安全协议测试方法的使用场景示意图,参见图1,本发明实施例提供的超文本传输安全协议测试方法可以应用于网络系统中,网络系统包括:客户端、超文本传输安全协议测试装置以及服务器端,其中所述超文本传输安全协议测试装置的硬件实施或软件实施的示例与图2相同,将在后面进行详细介绍。
78.其中,客户端可以运行于各种类型的终端设备中,对此,本技术不作具体限制,终端中可以运行各种类型的客户端,在客户端运行时,通过超文本传输安全协议与服务器端进行通信,以实现信息传输。为了实现本技术所提供的超文本传输安全协议测试方法,可以通过网络测试组件实现,其中网络测试组件可以封装于弱网测试app中,并在终端中安装,也可以作为小程序在即时通讯客户端中进行调用。
79.以客户端为云游戏客户端的加速为例,其中,网络测试组件可以封装于专业游戏终端或者封装于不同的移动电子设备中,本技术不做具体限制,其中,当应用程序为游戏程
序时,网络测试组件可以封装于弱网测试app中,以在云游戏客户端运行时,游戏本身运行在云端服务器设备中,将云端设备渲染后的游戏画面编码后,通过网络传输至用户终端,由用户终端对编码文件进行解码后渲染至显示屏进行显示的游戏,从而,用户无需在本地安装游戏,而仅需要建立与云端的通信网络连接便能完成游戏交互过程。云游戏的组织架构中包括终端和云端服务器,其中,终端用于接收用户对游戏过程的控制操作,并将控制操作对应的控制指令发送至云端服务器,云端服务器用于对游戏进程进行控制,并将游戏过程中的视频流发送至终端进行播放。也即在云游戏的组织架构中,终端主要负责在游戏过程中接收对应服务端的游戏视频和游戏音频进行渲染与播放,并把游戏用户在终端侧的操作(包括但不限于游戏用户通过鼠标、键盘、操作手柄、语音指令、触摸指令等方式实现的操作),通过和服务端连接的信令通道发送给服务端,服务端把这些操作信息发送给相匹配的鼠标驱动进程、声卡驱动进程以及键盘驱动进程,从而实现对云端游戏的控制。游戏加速器通过执行本技术所提供的网关设备测试方法可以自动化地确定每一个待检测网关设备的状态,选取最适合的网关设备连接无线局域网,上述云游戏客户端与服务器端的数据传输,需要通过超文本传输安全协议完成,对超文本传输安全协议进行测试可以检测超文本传输安全协议的不同端口的可用性,以及对为云游戏客户端的不同任务配置相应的通信链路。
80.结合上述描述,在图1所示的使用场景中,终端(包括终端10-1和终端10-2)为未联网设备,其上设置有用于连接互联网功能的客户端,当多个无线局域网中的无线局域网300通过超文本传输安全协议测试装置200的认证时,终端(包括终端10-1和终端10-2)接入无线局域网300,无线局域网300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输,所述无线局域网300能够与互联网400相连接,实现所述终端(包括终端10-1和终端10-2)通过所述无线局域网300连接互联网400。
81.作为一个示例,终端(终端10-1和/或终端10-2)用于获取并输出未联网设备所处区域的无线局域网资源,当超文本传输安全协议测试装置200可以基于无线局域网资源中每一个无线局域网的状态,对所述无线局域网资源中的所有无线局域网进行排序;基于所述无线局域网资源中的无线局域网的排序结果,将所述无线局域网的接入信息保存至对应的识别数据库中,并且在显示界面中向用户呈现,终端(终端10-1和/或终端10-2)根据排序结果进行选择,并根据无线局域网的接入信息接入对应的无线局域网,实现通过所连接的无线局300域网与互联网400相连接。
82.终端(包括终端10-1和终端10-2),还用于接收超文本传输安全协议测试装置200所出的至少一个无线局域网的接入信息。并将至少一个无线局域网的接入信息保存在相应的存储介质中。
83.下面对本发明实施例的超文本传输安全协议测试装置的结构做详细说明,超文本传输安全协议测试装置可以各种形式来实施,如带有网络管理功能的智能手机、平板电脑和台式机等终端,也可以为带有网络管理功能的服务器。图2为本发明实施例提供的超文本传输安全协议测试装置的组成结构示意图,可以理解,图2仅仅示出了超文本传输安全协议测试装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
84.本发明实施例提供的超文本传输安全协议测试装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。超文本传输安全协议测试装置20中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接
通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。
85.其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
86.可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如终端10-1)的操作。这些数据的示例包括:用于在终端(如终端10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
87.在一些实施例中,本发明实施例提供的超文本传输安全协议测试装置可以采用硬件方式实现,作为示例,本发明实施例提供的超文本传输安全协议测试装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的超文本传输安全协议测试方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
88.作为本发明实施例提供的超文本传输安全协议测试装置采用软件方式实现,本发明实施例所提供的超文本传输安全协议测试装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的超文本传输安全协议测试方法。
89.例如,图2示出了存储在存储器202中的超文本传输安全协议测试装置,其可以是程序和插件等形式的软件,并包括以下的软件模块:信息传输模块2081、认证模块2082。当超文本传输安全协议测试装置中的软件模块被处理器201读取到ram中并执行时,将实现本发明实施例提供的超文本传输安全协议测试方法,下面结合图2所示的超文本传输安全协议测试装置说明各个软件模块的功能。
90.信息传输模块2081,用于获网络测试组件获取信息传输数据包,并且对所述数据包的协议层信息进行检测。
91.信息处理模块2082,用于当确定所述协议层信息的类型为超文本传输安全协议时,对所述信息传输数据包进行拦截。
92.所述信息处理模块2082,用于通过所述安全套接字协议或者传输层安全协议与服务器端建立连接。
93.所述信息处理模块2082,用于所述网络测试组件基于与客户端的连接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试。
94.根据图2所示的超文本传输安全协议测试装置,在本技术的一个方面中,本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述超文本传输安全协议测试方法的各种可选实现方式中所提供的不同实施例及实施例的组合。
95.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
96.本发明实施例中的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
97.在本发明的一些实施例中,终端10-1、终端10-2、服务器系统200均可以为云服务器系统中的节点设备,能够将获取到以及生成的信息共享给区云服务器系统中的其他节点设备,实现多个节点设备之间的信息共享。
98.本发明实施例还可以基于云技术来实现对超文本传输安全协议进行测试。云技术(cloudtechnology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利,云计算技术将变成重要支撑。云计算(cloud computing)指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算(grid computing)、分布式计算(distributed computing)、并行计算(par allel computing)、效用计算(utility computing)、网络存储(network storage tec hnologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
99.云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,id entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundant array of independent disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
100.参见图3,图3为本发明实施例提供的超文本传输安全协议测试方法一个可选的流
程示意图,可以理解地,图3所示的步骤可以由运行超文本传输安全协议测试装置的各种电子设备执行,例如可以是如带有网络连接与管理功能的电脑、智能手机等类型的终端,也可以是网络游戏机,超文本传输安全协议测试装置可以封装于弱网检测app中,实现对终端中不同客户端的超文本传输安全协议进行测试,下面针对图3示出的步骤进行说明。
101.步骤301:网络测试组件获取信息传输数据包,并且对所述数据包的协议层信息进行检测。
102.步骤302:当确定所述协议层信息的类型为超文本传输安全协议时,对所述信息传输数据包进行拦截。
103.步骤303:网络测试组件基于所拦截的信息传输数据包,配置安全套接字协议或者传输层安全协议。
104.步骤304:当网络测试组件的证书通过检测时,网络测试组件利用虚拟应用技术,通过多进程并行组件将所述网络测试组件的证书检测结果向客户端发送,以实现所述客户端信任所述网络测试组件的证书,并与所述网络测试组件建立连接。
105.在本发明的一些实施例中,在进行超文本传输安全协议测试之前,首先需要通过多进程并行组件对网络测试组件的证书进行检测,参见图4,图4为本发明实施例提供的超文本传输安全协议测试方法一个可选的流程示意图,具体包括以下步骤:
106.步骤401:通过多进程并行组件获取所述客户端的信息传输数据包。
107.其中,信息传输数据包可以为pcap格式文件,每一个pcap文件只有一个文件头,总共占24(b)字节,包括7个不同的字段:1)magic(4b):标记文件开始,并用来识别文件和字节顺序,值可以为0xa1b2c3d4或者0xd4c3b2a1,如果是0xa1b2c3d4表示是大端模式,按照原来的顺序依次读取每一个字节,如果是0xd4c3b2a1表示小端模式,字节读取都要交换顺序。2)major(2b):当前文件的主要版本号,一般为0x0200;3)minor(2b):当前文件的次要版本号,一般为0x0400;4)thiszone(4b):当地的标准事件;5)sigfigs(4b):时间戳的精度;6)snaplen(4b):最大的存储长度,设置所抓获的数据包的最大长度,如果所有数据包都要抓获,将值设置为65535;7)linktype(4b):链路类型。
108.其中,在获取客户端的信息传输数据包时,针对已经触发的游戏程序,还可以根据游戏的类型触发不同的抓包进程,例如在vr游戏场景下,可以通过加载与vr游戏相匹配的抓包进程获取游戏的资源文件,资源文件可以包括游戏模型、游戏关卡、游戏角色、游戏声音和游戏动画等。对于即时通讯客户端中的小游戏,由于小游戏一般使用js、ts和as,实际运行时是编译成js运行,javascript函数劫持,因此,可以利用对应的抓包进程,通过laya.stat.enable()函数开启性能统计,抓取到游戏引擎的fps、已加载的内存、drawcall、三角面数等相关性能参数,并将将这些性能参数保存在游戏终端中。通过抓包进程获取游戏的资源文件可以更好的对游戏数据通过超文本传输安全协议进行传输的过程进行测试,为不同的游戏选择更加适合的信息传输链路,以保证游戏进程信息传输的稳定性。
109.步骤402:多进程并行组件与所述网络测试组件建立连接,获取所述网络测试组件的证书,并且对所述网络测试组件的证书进行检测。
110.其中,多进程并行组件可以为使用基于虚拟应用技术的多开器app,当服务器端的类型为云服务器时,可以通过云检测网络中的云多开器执行多进程并行组件的功能,由于
网络测试组件qnet服务器中使用自签名的证书和私钥进行加密,多开器app在应用配置中信任该证书,由于多开器app基于虚拟应用技术,可以模拟终端中的任一app,所模拟的app(被测试app)和多开器app应用配置和权限一致,因此也会信任网络测试组件qnet的证书,由此,可以实现提升超文本传输安全协议的检测效率,适应不同类型操作系统的网络环境。
111.步骤403:当所述网络测试组件的证书通过检测时,所述多进程并行组件通过所述信息传输数据包,将所述网络测试组件的证书检测结果向所述客户端发送,以实现所述客户端信任所述网络测试组件的证书。
112.参考图5,图5为本发明实施例中多进程并行组件的启动配置示意图,其中,多进程并行组件可以表现为多开器app,多开器app基于虚拟应用技术,可以将已有应用复制到自身进场中,不同于原有应用,可以二次打开该应用,数据和原有应用也无法互通,由于网络测试组件的证书(例如可以是自签名的证书)和私钥进行加密,同时多开器app在应用配置阶段对信任网络测试组件的证书,由于多开器app基于虚拟应用技术,可以调用终端中运行的任一客户端,所调用的客户端和多开器app应用配置和权限一致,因此将网络测试组件的证书检测结果向客户端发送,可以实现客户端信任所述网络测试组件的证书,保证在不同的环境中均能够对超文本传输安全协议进行测试。
113.在本发明的一些实施例中,在获取超文本传输安全协议的证书时,由于超文本传输安全协议证书需要针对域名进行签发和配置,网络测试组件中存在已配置的根证书,再通过根证书签发的域名证书,因此域名证书也同被客户端信任,参考图6a,图6a为本发明实施例中域名证书生成过程示意图,具体包括以下步骤:
114.步骤6001:网络测试组件拦截所有https请求。
115.步骤6002:网络测试组件解析握手包中sni扩展。
116.步骤6003:网络测试组件生成读取域名证书。
117.在本发明的一些实施例中,https传输中安全套接层ssl介于应用层与传输层之间,则若确定出流量数据包中的传输层的上一层为ssl,则从流量数据包中筛选出ssl层协议类型为“clienthello”的握手包,当解析出的握手包中包括服务器名称指示sni字段,则从所述握手包中解析出服务器名称字段对应的域名,并确定所述服务器名称字段对应的域名为请求方所请求的域名。
118.在本发明的一些实施例中,当网络测试组件在解析出握手包后,则检查上述握手包中是否包括sni扩展字段,若存在,则可以从握手包中解析出服务器名称(server name)字段对应的域名。
119.例如,sni扩展字段定义在rfc4366,是一项用于改善ssl/tls的技术,在ssl3.0/tls1.0中被启用。它允许请求方在发起ssl握手请求时(具体说来,是请求方发出ssl请求中的clienthello阶段),就可以通过sni扩展字段提交请求的域名,使得服务器能够切换到正确的域名并基于正确的域名提供服务。本发明实施例中,网络测试组件就是基于此原理可以从sni扩展字段中的server name字段来提取出请求方所请求的域名,从而保证了网络测试组件在握手时即可获取到域名从而生成域名证书。
120.步骤6004:网络测试组件进行握手交互。
121.步骤6005:网络测试组件进行https解密交互,获取每一个https请求的域名以及域名证书。
122.在本发明的一些实施例中,参考图6b,图6b为本发明实施例中域名证书生成过程示意图,具体包括以下步骤:
123.步骤601:响应于所述握手请求,所述网络测试组件拦截所述客户端发送的所有超文本传输安全协议请求。
124.步骤602:解析所述握手请求中携带的服务器名称指示扩展信息。
125.步骤603:基于所述服务器名称指示扩展信息,确定所述超文本传输安全协议请求对应的域名证书。
126.其中,由于传输层安全协议(transport layer security,tls)携带有服务器名称指示信息,服务器名称指示信息是一个扩展的tls计算机联网协议,允许在握手过程开始时通过客户端通知正在连接的服务器的主机名称。同时也允许在相同的ip地址和tcp端口号的服务器上使用多个证书,而不必所有网站都使用同一个证书。因此,通过服务器名称指示扩展信息,可以在客户端发送超文本传输安全协议请求后,即生成超文本传输安全协议请求对应的域名证书,保证超文本传输安全协议测试的黑盒运行,提升超文本传输安全协议测试的检测效率。
127.当网络测试组件与客户端建立连接之后,继续执行步骤305。
128.步骤305:通过所述安全套接字协议或者传输层安全协议与服务器端建立连接。
129.在本发明的一些实施例中,参考图7,图7为本发明实施例中与服务器端建立连接的过程示意图,具体包括以下步骤:
130.步骤701:网络测试组件接收所述客户端发送的握手请求;
131.步骤702:响应于所述握手请求,所述网络测试组件创建超文本传输安全协议服务进程,并且接收所述客户端发送的第一加密数据;
132.步骤703:所述网络测试组件对所述第一加密数据进行解密处理,得到第一数据。
133.步骤704:网络测试组件通过所述安全套接字协议或者传输层安全协议与所述服务器端建立通信连接,并且通过所述通信连接向所述服务器端发送经过二次加密处理的所述第一数据。
134.其中,安全套接字协议(ssl secure sockets layer)及传输层安全(tls transport layer security)是为网络通信提供安全及数据完整性的一种安全协议。tls与ssl在传输层与应用层之间对网络连接进行加密,具体来说,在本技术的一个实施例中,当应用程序为游戏进程时,加速流量信息的类型可以为传输控制协议流量(tcp流量)、用户数据报协议流量(udp流量)、超文本传输协议流量和加密超文本传输协议流量,其中,传输控制协议流量tcp的窗口单位是字节,不是报文段,数据传输端的发送窗口不能超过接收端给出的接收窗口的数值,流量控制的机制是控制丢包率,主要目的是让数据传输端了解数据接收端当前的接收能力,可灵活调整传输速率。
135.udp流量是面向无连接的、不可靠的数据报传输协议。udp流量仅仅将要发送的数据报传送至网络,并接收从网上传来的数据报,而不与远端的udp模块建立连接。udp为用户的网络应用程序提供服务,例如网络文件系统(nfs,network file system)和简单网络管理协议(snmp,simple network management protocol)等。udp保留应用程序所定义的消息边界,它既不会将两个应用程序的消息连接到一起,也不会把一个应用程序的消息分成多个部分。
136.步骤705:所述网络测试组件接收所述服务器端发送的第二加密数据。
137.步骤706:所述网络测试组件对所述第二加密数据进行解密,得到第二数据,并且基于与所述握手请求相匹配的加密协议对所述第二数据进行二次加密处理;
138.步骤707:将经过二次加密处理的所述第二数据向所述客户端发送。
139.在网络测试组件与终端和服务器端分别建立连接之后,可以继续执行步骤305,实现对超文本传输安全协议的测试。
140.步骤306:所述网络测试组件基于与客户端的连接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试。
141.在本发明的一些实施例中,当所述目标游戏进程为云游戏时,可以确定目标对象的标识信息;基于云服务器网络,确定与所述标识信息相匹配的数据源集群;根据所述数据源集群,向云游戏服务器中存储与所述目标对象相匹配的用户的云游戏历史信息,其中,所述用户的云游戏历史信息包括所述云游戏对应的超文本传输安全协议测试结果。由此,用户的云游戏历史信息还可以供其他应用程序调用(例如游戏模拟器或者体感游戏设备),当然,与不同类型的游戏相匹配的超文本传输安全协议测试结果也可以迁移至即时通讯进程的在线对战的fps游戏或者角色扮演类的云游戏中,以提升超文本传输安全协议测试效率,减少重复测试。
142.为了更好地说明本技术所提供的超文本传输安全协议测试方法,面以安卓设备需要加载即时通讯应用程序和游戏程序为例,对本技术所提供的超文本传输安全协议测试方法进行说明,需要说明的是,在通过本技术提供的超文本传输安全协议测试方法对云游戏中进行网络测试处理时,由于云游戏在运行过程中是由云端服务器进行运算,并将运算后得到的视频流传输至终端进行播放,也即终端在云游戏的运行过程中负责的是视频播放,云游戏的运行过程对终端的计算能力并没有非常高的要求,也不易在游戏视频的播放过程中产生卡顿情况,而云端服务器在游戏运行过程中的运算量较大,易产生卡顿情况,从而云端服务器生成的视频流本身即为存在卡顿情况的视频流,而终端播放视频流的过程中并不存在终端导致的卡顿,因此,还可以通过本技术提供的超文本传输安全协议测试方法对云游戏中云端服务器的视频流信息的传输进行测试。参考图8,图8为本发明实施例提供的超文本传输安全协议测试方法一个可选的流程示意图,具体包括以下步骤:
143.步骤801:为安卓设备配置超文本传输安全协议测试参数。
144.步骤802:安卓设备通过网络测试组件qnet,对安卓设备的游戏客户端和即时通讯客户端传输的数据包进行拦截和检测。
145.步骤803:通过网络测试组件qnet,利用超文本传输安全协议测试参数,建立游戏客户端和即时通讯客户端与对应服务器端的连接。
146.步骤804:网络测试组件基于与所述游戏客户端的连接以及与所述服务器端的连接,确定所述超文本传输安全协议的网络延迟参数。
147.步骤805:根据所述客户端中每一个链路对应的超文本传输安全协议的网络延迟参数,确定每一个链路质量。
148.步骤806:对所述游戏客户端所运行的目标游戏进程进行解析,获取所述目标游戏进程中不同任务的优先级。
149.步骤807:根据所述不同任务的优先级,为所述任务配置相匹配的链路,以实现通
过所配置的链路对所述目标游戏进程的信息进行传输,同时生成测试报告进行展示。
150.参考图9,图9为本发明实施例中测试报告展示效果示意图,其中,所生成的测试报告包括超文本传输安全协议测试中所配置的测试参数,参考表1,至少包括以下信息:每一个数据包的id序号、对应pcap中的id序号、数据上行处理标识和数据下行处理标识、延时时间、每一个数据包的大小。
[0151][0152]
表1
[0153]
其中,测试报告可以保存文件包括.csv和.html,csv保存了表1所示的测试过中的所有数据,html保存了不同客户端对应的通信链路的上行延时、下行延时、丢包趋势以及平均时延、丢包率、流量统计,可以直接使用安卓设备浏览器打开展示。通过图9所展示测试报告的记录结果,可以为安卓设备现通过所配置的链路对所述目标游戏进程的信息进行传输,保证超文本传输安全协议测试结果及时更新,使得利用超文本传输安全协议的信息传输更加稳定,同时也能够适应不同的网络环境。
[0154]
综上所述,本发明实施例具有以下技术效果:
[0155]
本发明实施例通过网络测试组件获取信息传输数据包,并且对所述数据包的协议层信息进行检测;当确定所述协议层信息的类型为超文本传输安全协议时,对所述信息传输数据包进行拦截;所述网络测试组件基于所拦截的信息传输数据包,配置安全套接字协议或者传输层安全协议;通过所述安全套接字协议或者传输层安全协议与服务器端建立连接;所述网络测试组件基于与客户端的连接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试,由此,可以提升超文本传输安全协议的检测效率,使得超文本传输安全协议的检测的通用性更强,能够适应不同类型操作系统的网络环境。
[0156]
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围
之内。
技术特征:
1.一种超文本传输安全协议测试方法,其特征在于,所述方法包括:网络测试组件获取信息传输数据包,并且对所述数据包的协议层信息进行检测;当确定所述协议层信息的类型为超文本传输安全协议时,对所述信息传输数据包进行拦截;所述网络测试组件基于所拦截的信息传输数据包,配置安全套接字协议或者传输层安全协议;当所述网络测试组件的证书通过检测时,所述网络测试组件利用虚拟应用技术,通过多进程并行组件将所述网络测试组件的证书检测结果向客户端发送,以实现所述客户端信任所述网络测试组件的证书,并与所述网络测试组件建立连接;通过所述安全套接字协议或者传输层安全协议与服务器端建立连接;所述网络测试组件基于与客户端的连接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试。2.根据权利要求1所述的方法,其特征在于,所述网络测试组件获取信息传输数据包之前,所述方法还包括:所述网络测试组件接收所述客户端发送的握手请求;响应于所述握手请求,所述网络测试组件创建超文本传输安全协议服务进程,并且接收所述客户端发送的第一加密数据;所述网络测试组件对所述第一加密数据进行解密处理,得到第一数据。3.根据权利要求2所述的方法,其特征在于,所述通过所述安全套接字协议或者传输层安全协议与服务器端建立连接,包括:所述网络测试组件通过所述安全套接字协议或者传输层安全协议与所述服务器端建立通信连接,并且通过所述通信连接向所述服务器端发送经过二次加密处理的所述第一数据;所述网络测试组件接收所述服务器端发送的第二加密数据;所述网络测试组件对所述第二加密数据进行解密,得到第二数据,并且基于与所述握手请求相匹配的加密协议对所述第二数据进行二次加密处理;将经过二次加密处理的所述第二数据向所述客户端发送。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当需要对所述网络测试组件的证书进行检测时,所述网络测试组件与所述多进程并行组件建立连接;所述网络测试组件通过所述信息传输数据包将所述网络测试组件的证书发送至所述多进程并行组件,以实现所述多进程并行组件对所述网络测试组件的证书进行检测。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:响应于所述握手请求,所述网络测试组件拦截所述客户端发送的所有超文本传输安全协议请求;解析所述握手请求中携带的服务器名称指示扩展信息;基于所述服务器名称指示扩展信息,确定所述超文本传输安全协议请求对应的域名证书。6.根据权利要求1所述的方法,其特征在于,所述网络测试组件基于与所述客户端的连
接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试,包括:当所述客户端为游戏客户端时,所述网络测试组件基于与所述游戏客户端的连接以及与所述服务器端的连接,确定所述超文本传输安全协议的网络延迟参数;根据所述客户端中每一个链路对应的超文本传输安全协议的网络延迟参数,确定每一个链路质量;对所述游戏客户端所运行的目标游戏进程进行解析,获取所述目标游戏进程中不同任务的优先级;根据所述不同任务的优先级,为所述任务配置相匹配的链路,以实现通过所配置的链路对所述目标游戏进程的信息进行传输。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:当所述目标游戏进程为云游戏时,确定目标对象的标识信息;基于云服务器网络,确定与所述标识信息相匹配的数据源集群;根据所述数据源集群,向云游戏服务器中存储与所述目标对象相匹配的用户的云游戏历史信息,其中,所述用户的云游戏历史信息包括所述云游戏对应的超文本传输安全协议测试结果。8.一种超文本传输安全协议测试装置,其特征在于,所述装置包括:信息传输模块,用于获网络测试组件获取信息传输数据包,并且对所述数据包的协议层信息进行检测;信息处理模块,用于当确定所述协议层信息的类型为超文本传输安全协议时,对所述信息传输数据包进行拦截;所述信息处理模块,用于基于所拦截的信息传输数据包,配置安全套接字协议或者传输层安全协议;所述信息处理模块,用于当所述网络测试组件的证书通过检测时,所述网络测试组件利用虚拟应用技术,通过多进程并行组件将所述网络测试组件的证书检测结果向客户端发送,以实现所述客户端信任所述网络测试组件的证书,并与所述网络测试组件建立连接;所述信息处理模块,用于通过所述安全套接字协议或者传输层安全协议与服务器端建立连接;所述信息处理模块,用于所述网络测试组件基于与客户端的连接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试。9.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至7任一项所述的超文本传输安全协议测试方法。10.一种电子设备,其特征在于,所述电子设备包括:存储器,用于存储可执行指令;处理器,用于运行所述存储器存储的可执行指令时,实现权利要求1至7任一项所述的超文本传输安全协议测试方法。11.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至7任一项所述的超文本传输安全协议测试方法。
技术总结
本发明提供了一种超文本传输安全协议测试方法,包括:网络测试组件获取信息传输数据包,并且对所述数据包的协议层信息进行检测;当确定所述协议层信息的类型为超文本传输安全协议时,对所述信息传输数据包进行拦截;所述网络测试组件基于所拦截的信息传输数据包,配置安全套接字协议或者传输层安全协议;通过所述安全套接字协议或者传输层安全协议与服务器端建立连接;所述网络测试组件基于与客户端的连接以及与所述服务器端的连接,对所述超文本传输安全协议进行测试。本发明还提供了一种超文本传输安全协议测试装置、软件程序及存储介质,使得超文本传输安全协议的检测的通用性更强。性更强。性更强。
技术研发人员:李沛然 严明 肖央 邹越
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.02.11
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
