使用笔记本电脑作为智能手机的代理时遇到麻烦

问题描述 投票:0回答:1

我想在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而不适用于应用程序。有人知道任何解决方案吗?

ssl testing networking jmeter tls1.2
1个回答
0
投票
  1. 首先,您需要在您的Android手机上安装JMeter的MITM证书,该文件名为ApacheJMeterTemporaryRootCA.crt,并且在您启动HTTP(S) Test Script Recorder时会在JMeter安装的“ bin”文件夹中生成该文件
  2. 如果您的手机运行的是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

© www.soinside.com 2019 - 2024. All rights reserved.