首页 文章

嗅探Android应用程序's HTTPS traffic from Fiddler fails with only '隧道到'Fiddler中的条目

提问于
浏览
9

我试图从我的root设备(4.4.4)捕获HTTPS流量,以分析应用程序的未记录协议 . 我已将我的Fiddler设置为代理并启用HTTPS嗅探 . 我在我的设备上安装了Fiddler生成的根证书 . 我在Android设备上为我的Wifi设置了代理 .

  • 当我运行浏览器并导航到任何HTTP或HTTPS站点时,Fiddler可以成功捕获流量 .

  • 当我运行一些应用程序时(例如我自己的应用程序使用Parse作为其后端),我可以看到服务器的所有HTTPS流量,已解密 . 到现在为止还挺好 .

  • 当我尝试运行该特定应用程序时,我无法让Fiddler捕获其流量 . 以下是我对Fiddler的全部看法:

enter image description here

URL是一些IP地址:SSL(:443) .

我也尝试过使用ProxyDroid . 有趣的是,我能够捕获流量一次,看到解密的HTTPS连接到该应用程序的服务器,但在此之后,它再也没有捕获 . 我知道该应用程序使用HTTPS,而不是未知/其他协议 .

如何成功捕获HTTPS流量,为什么Fiddler会为该应用程序工作,然后突然停止工作?

3 回答

  • 2

    "Apps that target API Level 24 and above no longer trust user or admin-added CAs for secure connections, by default"

    如果您的目标是API> = 24或在> = 24设备上运行,请使用以下命令创建xml资源:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <debug-overrides>
            <trust-anchors>
                <!-- Trust user added CAs while debuggable only -->
                <certificates src="user"/>
            </trust-anchors>
        </debug-overrides>
    </network-security-config>
    

    将其命名为“network_secutrity_config.xml”或类似名称,并使用android:networkSecurityConfig标记添加id作为对清单的引用 .

    你可以在这里阅读更多内容(它帮助了我):

    https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html

  • 1

    对于遇到这个问题的其他人......

    Fiddler停止在我的机器浏览器和设备上处理https流量 . 重新安装/重新调整Fiddler证书后,我的机器浏览器再次开始使用https,但设备仍然坏了 .

    为了让设备再次运行,我必须明确信任设备上的新证书,方法是使用设备的浏览器打开网站 http://<adapter IP>:8888/FiddlerRoot.cer ,然后信任证书 .

    我找到了这个答案here .

  • 1

    它似乎特定于该应用程序 . 我成功地嗅到了所有其他应用程序 . 该特定应用程序可能使用SSL固定:它在自身内部检查证书,即使设备信任它也不允许伪造证书 .

相关问题