使用charles(fildder ,Wire shark)对安卓模拟器(手机)进行抓包,获取http请求响应信息
主要将Charles抓包的配置,和遇到问题进行了一个整理,
本教程,主要解决,按照Charles抓包配置之后,还是无法成功进行抓包。并且网络无法访问通的问题
Charles 4.5.6 中文版(便携免安装)
https://www.52pojie.cn/thread-1600964-1-1.html
Charles抓包一般配置流程,配置后无法成功,请参照下面教程(现将本文看完再按照教程操作)
charles的配置和安卓系统的配置,需要参照这个来。
win版
https://blog.csdn.net/qq_45564088/article/details/121864553
mac版
https://blog.csdn.net/weixin_43074474/article/details/123449203
报错信息
Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)
客户端SSL握手失败:处理证书时出现未知问题(证书\未知)
You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.
您可能需要配置浏览器或应用程序以信任Charles根证书。请参见“帮助”菜单中的“SSL代理”。
原因
出现这个问题的原因是安卓系统进行了升级,导致我们添加的证书无法起作用Android 7.0版本之前的安卓系统还是可以的,如果你的安卓手机的系统版本高于7.0,包括7.0,进行抓包遇到这个问题,那就可以根据如何方法解决
解决1
在代码中增加配置文件方式,(不需要手机root,比较方便)
https://www.freesion.com/article/235294282/
解决2(不知道哪里没有操作对,未成功连接到设备)
采用adb的将证书拷贝到系统证书目录中,
https://blog.csdn.net/CSDN_20180319/article/details/122700083
解决3 (采用这种方式解决问题)
采用上传文件将证书拷贝到系统证书目录中,
原理,按照这个教程来,下面内容是对将证书拷贝到安卓系统的补充
https://blog.csdn.net/ShadowySpirits/article/details/79756274
openssl获取文件名失败
- 将文件上传到linux系统中,在linux系统中进行生成(需要修改文件路径)
- 在win环境中安装openssl,然后进行生成
https://www.cnblogs.com/tszr/p/16066749.html
如何将改名后的证书,复制到安卓系统中
-
开启模拟器(雷电模拟器)root权限,可以看见系统文件夹,(手机需要root)
-
开启系统权限,可以将证书复制到安卓系统文件夹中
将文件拖动到模拟器中,(手机可以不做这步)
选择文件,然后直接切换目录到/system/etc/security/cacerts/,(在根目录/,看不见system目录,直接进入etc目录就行)然后选择粘贴选择项(手机直接将文件粘贴到这里)
复制成功之后,重启模拟器就可以了
配置效果
来源地址:https://blog.csdn.net/weixin_44446230/article/details/130752214