6

我有一个使用 https 与 web 服务对话的 android(4.2) 应用程序。我想调试/记录每一个出去的 https。我有 fiddler 和 wireshark 来调试它们,但一切看起来都是加密的。可以使用模拟器和 fiddler/wireshark 设置中间人攻击来解码和显示 http url 及其参数吗?

4

4 回答 4

2

您可以使用 MITM 代理,例如Burp。在设备/模拟器上安装受信任的 CA 证书后,您将能够解密 SSL 流量。

此外,如果您有服务器私钥(即,它是您自己的服务器),如果确实需要低级信息,您可以解密使用 Wireshark 截获的流量。

于 2013-01-28T08:32:45.230 回答
1

我发现的最简单的选择是使用 mitmproxy。此处列出的简单步骤:

于 2013-12-06T07:07:57.710 回答
0

是的,您可以使用 Fiddler 来执行此操作。您需要在Tools -> Options. Fiddler 为 SSL 通信提供 CA 证书。您所要做的就是在您的 Android 设备上安装相同的内容。您可以通过从浏览器转到以下 URL 来获取证书

http://machinesIPAddress:8888/FiddlerRoot.cer

其中machinesIPAddress 是运行fiddler 的机器的地址。安装后你可以在下面看到相同的

设置 -> 安全 -> 可信凭据 -> 用户选项卡

我已经用截图列出了整个过程。希望有帮助-

使用 Fiddler Web 代理拦截 Android 网络调用

于 2015-03-29T04:44:06.937 回答
0

我曾经也有同样的需求。

可以在这里找到很好的解释:https ://security.stackexchange.com/questions/8145/does-https-prevent-man-in-the-middle-attacks-by-proxy-server

事实证明,一些公司会这样做,尤其是在移动浏览器(Opera、Nokia)的情况下——为了节省带宽,他们通过自己的代理服务器传递所有流量并对其进行压缩。有趣的是,它们还可以与支持 HTTPS 的站点一起使用。他们将他们的(有点假的)证书安装在您本地的受信任存储中,并且代理返回使用该假证书签名的压缩响应,以便浏览器不会抱怨潜在的攻击。

我还没有找到任何可以帮助创建这样一个代理的工具,所以最后(因为我控制了 web 服务和它运行的服务器)我在开发过程中启用了纯 HTTP。这可能为我节省了几个小时的工作时间;)

于 2013-01-28T08:34:10.660 回答