1、打开Charles,关闭系统代理
2、设置一个自定义的代理
打开ProxySetting
配置代理端口号
如果是要抓去HTTPS的包,还需额外配置SSL Proxy Setting
添加匹配规则 *,表示匹配所有的地址和端口
3、配置浏览器代理
我这里使用的是Chrome浏览器的一个代理管理插件,新建场景,添加本地的8888端口
4、配置完成后,启动插件,选择Charles代理,刷新网页,即可看到通过代理抓到的网络包
??注意:如果配置完成后,刷新浏览器还是没有抓到包,可以重新在谷歌商店中找到SwitchOmega插件重新安装一下,我自己就遇到这个问题了,重装插件就好了
5、配置证书,访问chls.pro/ssl
下载完成后,双击打开,将证书添加进钥匙串访问中,之后双击证书,选择【始终信任】
配置完成后,抓取https网站的包才不会显示成加密
访问https网站也可以看到证书的签发者也变成Charles
6、如果使用模拟器或真机来进行抓手机的包,需要和电脑在同一个局域网,也是相同配置将代理服务器设置为电脑的IP地址即可
配置完成后,打开浏览器,刷新页面就可以看到charles抓到模拟器上的包
7、Android证书信任问题
Android6.0默认用户级别证书
Android7.0以上需要修改apk包属性
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
8、演示:抓包修改雪球app上股票信息
首先打开charles和雪球app,刷新自选股页面,就可以看到charles已经能获取到报文数据
接着我们在charles中搜索需要修改的股票名称,这里以“舍得酒业”为例,在捕获到的请求中找到2个名字为“舍得酒业”的接口
打开rewrtie
添加Location,指定重写哪些地址,需要注意抓取http还是https
添加重写规则,这里重写响应请求的Body中,包含“舍得酒业”的全部改为“舍得酒业老是跌啊跌”
保存退出后,清除现在的请求,刷新下自选列表
Charles如何配置代理抓去HTTP/HTTPS请求