我希望监控从应用程序到远程服务器的HTTPS
流量。我正在尝试关注this instruction,它适用于HTTP
(不含s
),但不适用于HTTPS
。
有什么问题?我应该在我的应用程序中编写一些自定义代码以使用https-proxy
吗?
答案 0 :(得分:2)
最简单的方法是使用CharlesProxy代理您的设备或模拟器流量。您需要做的唯一额外步骤是在您的设备/模拟器上安装CharlesProxy SSL证书,这非常简单:
从Charles Proxy下载证书(将其放在帮助菜单中)并将其放在您的设备上,然后通过设备上的安全设置进行安装。
然后,您可以配置设备或仿真器网络连接以使用手动代理并将其设置为Charles Proxy地址和端口。启用SSL代理,您的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流量。