前言

charles是常用的抓包工具,这里整理一下自己在使用过程中的一些经验。
首先说明,我使用的是mac端的3.11.2版本的charles。

抓取Https

如果不设置,默认抓取https的页面,返回值是乱码的。

1.首先下载证书

Help SSL Proxying Install Charles Root Certificate

如何打开charles的ssl开关 怎么使用charles_网络

2.信任改证书

证书下载后,会出现在系统的钥匙串访问中,需要选中对应的证书,点击左下角的信息按钮,将其标为始终信任。

如何打开charles的ssl开关 怎么使用charles_网络_02


3.设置url开启SSL

如果想抓取某个网站的HTTPS信息,比如知乎,需手动开启该网站的Enable SSL Proxying

如何打开charles的ssl开关 怎么使用charles_如何打开charles的ssl开关_03

4.成功获取信息

这样就可以成功抓取该url的https信息了,不再是乱码了。

如何打开charles的ssl开关 怎么使用charles_工具类_04

移动端抓取Https

移动端在练到代理后,

1 下载证书

如何打开charles的ssl开关 怎么使用charles_如何打开charles的ssl开关_05

2 访问对应url是,enable即可。

是不是很简单。

并发请求

模拟DDOS,相当给力

如何打开charles的ssl开关 怎么使用charles_工具类_06

进入Repeat Advanced后,可以选择访问次数和并发数。

如何打开charles的ssl开关 怎么使用charles_工具类_07

然后开始疯狂的DDOS吧!

修改请求

修改请求内容,比如post数据等等,也很简单,对应的接口edit

如何打开charles的ssl开关 怎么使用charles_网络_08

修改完毕后执行即可。

接口重定向

将接口的返回值变成自己想要的值。

1 Map Local

如何打开charles的ssl开关 怎么使用charles_工具类_09


2 将接口重定向到本地文件

如何打开charles的ssl开关 怎么使用charles_网络_10

3 mac本地txt
最适合的方式,只有vi编辑器了。
通过vi命令创建或进入文本,再修改,完毕后esc :wq 保存并退出即可。

这种方式很愚蠢,直接使用sublime可能会更加方便一些。

4 管理Map

不想重定向时,在Tools中的Map Local关闭即可。

如何打开charles的ssl开关 怎么使用charles_如何打开charles的ssl开关_11

5 批量map【好像无效,需要再试试】

有时候需要批量一个文件夹下所有文件替换。

比如nej打包后的线上,和本地打包的文件修改。这时用正则就好了。

如何打开charles的ssl开关 怎么使用charles_工具类_12

模拟网速

有时候需要模拟网速,虽然说chrome有这个功能,但是移动端真机调试的时候,charles还是占据了主导地位。

打开方式:

如何打开charles的ssl开关 怎么使用charles_工具类_13


调整为3g或4g

如何打开charles的ssl开关 怎么使用charles_web工程_14

之后通过菜单栏的小旗快捷键即可:

如何打开charles的ssl开关 怎么使用charles_网络_15

重定向json格式

如果未rewrite,直接将一个json格式的数据通过maplocal本地重定向,会报错。需要重写:

tool rewrite

如何打开charles的ssl开关 怎么使用charles_工具类_16

修改中文乱码

如下图,某请求:

如何打开charles的ssl开关 怎么使用charles_如何打开charles的ssl开关_17


设置

如何打开charles的ssl开关 怎么使用charles_web工程_18

rewrite响应内容

rewrite功能非常强大,可以重写某些url的body或head等内容。

比如我们要修改响应body中服务器返回的时间来进行本地化的测试:

如何打开charles的ssl开关 怎么使用charles_如何打开charles的ssl开关_19