cherles抓包,安卓,http/https

前置条件:charles抓取手机数据包的前提,手机和电脑需要在一个局域网内。

1、charles官网下载地址

Download a Free Trial of Charles • Charles Web Debugging Proxy

下载以后按提示安装即可。

2、charles的配置

在charles中【proxy->proxy Settings】设置进行代理的端口

cherles抓包,安卓,http/https_第1张图片

cherles抓包,安卓,http/https_第2张图片

3、手机安装charles证书

先在PC-charles【Help->SSL Proxying】点击install charles root certificate on a mobile device or remote browser,查看手机端如何与charles相连

cherles抓包,安卓,http/https_第3张图片

弹框提示内容里写了怎么在手机上使用charles代理,接下来我们就按照步骤来操作

 

cherles抓包,安卓,http/https_第4张图片

 4、手机配置代理

在手机端进入wifi设置,长按当前连接的网络,选择修改网络-显示高级选项-设置代理为手动

cherles抓包,安卓,http/https_第5张图片

打开高级选项,选择手动

cherles抓包,安卓,http/https_第6张图片

 服务器主机名填入charles上弹出的地址,我这个是172.16.47.7,服务器端口8888.

cherles抓包,安卓,http/https_第7张图片

手机连上charles以后,charles会弹出一个提示,询问是否允许设备连接,一定要同意。

如果不小心点了deny,可以重启charles重新设置手机与之连接。

手机上未安装charles证书,手机网络会显示已连接不可用。

5、手机下载并安装charles证书

使用手机浏览器访问http://chls.pro/ssl,按提示下载证书

cherles抓包,安卓,http/https_第8张图片

进入浏览器的下载管理可以看到这个证书

cherles抓包,安卓,http/https_第9张图片

如图即我们刚刚下载完成的证书

 

cherles抓包,安卓,http/https_第10张图片

 直接点击,却提示“无法打开文件”,怎么办?

我们选中下载好的文件,点击更多-任务详情,去文件管理中找到ta

cherles抓包,安卓,http/https_第11张图片

 

cherles抓包,安卓,http/https_第12张图片

 

cherles抓包,安卓,http/https_第13张图片

 长按选中文件,点击更多-重命名

cherles抓包,安卓,http/https_第14张图片

 将.pem的后缀改为.crt后确定,根据提示再次确定

cherles抓包,安卓,http/https_第15张图片

这时再次单击我们重命名的文件,按提示给证书取个名字,安装成功。

cherles抓包,安卓,http/https_第16张图片

如果此时手机还显示无法连接网络,可以重连一下wifi。

6、charles配置抓包https协议

前面做了那么多配置,发现有些包,如https协议的还是抓不到,别急,还得再来个配置

 在charles的【Proxy->SSL Proxying Settings】下进行如下配置

cherles抓包,安卓,http/https_第17张图片

cherles抓包,安卓,http/https_第18张图片

到此为止,手机就能使用charles代理啦

7、可能遇到的问题问题

1、有些手机是能用.pem格式的文件直接安装的,如果不能就像文中描述的,重命名为.crt,如果不行也可以换成.cer试试

2、还有部分手机如红米,用自带的浏览器下载的证书不能用,可以尝试下载个【夸克】浏览器,下载后直接安装成功

3、部分应用为了安全起见是不允许非system来进行抓包的,如果是自家app,建议跟开发同学问下,将普通用户模式(user)也加到配置文件中,然后就可以抓包啦……

4、三星设备,用浏览器下载完证书后,不能直接安装,以三星padSM跳00为例,打开【设置】-【生物识别和安全性】-【其他安全设置】-【从设备存储空间安装】-【CA证书】,选择【仍要安装】,找到刚刚下载好的.pem证书,点击【完成】,提示【已安装证书】,说明证书安装成功

5、Android 7版本及以上的系统,不再信任用户级的证书,只信任系统级的证书。如果您需要录制App的HTTPS请求,需要App开启网络安全配置,让App信任用户级的证书。详情见fiddler 抓取https数据出现403问题_fiddler 403-CSDN博客

6、已安装了charles证书,但是https的包还是抓不到,可以去查看证书是否已经过期

以ios为例:设置-通用-VPN与设备管理页面,查看配置描述文件,若有红色,可点击查看详情是否已过期

cherles抓包,安卓,http/https_第19张图片

cherles抓包,安卓,http/https_第20张图片

cherles抓包,安卓,http/https_第21张图片

解决办法:打开charles,Help->SSL Proxying点击Reset Charles Root Certificate…,然后重新在客户端安装证书即可

cherles抓包,安卓,http/https_第22张图片

你可能感兴趣的:(Android工具类,http,https,网络协议)