赞
踩
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。它基于HTTP开发,使用安全套接字层(SSL)进行信息交换。简单来说,HTTPS是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。
TLS/SSL(Transport Layer Security)安全传输层协议,是介于TCP和HTTP之间的一层安全协议,不影响原有的TCP协议和HTTP协议。发送HTTPS请求前,首先需要建立TCP连接,然后进行进行 SSL/TLS 握手,握手过程大致如下:
HTTPS主要作用是:
支持HTTPS新建、并发、请求、吞吐性能测试;
支持IPv4、IPv6及IPv4&IPv6双栈运行;
支持自动填充和指定Host字段地址或域名;
支持Get、Post、Put、Head、Delete请求方式;
支持修改HTTP头部信息;
支持所有请求使用同一个TCP连接,或者使用新的TCP连接;
支持动态修改响应内容;
SSL版本支持SSLv3、TLSv1.0、TLSv1.1、TLSv1.2、TLSv1.3、国密v1.1;
支持多种RSA通用测试套件和国密算法套件;
证书认证方式支持单向、双向和不认证;
支持记录HTTP交互明文内容;
客户端关闭方式支持3Way_Fin、Reset;
IP和端口变换算法支持增加和随机;
支持TCP重传机制;
支持统计常用的状态码信息,包括200、201、204、300、301、302、304、401、403、404、429、500、502、503和504;
支持HTTPS新建速率、请求速率、并发连接数、吞吐速率限速;
测试仪同时模拟客户端和服务器,测试流量穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。
测试仪同时模拟客户端和服务器,测试流量穿过受测设备(代理设备、负载均衡设备),得到受测设备的性能。
测试仪只模拟客户端,向受测的HTTPS服务器发送流量,获取响应,得到HTTPS服务器的性能。
测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。
用例的运行需要分配cpu核数,HTTPS新建、请求、吞吐的最高性能需要分配一定的核数,一般并发测试每个端口配置1个CPU核。
HTTPS用例支持多种流量模型,包括固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
支持链路层和应用层的限速,限速单位支持最低为bps,最高为Gbps,默认为Mbps。
可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。
同时并发的用户数量,如设置了256个用户,同时有256个用户发起TCP连接请求,建立256条TCP连接并进行SSL握手,发送HTTPS请求。
启用后可以记录HTTP明文交互日志,测试运行时,可以在监控界面查看或者下载HTTP交互日志。默认记录全部,可选择仅记录异常请求、仅记录断言失败。
SSL版本支持SSLv3、TLSv1.0、TLSv1.1、TLSv1.2、TLSv1.3、国密v1.1,可根据需要选择相应的SSL版本和加密套件。
支持SSL握手阶段证书不认证、单向认证及双向认证。
Supernova支持上传自定义CA证书、客户端证书和服务端证书。
通过Web功能模块自定义设置HTTPS请求的参数,包括请求URL路径、请求头、HTTP请求类型、动作提交数据以及响应头、响应的内容等。
请求URL路径、请求头、动作提交数据等支持使用变量,在发送请求时进行替换,变量可以在变量列表中进行配置,使用变量列表中变量的格式为:${变量名}。
Supernova测试仪能够模拟真实的用户和服务器之间的HTTPS交互过程,通过持续地模拟大量用户去连接访问服务器,以获取受测设备新建HTTPS会话的最快速率。
具体测试过程为:每个虚拟用户建立一条TCP连接,并进行SSL握手连接,执行一次完整的HTTP的事务(发送请求和接收回应),最后关闭连接。再新建TCP连接并包含一次完整的HTTPS会话。
Supernova测试仪HTTPS并发测试可以获取受测设备支持的最大HTTPS并发连接数。
测试的方法和HTTPS新建基本一致,主要的区别在于HTTPS新建测试完成一个HTTPS请求回应后会立刻拆除建立的连接,而HTTPS并发测试不会拆除连接,所有已经建立的连接会保持住直到达到设备的极限或测试结束。
具体测试过程为:每个虚拟用户建立大量TCP连接,每条连接循环完成HTTPS事务(发送请求和接收回应),最后关闭TCP连接。
Supernova测试仪HTTPS吞吐测试可以获取受测设备的最大HTTPS吞吐量。
具体测试过程为:每个虚拟用户建立一条TCP连接,循环完成HTTPS事务(发送请求和接收回应),最后关闭连接。
HTTPS吞吐测试过程与HTTPS请求测试过程一致,区别在于HTTPS吞吐测试需要请求一个大文件比如500K字节文件,HTTPS请求测试时请求的文件尽量小于1500字节。
注意:测试双向HTTPS吞吐量时,可以使用POST方法,在请求服务器端页面的同时,可以将服务器响应包含在HTTP请求的实体中。
说明:测试仪使用“网关模式”分别模拟HTTPS的客户端和服务端,过一台防火墙(网关模式),测试防火墙性能。
本案例测试防火墙HTTPS新建会话能力。
1.按图连接好拓扑
2.防火墙配置:配置接口IP及策略;
3.测试仪上创建HTTPS新建用例,配置SSL版本、算法套件以及证书,配置Web功能模块,调整CPU核数、虚拟用户数量等参数;
4.测试仪配置完成之后,启动用例,查看测试仪统计,有预期结果1;
预期结果1:HTTPS新建成功,get 200字节可以达到7000/秒的速率;
根据测试拓扑配置防火墙接口信息和策略。
注意:配置方法因产品而异,此处不提供第三方产品的详细步骤。有关防火墙的配置的任何问题,请从防火墙的用户指南获取帮助。
6.6.1创建HTTPS新建用例,配置参数
(1)在网关模式中,创建HTTPS用例,由于过的是防火墙,需要配置网关,选择网关模式
(2)分配CPU核数
(3)配置虚拟用户数量,启用HTTP流量记录
HTTPS报文是加密的,启用HTTP流量记录可以查看明文信息
(4)配置SSL版本、算法套件以及证书
证书认证方式为不认证,此处只选择服务器证书即可。
证书认证方式:
不认证:SSL握手阶段,服务器发送证书,但客户端不对证书内容进行认证
单向认证:SSL握手阶段,服务器发送证书,客户端使用CA证书对证书内容进行认证
双向认证:SSL握手阶段,服务器发送证书,客户端使用CA证书对证书内容进行认证;且服务器要求客户端提供证书,并使用CA证书对证书内容进行认证
6.6.2配置Web功能模块
(1)点击加号,创建一个新的对象
(2)配置HTTP请求文件的请求信息
URL路径和HTTP请求头
请求类型此案例中选择Get即可
(3)本案例中,测试仪需要模拟服务端,所以此处需要配置HTTP响应内容
配置完成后,点击确定,包含一个请求的功能模块配置完成。
(4)配置完成后,点击启动用例
(5)在监控中查看运行界面,状态应用层中HTTP新建速率为关键结果
6.7验证预期结果
HTTPS新建成功,get 200字节可以达到7000/秒的速率;
结论:符合预期结果
说明:测试仪只模拟HTTPS的客户端,向服务器发送HTTPS请求,服务器收到请求后,处理请求并发送响应给Supernova测试仪客户端。测试仪进行SSL握手、HTTPS请求、回应等结果统计,得到服务器的HTTPS性能参数。
本案例测试Web服务器HTTPS新建会话能力。
1.按图连接好拓扑
2.Web服务器配置:配置与测试仪相连的接口IP以及测试文件test.html;
3.测试仪上创建HTTPS新建用例,配置SSL版本、算法套件以及证书,配置Web功能模块,调整CPU核数、虚拟用户数量等参数;
4.测试仪配置完成之后,启动用例,查看测试仪统计,有预期结果2;
5.查看测试仪交互日志内容,有预期结果3。
预期结果2:HTTPS新建成功,get测试文件test.html可以达到1000/秒的速率;
预期结果3:测试仪交互日志中响应内容和服务器test.html文件内容一样
根据测试拓扑配置服务器接口IP:8.1.1.100/24,并在Web服务目录下创建测试文件test.html,156字节,并配置SSL证书。
7.6.1创建HTTPS新建用例,配置参数
(1)在应用服务测试中,创建HTTPS用例,本案例是在同一网段,选择同一子网即可,
(2)分配CPU核数
(3)配置虚拟用户数量,启用HTTP流量记录
HTTPS报文是加密的,启用HTTP流量记录可以查看明文信息
(4)配置SSL版本及算法套件
选择不认证,测试仪只模拟客户端,无需配置证书。
选择允许的SSL版本需要在对象里选择相应的套件。
(5)配置服务器端口,本案例中Web服务的HTTPS端口号为4443
7.6.2配置Web功能模块
(1)点击加号,创建一个新的对象
(2)配置HTTP请求文件的请求信息
URL路径和HTTP请求头
请求类型此案例中选择Get即可
(3)本案例中,测试仪无需模拟服务端,所以此处不需要配置HTTP响应内容,配置完成后,点击确定,包含一个请求的功能模块配置完成。
(4)配置完成后,点击启动用例
(5)在监控中查看运行界面,状态应用层中HTTP新建速率为关键结果
7.7验证预期结果
7.7.1 HTTPS新建成功,get 服务器测试文件test.html可以达到1.2万/秒的速率
结论:符合预期结果
7.7.2 查看测试仪交互日志中响应内容和服务器test.html文件内容一样
(1)测试历史报告可以在“报告”页面查看
(2)点击生成报告按钮,可以查看报告内容
在调试信息页面,可以下载HTTP流量记录交互日志,查看明文
(3)点击生成文档按钮,可以生成HTML、PDF、Word、Excel形式的报告文档,并支持下载
生成完成后,点击下载相应的格式的报告即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。