使用 Burpsuite 设置我的设备后。我能够捕获和拦截来自移动浏览器(Chrome)的请求,并且仅来自我的应用程序的“某些请求”。我想知道为什么有些请求无法在HTTP历史记录中捕获?
**请注意,在 wifi 中设置代理后,我的设备显示连接有限。不过,我在 Mobile Chrome 中浏览网站时仍然可以访问互联网,但某些应用程序(Youtube、Facebook)完全无法访问互联网。
这就是我的一些请求无法捕获的原因吗?
设置工作包括:
一些信息
经过一些调试,我发现我的应用程序在触发一些请求(那些未能捕获的请求)时返回
Network Error
。虽然这可能是CACERT /代理设置的原因,但我仍然希望http请求出现在burp中?为什么没有出现?
终于能够通过以下解决方案解决我的问题(归功于此处的帖子)!您需要修改/创建以下文件:
AndroidManifest.xml
<application>
<application
...
.....
android:networkSecurityConfig="@xml/network_security_config">
network_security_config.xml
<trust-anchors>
<network-security-config>
<base-config cleartextTrafficPermitted="true">>
<trust-anchors>
<!-- Trust preinstalled CAs -->
<certificates src="system" />
<!-- Additionally trust user added CAs -->
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
原因是,Android Nougat 中可信证书颁发机构的更改。 在这里阅读更多内容
似乎在其他帖子中也有一些类似的建议,但我错过了。
即使API现在可以在应用程序中运行,但应用程序中仍然有一些服务无法按预期运行。就我而言,它是 Codepush。
[CodePush] 发生未知错误。 [CodePush] 意外的状态行:HTTP/2 200 OK
虽然上面的解决方案解决了我的问题,但它并没有真正解答我的疑问。首先为什么另一个 API(这个工作 API 来自不同的服务)可以在不实现解决方案的情况下工作?
如果有人能提供一些启发,我将不胜感激。谢谢!