【发布时间】:2016-08-17 09:48:57
【问题描述】:
我正在尝试从我的开发机器上运行的 Android 模拟器(来自 Android Studio 的 qemu)捕获 https 请求。我已经使用命令行选项 -http-proxy localhost:8888 启动了模拟器,以指向机器上运行的 Fiddler,并且我已经将 Fiddler 根证书复制到虚拟 SD 卡并安装了它。 http 流量被完美捕获,但所有 https 请求都失败并在 Fiddler 中显示为:
HTTP Tunnel to (dest IP address here)
请求:
CONNECT (dest IP address here):443 HTTP/1.1
Host: (dest IP address here):443
回复:
HTTP/1.1 200 Connection Established
FiddlerGateway: Direct
StartTime: 10:39:08.556
Connection: close
我在其他地方阅读了有关通过在浏览器中转到 http://ipv4.fiddler:8888/FiddlerRoot.cer 来安装根证书的信息,但这失败了:
HTTP/1.1 405 Method Not Allowed
Date: Wed, 17 Aug 2016 09:43:14 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Cache-Control: no-cache, must-revalidate
Timestamp: 10:43:14.490
This endpoint does not support HTTP CONNECTs. Try GET or POST instead.
尝试使用主机 IP 地址而不是 ipv4.fiddler 时,我得到了相同的响应。我也无法在模拟器浏览器中获取 Fiddler Echo 服务页面,但在主机浏览器中可以正常工作。
如果有人能指出我在这里出错的地方,我将非常感激,我开始没有想法了!
【问题讨论】:
-
您尝试过使用 Wireshark 吗? UI 可能不如 fiddler 友好,但如果您已设置证书,则可以捕获和解码 https。
-
你已经勾选了 Fiddler 的菜单 => 工具 => Fiddler 选项 => HTTPS => 解密 HTTPS 流量,不是吗?
-
@AdrianHHH 是的,我已经勾选了该选项 - 谢谢
-
@GaryBak 感谢您的提示 - 我会检查一下
标签: android ssl android-emulator fiddler