如何从Android模拟器到远程服务器嗅探HTTPS流量?

时间:2012-08-01 08:48:50

标签: android fiddler sniffer

我希望监控从应用程序到远程服务器的HTTPS流量。我正在尝试关注this instruction,它适用于HTTP(不含s),但不适用于HTTPS

有什么问题?我应该在我的应用程序中编写一些自定义代码以使用https-proxy吗?

4 个答案:

答案 0 :(得分:2)

最简单的方法是使用CharlesProxy代理您的设备或模拟器流量。您需要做的唯一额外步骤是在您的设备/模拟器上安装CharlesProxy SSL证书,这非常简单:

从Charles Proxy下载证书(将其放在帮助菜单中)并将其放在您的设备上,然后通过设备上的安全设置进行安装。

然后,您可以配置设备或仿真器网络连接以使用手动代理并将其设置为Charles Proxy地址和端口。启用S​​SL代理,您的SSL连接将通过Charles和Charles安全地进行端到端路由,并且能够以明文形式向您显示请求和响应的内容。

答案 1 :(得分:0)

我正在使用WireShark进行嗅探,它允许您监控和过滤原始数据。但是因为你使用https和加密的所有事务我认为它无法帮助你。可能是你可以从https切换到http进行调试,稍后当所有工作正常时将协议改回https

答案 2 :(得分:0)

你的意思是你根本看不到流量,还是加密了?这是一个Web应用程序还是本机应用程序?您使用的是哪个Android版本?电话或模拟器?

通常情况下,如果您正确设置代理,您将获得流量,但已加密,因此无法读取。为了查看Fiddler中的实际内容,您需要您的设备信任Fiddler的根证书(用于动态创建假证书)。见:

http://www.fiddler2.com/fiddler/help/httpsdecryption.asp

不幸的是,我还没有找到一种方法将根证书添加到除了以外的Android设备  生根并替换证书库(如this

答案 3 :(得分:-2)

https表示http安全,因此显然无法轻易嗅探。如果它与普通的http一样不安全,会有什么意义呢?

您必须了解有关安全网络通信的更多信息。或者,简而言之,至少你必须学习如何使用像charles http://www.charlesproxy.com/documentation/welcome/这样的specilly设计的http代理,这样你就能够以清晰的形式监控你自己的https流量。