Android TAB和JMeter被用来捕获/记录应用程序流。但是在JMeter中没有捕获HTTPS请求。我关掉了Jmeter,打开了Charles Proxy,重新录了一遍。在Charles中记录了相同的应用程序流之后,我将所有HTTPS请求放入Jmeter中。因为我录制了两次,所以花了更长的时间。
是否有其他方法可以通过JMETER捕获HTTPS流量?
感谢您的帮助,并分享您的建议。
问候,湿婆
首先使用JMeter录音模板然后启动JMeter的HTTP(S)测试脚本记录器,它将在JMeter/bin文件夹中生成一个名为ApacheJMeterTemporaryRootCA.crt
的文件。复制文件到您的android设备,并安装它作为CA证书。请参阅如何安装用户证书?线程了解更多细节。
证书的有效期有限(默认为7天),但您可以通过在user.properties
中设置延长有效期proxy.cert。有效期=天数
现在你在Android>= 7.0中将面临的问题是应用程序只使用默认的系统安装证书。
因此,您需要请求应用程序开发人员修改APK,在这里查看原因。
编辑清单并添加:
android: networkSecurityConfig = " @xml/network_security_config"
你会得到:
…
然后在res/xml/network_security_config.xml中添加如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<!-- Trust preinstalled CAs -->
<certificates src="system" />
<!-- Additionally trust user added CAs -->
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
注意无论你使用什么工具(neload, LoadRunner,…)
某些Android版本只支持HTTP代理,您可能必须安装第三方软件,如ProxyDroid,以便能够配置HTTPS代理。
更简单的选择是使用移动记录器解决方案,如果您对JMeter方面的配置的正确性有疑问,您可以测试移动记录器