一. charles的说明
Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。
Charles的主要功能:
(1)截取Http 和 Https 网络封包。
(2)支持重发网络请求,方便后端调试。
(3)支持修改网络请求参数。
(4)支持网络请求的截获并动态修改。
(5)支持模拟慢速网络。
二.安装包的下载
(1)进入官网下载地址:http://www.charlesproxy.com/,点击链接下载30天免费试用版本。
(2)云盘中文破解免费版:链接: https://pan.baidu.com/s/1DsnDWsA1pstTtwXFrcDRxw密码: gb8y
三.简单入门-抓包所有请求
打开Charles
,勾选Proxy
下的macOS Proxy
(如果是windows,此处为Windows Proxy)
点击Proxy
->Start Recording
,打开浏览器访问任意页面,可以在Charles
中看到请求了。(但是没有抓我请求的本地localhost后台,暂时没去研究)
四.设置过滤请求
通过上面的操作,我们已经抓包了所有的请求,实际开发中可能是专门针对某些接口(如百度域名下的接口),我们可以专门配置过滤接口。
临时性过滤配置
在展示界面的Filter
中可进行条件过滤
永久性过滤配置
通过Proxy
->Recording Settings
->include
中配置过滤条件
五.代理转发请求
通过Charles
的Map Remote
和Map Local
我们也可以配置代理转发请求。
Map Remote 远程映射,是将指定的网络请求重定向到另一个网址
业务场景:某些服务端的文件请求时限制某些特定域名(*.baidu.com),我们使用localhost启动项目时,会导致没有权限访问。通过配置Map Remote
远程映射解决问题。
配置路径:设置Tools
->Map Remote
注意Enable Map Remote一定要勾选,以及相应规则也要勾选,否则不会生效
Map Local 本地映射,是指将指定的网络请求重定向到本地的文件
业务场景:在本地化的开发中,接口数据Mock;或者是线上环境问题排查时,将请求重定向到本地文件以方便排查。
配置路径:设置Tools
->Map Local
六.手机抓包
手机抓包请求也是我们日常开发中需要用到的,那如何利用Charles
抓包手机请求呢。
1.设置Charles
的代理端口号 通过设置Proxy
->Proxy Settings
->Proxies
->HTTP Proxy
下的Port
端口号
2.查看本地IP地址
3.手机和电脑需要处于同于wifi网络内
4.手机wifi网络配置
以华为mate 30为例,选择对应的wifi,选择显示高级选项
,设置代理为手动
。设置服务器主机名
为:xx.xx.xx.xx(刚才查看的电脑IP) 设置服务器端口
为:8888(刚才设置的port) 点击保存后,手机的请求就可以在Charles
中查看啦...
注意链接时,Charles
会弹出授权窗口,要选择Allow
七、限速设置
通过设置Proxy
->Throttle Settings
来进行速度限制
注意:一定要勾选 Enable Throttling
选项