Charles如何配置代理抓去HTTP/HTTPS请求

1、打开Charles,关闭系统代理

Charles如何配置代理抓去HTTP/HTTPS请求

2、设置一个自定义的代理

打开ProxySetting

Charles如何配置代理抓去HTTP/HTTPS请求

配置代理端口号

Charles如何配置代理抓去HTTP/HTTPS请求

如果是要抓去HTTPS的包,还需额外配置SSL Proxy Setting

Charles如何配置代理抓去HTTP/HTTPS请求

添加匹配规则 *,表示匹配所有的地址和端口

Charles如何配置代理抓去HTTP/HTTPS请求

3、配置浏览器代理

我这里使用的是Chrome浏览器的一个代理管理插件,新建场景,添加本地的8888端口

Charles如何配置代理抓去HTTP/HTTPS请求

4、配置完成后,启动插件,选择Charles代理,刷新网页,即可看到通过代理抓到的网络包

Charles如何配置代理抓去HTTP/HTTPS请求
Charles如何配置代理抓去HTTP/HTTPS请求

⚠️注意:如果配置完成后,刷新浏览器还是没有抓到包,可以重新在谷歌商店中找到SwitchOmega插件重新安装一下,我自己就遇到这个问题了,重装插件就好了

5、配置证书,访问chls.pro/ssl

Charles如何配置代理抓去HTTP/HTTPS请求

下载完成后,双击打开,将证书添加进钥匙串访问中,之后双击证书,选择【始终信任】

Charles如何配置代理抓去HTTP/HTTPS请求

配置完成后,抓取https网站的包才不会显示成加密

Charles如何配置代理抓去HTTP/HTTPS请求

访问https网站也可以看到证书的签发者也变成Charles

Charles如何配置代理抓去HTTP/HTTPS请求

6、如果使用模拟器或真机来进行抓手机的包,需要和电脑在同一个局域网,也是相同配置将代理服务器设置为电脑的IP地址即可

Charles如何配置代理抓去HTTP/HTTPS请求

配置完成后,打开浏览器,刷新页面就可以看到charles抓到模拟器上的包

Charles如何配置代理抓去HTTP/HTTPS请求
Charles如何配置代理抓去HTTP/HTTPS请求

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如何配置代理抓去HTTP/HTTPS请求

接着我们在charles中搜索需要修改的股票名称,这里以“舍得酒业”为例,在捕获到的请求中找到2个名字为“舍得酒业”的接口

Charles如何配置代理抓去HTTP/HTTPS请求

打开rewrtie

Charles如何配置代理抓去HTTP/HTTPS请求

添加Location,指定重写哪些地址,需要注意抓取http还是https

Charles如何配置代理抓去HTTP/HTTPS请求

添加重写规则,这里重写响应请求的Body中,包含“舍得酒业”的全部改为“舍得酒业老是跌啊跌”

Charles如何配置代理抓去HTTP/HTTPS请求

保存退出后,清除现在的请求,刷新下自选列表

Charles如何配置代理抓去HTTP/HTTPS请求

上一篇:(转)iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解


下一篇:配置Charles 设置手机代理并允许https请求