前提:charles的说明
Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。
Charles的主要功能:
(1)截取Http 和 Https 网络数据包。
(2)支持重发网络请求,方便后端调试。
(3)支持修改网络请求参数。
(4)支持网络请求的截获并动态修改。
(5)支持模拟慢速网络。
下面主要介绍Charles的如何抓取HTTPS的数据请求。
第一部分:下载安卓Charles包
1、下载Charles包,地址:https://www.charlesproxy.com/latest-release/download.do
2、根据自己的系统版本选择对应的下载安装包到本地。
3、下载完成后,直接傻瓜式安装即可
4、安装完成后可以通过https://www.zzzmode.com/mytools/charles/,进行Charles的破解(目前只支持到了V4.5.1 版本)
第二部分:设置Windows代理&设置APP代理
一、设置Windows的代理(OS系统基本一致)
1、想通过Charles抓取Windows电脑中的HTTPS包非常的简单,首先打开Charles,界面如下:
2、选择help>ssl proxying>install charles root Certificate 安装证书,
选择安装证书选项后弹出安装证书的弹框,如下图:
点击安装证书,选择本地计算机,点击下一步,进入如下界面:
选择第二个选项,然后选择浏览>受信任的根证书办法机构,点击确定>下一步>完成即可配置成功。
3、选择proxy>Windows proxy,然后打开百度浏览器,发现可以正常抓取到HTTPS的包了。
二、设置APP的代理
1、打开Charles抓包工具,界面如上;
2、选择Proxy | Proxy Settings,弹出proxy设置选项卡,勾选Enabling transparent HTTP proxying
3、配置APP端代理
3.1 首先确定PC电脑的地址,运行 >cmd>ipconfig,如下图:
3.2 以华为手机为例,选择设置>无线和网络>WLAN,选择自己的网络长按,如下图:
3.3 选择修改网络,进入下一页面,勾选高级选项>代理设置为手动,并在下边输入PC的IP地址和端口号,填写完成后选择保存即可,如下图:
4、选择help>SSL Proxying>install charles root Certificate On a mobile Device OR Remote Browser,如下图:
给出弹框,在APP浏览器中输入弹框中的地址,进行证书的下载安装。
5、APP浏览器中输入chls.pro/ssl 地址进行证书的下载。
6、证书下载完成后如果是.cer结尾的则可以直接进行证书的安装,如果是.pem的则需要手动修改一下文件的后缀名在安装
7、证书安装完成后,在通过APP访问www.baidu.com,发现我们可以正常从APP端抓取到HTTPS的数据包。
=====================================================
遇到的问题:
1、Charles配置完成后,在APP端配置完代理后,输入证书下载地址,始终无法下载证书,提示网络错误
解决办法:关闭Windows的防火墙即可。
关闭防火墙办法:
1、进入控制面板系统和安全安全和维护选择高级设置
2、打开如下图所示弹框,选择防火墙属性设置
3、然后将下图三个选项的入站链接全部标记未允许即可。