一、Charles使用
Charles是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。
Charles的主要功能:
(1)截取Http 和 Https 网络封包。
(2)支持重发网络请求,方便后端调试。
(3)支持修改网络请求参数。
(4)支持网络请求的截获并动态修改。
(5)支持模拟慢速网络。
二、下载
地址:Download a Free Trial of Charles • Charles Web Debugging Proxyhttps://www.charlesproxy.com/latest-release/download.do
三、安装
四、激活
地址:Charles激活工具
填写:
五、PC抓包
由于charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。直接打开网页就可以了。
注意:
(1)Charles支持抓去http、https协议的请求,不支持socket。
(网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)
(2)防火墙关掉
点击上方的代理—windows代理
5.1下载SSL证书
5.2安装证书
6.APP抓包
使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。
6.1配置代理服务器
6.2查看本地IP
6.3手机端的wifi代理设置那里去进行相关的配置设置。
6.4配置完成
配置完成,会看到一个charles与手机端的连接提示弹窗,选择allo即可。
6.5抓包https
由于https协议的特殊性,所以要求电脑端和手机端都需要安装下证书,否则会看到返回的数据都是乱码。
注意:同一个手机对应不同电脑上的Charles都要分别下载证书进行认证,因为手机的证书是和电脑端的Charles一一配对的。
6.5.1电脑端下载
6.5.2手机端下载
浏览器输入:http://www.charlesproxy.com/getssl
7.问题
7.1抓取的包全部出现unknow的解决方法
7.2当前设备不支持安装证书
选择从存储器安装证书,点击 搜索,点击安装即可
8.设置
8.1模拟慢网速
方法一:点击Charles 上方的乌龟标志,模拟网络延迟;
方法二:点击Proxy——Throttle Settings——勾选Enable Throttling——再勾选Only for selected hosts——点击Add,设置指定的域名——OK;(针对指定的域名模拟弱网)
8.2断点
在会话列表中找到请求的数据包后,点击右键—Breakpoints,对某个请求数据包进行断点设置(而不是对整个域名进行断点设置哦)
8.2.1在charles中对 百度搜索:大熊猫整个请求数据包进行断点设置,如下图
8.2.2在刷新(发送)一次 搜索:大熊猫的请求,charles 对该请求数据包进行了拦截,并修改大熊猫为大雁,再点击Execute 。如下图
注:(该方式只针对请求数据包的某个资源进行断点设置,故放行后,服务器返回的数据不会被拦截了)