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

Posted Hei蛋炒饭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Charles如何配置代理抓去HTTP/HTTPS请求相关的知识,希望对你有一定的参考价值。

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

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

打开ProxySetting

配置代理端口号

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

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

3、配置浏览器代理

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

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


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

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

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

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

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

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

image

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

image
image

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已经能获取到报文数据

image

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

image

打开rewrtie

image

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

image

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

image

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

image

以上是关于Charles如何配置代理抓去HTTP/HTTPS请求的主要内容,如果未能解决你的问题,请参考以下文章

Windows下charles 使用教程指南

如何在 Tor 上运行 Charles Proxy?

Charles如何截取HTTP/HTTPS数据?

iOS手机流量抓包rvictl

十分钟学会Charles抓包(iOS的http/https请求)

如何使用 java 启动 charles 代理并使用特定配置自动保存日志