【问题标题】:How to setup a http(s) proxy with record/replay functionality?如何设置具有记录/重播功能的 http(s) 代理?
【发布时间】:2012-12-04 05:12:01
【问题描述】:

用例是:

我想做一些 android 应用程序性能测试,并且我想在应用程序从网络获取时修复数据。

我想出的解决方案是设置一个本地http代理,它可以先记录所有http流量,然后replay然后app运行性能测试。

我找到了http://mitmproxy.org/,它具有我想要的功能。但似乎在默认设置下它不能用作 https 代理。我尝试将其用作代理并登录到 facebook,但不起作用。

我不熟悉 https 协议以及 cert 的工作原理。任何人都可以提供一些帮助吗?非常感谢。

【问题讨论】:

  • 您是否接受 SSL 证书或为这些证书添加例外(因为它返回的 SSL 证书将不受信任,并且取决于浏览器会抛出错误..
  • @Doon,请求是从安卓应用发送的,我没有看到任何添加异常的选项(就像我在 Firefox 中看到的那样)。

标签: android ssl https proxy


【解决方案1】:

HTTPS 代理与 HTTP 代理有很大不同——代理服务器接收 CONNECT 命令并在客户端和 CONNECT 命令参数中指定的服务器之间建立不透明的通道。所以你不能通过这种方式轻松捕获 HTTPS 流量。

一般情况下,您可以使用 HTTP 代理进行 HTTPS 连接,在这种情况下,代理充当 HTTP 代理,并在客户端与自身之间以及服务器与自身之间建立 SSL 通道。代理向客户端提供自己的证书(通常是自签名的,因为这些代理主要用于开发和监控目的)并验证远程服务器的证书。

上述方案要求 (a) HTTP 代理可以执行此操作(“mitmproxy”表示可以执行此操作),(b) 客户端支持此类配置,以及 (c) 代理的证书可以在客户。

我对 Android 是否支持 (b) 和 (c) 表示怀疑。

【讨论】:

    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多