我想在jmeter上捕获我的智能手机网络日志。这通常要求我的智能手机将其用作代理,并通过jmeter在连接智能手机的端口上进行侦听,从而通过笔记本电脑访问Internet。这是我在互联网上找到的一些参考资料:
http://findnerd.com/list/view/-How-to-Connect-the-Android-Mobile-Device-to-JMETER/4929/
https://dzone.com/articles/how-to-record-mobile-appli-cation-traffic
[还有其他参考,但它们本质上说的完全相同。我遵循了所有步骤,但是当我将智能手机的代理设置为笔记本电脑的IP地址时,我的智能手机无法访问Internet。唯一的区别可能是,由于主板wifi适配器有时开始出现故障,因此我在笔记本电脑上使用了USB wifi适配器。我需要知道如何进行这项工作,并使用jmeter在笔记本电脑上捕获智能手机网络日志。任何帮助表示赞赏
更新-发现了问题。我需要在Android手机上安装SSL证书。该证书由jmeter的bin文件夹中生成。我必须发送到我的Android设备并进行安装。现在,我可以通过浏览器通过手机访问Internet,并且可以看到JMETER中记录了https流量。但是,当我尝试访问任何应用程序时,会出现以下错误:
javax.net.ssl.SSLHandshakeException:收到致命警报:certificate_unknown。
我知道它与Jmeter生成的自签名证书有关,但是我不确定为什么它适用于chrome而不适用于应用程序。有人知道任何解决方案吗?
ApacheJMeterTemporaryRootCA.crt
,并且在您启动HTTP(S) Test Script Recorder时会在JMeter安装的“ bin”文件夹中生成该文件如果您的手机运行的是Android 7或更高版本,则您需要采取一些额外的步骤才能捕获您的应用程序流量
将下一行添加到application
文件的application
部分:
application manifest
在android:networkSecurityConfig="@xml/network_security_config"
下创建network_security_config.xml
文件,并将以下代码放入其中:
application resources folder
像[]那样编译并安装<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
中的应用程序:
debug mode
就这样,现在您应该可以使用JMeter捕获应用程序流量。
更多信息:gradlew installDebug