用charles拦截android设备https,证书无效的解决方法
转自:https://blog.csdn.net/kimicsdn/article/details/57089514
阅读本文前您需要了解
1.使用charles拦截https数据包,及其拦截的原理是替换ssl证书。
2.为android设备设置请求代理
正文:
APP使用操作系统api发https请求时对证书的验证一般是通过操作系统 自带的证书验证机制到CA服务器上检查证书合法性,这样就无法用charles来拦截https请求的数据了。
识别到证书不合法时客户端会断开连接。在APP上的表现就是请求失败。用charles拦截数据包的结果就是下面这样的
那么要让操作系统通过证书验证需要修改操作系统的证书验证功能,各种PC浏览器有自己的绕过证书配置的方法,那么在android设备上如何解决这个问题呢?
在ROOT过的ANDROID上可以使用XPOSED的SSLUnpinng 插件来绕过证书验证。
SSLUnpinng下载地址
http://dl-xda.xposed.info/modules/mobi.acpm.sslunpinning_v2_37f44f.apk
单击某个程序就可以hook ssl证书。
再使用charles来拦截数据包就可以看到发送的请求了
安卓手机安装charles安全证书
开发需要进行app抓包,所以搞了个charles,本小组人都用的苹果手机,我用的安卓,哎(穷逼)。
charles需要安装证书,否则手机端抓包会出现unknow。
本次安装使用小米mix2为例。
1.首先 设置好手机的charles代理
2.要使用 UC浏览器 访问 http://charlesproxy.com/getssl (下载到一个你能找到的目录,别下载完你找不到了)
3.系统设置→更多设置→系统安全→加密与凭据→从存储设备安装
4.OK OK OK OK了。
更多相关文章
- [Buzz.Today]“估摸”手机:Google收购摩托罗拉
- Android判断手机中的应用是否具有某些权限(例如小米手机中是否具
- [置顶] 声波通信(声波传输)在iOS、Android中的应用场景深入分析(含
- backtrack 安装到 arm CPU的手机
- [转]Android(安卓)应用开发中国大学生挑战赛
- T-Mobile将率先接纳Android
- 扔掉USB线,无需无线路由器,利用笔记本电脑(Win7系统)快速连接你的And
- Android入门讲解(一)
- Android利用Fiddler进行网络数据抓包【怎么跟踪微信请求】