admin 管理员组文章数量: 887021
安装Charles
Windows可参考博客:Windows下(Win10)Charles从下载安装到证书设置和浏览器抓包测试,亲测!
Mac版本的下载安装及手机端证书安装可参考这篇博客:Mac下用Charles实现Android http和https抓包
-
另外提供给大家一个可用的激活码,安装后Help->Register。。。输入即可:
// Charles Proxy License
// 适用于Charles任意版本的注册码,谁还会想要使用破解版呢。
// Charles 4.2目前是最新版,可用。
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
问题及解决
这篇博客主要介绍Charles安装设置OK后,Android手机也设置安装证书OK后,APP不能上网的问题解决办法。
网上一大堆乱七八糟的解决办法,头都炸了,最终还是官网最权威:
https://www.charlesproxy/documentation/using-charles/ssl-certificates/
在官网上我们发现了解释:
解释方法
上面官网给出的解释是说,从安卓N版本开始,我们如果想要对Android系统的应用进行抓包就需要在应用中添加信任Charles证书的配置:
先在App中添加配置文件res/xml/network_security_config.xml
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
- 再在应用程序的manifest中添加如下的引用:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config" ... >
...
</application>
</manifest>
这样配置完成,重新打包安装就可以了,App即可正常上网,可通过Charles进行抓包了,不过这个配置可能需要App的开发人员进行配合。
总结
因为安卓版本的不同,造成安卓系统的权限可能也不同,遇到上述问题时可先查看我们的安卓版本,N版本之后的大概率都是因为App配置的原因造成,比如我的设备是安卓O版本的,比N版本还要新,所以也就出现的这个问题;按照官网的方法后,完美解决!爽!
补充
-
如何查看安卓版本
设置-系统-关于手机,找到Android版本一栏,手指在上面不停的点击几下就会弹出当前设备的安卓版本了
本文标签: 解决办法 证书 Fiddler Charles Android
版权声明:本文标题:Charles(或fiddler)抓Android应用包,CA证书安装及代理后APP无法连接上网的解决办法,亲测! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726799081h1030639.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论