charles常用操作总结

一、主机映射
主要用于mirror回归,或者将一个不可用的环境映射到一个可用的环境
1、在主机名上右键,选择map remote
charles常用操作总结
文章图片

2、在弹出的弹窗中,填写要映射到的地址
charles常用操作总结
文章图片

二、设置断点
在请求位置右键,选择Breakpoints
charles常用操作总结
文章图片

然后选择Proxy的Breakpoint Settings选项,点击进入设置
charles常用操作总结
文章图片

点进去可以看到我们添加到Breakpoint 的所有请求,双击我们要改的那个请求,如果想断请求,勾选Request,想断响应,勾选Response
charles常用操作总结
文章图片

设置后点击OK,关闭上面的弹窗,下面的弹窗中我们勾选想断的请求,点击OK
下次请求就可以断请求或者响应了
charles常用操作总结
文章图片

【charles常用操作总结】改写后点击 Execute执行 ,注意改的时候,客户端一般有超时限制(过了超时时间就不会等服务端的返回数据了),所以一般只适用改动较小的测试或者异常测试
三、自动响应
在请求位置右键,点击save response ,把请求的返回结果保存下来,内容可以根据自己的需要改
charles常用操作总结
文章图片

然后在同一个请求位置选择map local
charles常用操作总结
文章图片

然后把请求的参数删除掉,不然可能每次请求这个接口传参不一样(时间戳参数等),不会走自动响应
charles常用操作总结
文章图片

下次再访问相同的请求,对于客户端,返回的数据就是我们改好的数据啦
四、模拟弱网
选择 Proxy-》Throttle Settings
charles常用操作总结
文章图片

然后将 Enable Throttling 勾选上,设置上传瞎子啊速度 ,我一般都设置为2,几乎为无网状态(可根据需要自行设定)
charles常用操作总结
文章图片

五、抓https请求
1、电脑上安装ssl证书
charles常用操作总结
文章图片

信任证书!!!
2、手机上安装证书
连上代理后,浏览器中输入下列网址访问
charles常用操作总结
文章图片

手机安装证书
3、如果还抓不到https请求,按下面两图操作
charles常用操作总结
文章图片

charles常用操作总结
文章图片


六、Rewrite 构造数据
Rewrite功能和自动响应map local 类似 ,不同的是map local 能映射的请求hosts都是固定的,如果想映射不同hosts就要构造多个映射,
比如 192.168.1.2:8888/a/b/test与192.168.1.3:8888/a/b/test两个请求就要分别映射
而Rewrite就可以解决这个问题 ,可以把所有的请求url为/a/b/test的请求都构造成同一个数据。
方法:
1、入口:Tools-》Rewrite
2、勾选 Enable Rewrite,点击Add
3、Name根据自己情况随便写,Add后Path路径填写我们请求的url,点击OK
charles常用操作总结
文章图片

然后Add返回值,选择response,Type选择body,直接把要构造成的json串写到Value中,Ok
charles常用操作总结
文章图片

下次请求,就会发现192.168.1.2:8888/a/b/test与192.168.1.3:8888/a/b/test两个请求都返回了我们自己的json数据。
rewrite还可以批量修改我们的请求参数,比如把所有的上传的did参数都由ANDROID_4af16d720602b56改为ANDROID_123456123456,我们可以按照下图构造:
charles常用操作总结
文章图片

其中上面部分具体内容为:
charles常用操作总结
文章图片

下半部分具体内容为:
charles常用操作总结
文章图片

这样下次请求,我们的did参数就变为我们想要的ANDROID_123456123456了。这种方法对有要求手机等为新设备才执行某策略的功能点很适用。

    推荐阅读