You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter录制安卓APP流量异常求助:部分URL未捕获+SSL握手失败

解决JMeter 5.1录制Android 9应用时的代理与SSL问题

我来帮你一步步排查和解决这两个棘手的问题,咱们逐个击破:

一、流量未通过代理传输,仅捕获部分URL

这个问题核心是Android 9+对CA证书信任的限制以及代理配置的全局有效性,试试下面的步骤:

  • 验证代理全局生效

    1. 打开Android设备的WLAN设置,手动指定代理为JMeter所在电脑的IP和端口(默认8888),确保没有设置应用代理例外(有些设备会默认让系统应用绕过代理)。
    2. 测试连通性:在设备浏览器访问 http://<你的JMeter电脑IP>:8888,如果能看到JMeter的代理欢迎页,说明网络连通没问题;如果看不到,检查电脑防火墙是否开放了该端口,或者设备和电脑是否在同一局域网。
  • 正确安装CA证书到系统目录
    Android 9及以上默认不信任用户安装的CA证书,必须把JMeter的证书装到系统证书目录才能让所有应用信任:

    1. 在JMeter的HTTP(S) Test Script Recorder里,点击「Generate Root CA」生成证书,导出为ApacheJMeterTemporaryRootCA.crt。
    2. 把证书重命名为certificate.pem(Android系统只识别PEM格式的证书文件名)。
    3. 通过adb命令推送到设备系统目录(需要设备Root权限):
      adb push certificate.pem /system/etc/security/cacerts/
      adb shell chmod 644 /system/etc/security/cacerts/certificate.pem
      
    4. 重启设备后,在「系统设置→安全→信任的凭据」里就能看到你的JMeter证书了。
  • 排除系统应用的代理绕过
    Google服务、App Store这类系统应用可能硬编码了代理绕过规则,你可以:

    1. 在JMeter的HTTP(S) Test Script Recorder的「Include URLs」里添加这些系统应用的域名(比如*.google.com、*.apple.com)。
    2. 检查设备代理设置里的「不使用代理的地址」列表,把相关域名删除。如果还是不行,可能需要用VPN模式的代理工具辅助,但优先确保证书和基础代理配置正确。

二、设置代理后Microsoft登录应用报SSL握手错误

这个问题是Microsoft OAuth服务对证书信任要求严格导致的,试试这些方案:

  • 确保系统信任JMeter证书
    Microsoft登录应用通常只信任系统级别的CA证书,所以一定要完成上面的「系统证书安装」步骤,不要只装在用户凭据里。

  • 重新生成并验证JMeter的SSL证书

    1. 打开JMeter的「Options→SSL Manager」,删除旧的临时证书,然后回到HTTP(S) Test Script Recorder重新生成Root CA。
    2. 导出新证书后,重新安装到设备系统目录,确保证书没有过期或格式错误。
  • 排查端口与防火墙问题
    443错误可能是代理端口被拦截:

    1. 把JMeter的代理端口改成非默认的(比如8080),然后在设备上更新代理设置。
    2. 检查电脑防火墙是否允许JMeter的代理端口对外访问,或者暂时关闭防火墙测试。

总结

先搞定系统级CA证书安装,这是Android 9+抓HTTPS流量的核心前提,再逐步验证代理的全局有效性和应用的证书信任配置,应该能解决你遇到的大部分问题。

内容的提问来源于stack exchange,提问作者Lokesh Bandaru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:41:31