暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

乾坤大挪移-Charles使用技巧

盛超杰的笔记 2019-04-24
839

有了Charles,http请求我想它去哪里就去哪里,我想怎么改它返回就怎么改,有没有一种黑客的感觉,对应武林绝学乾坤大挪移

破解

Charles是一个收费软件,有钱大佬可以付费支持,下面这个破解教程亲测有效
https://blog.csdn.net/qq_25821067/article/details/79848589

使用

基础抓包

这个是最基础的功能,安装charles打开后,默认就能抓取电脑的http(s)报文


上面的按钮用来开启抓包,下面的标记代表当前抓包模式开启


代理抓包

但是在实战中,我们抓自己电脑上的包没有意义,浏览器那边就能看到,所以我们要抓的是手机App的报文,这就需要用到代理这个功能了。

首先开启Charles的代理设置,打开Proxy-> Proxy Settings


然后选中

接下来通过iconfig拿到你电脑的局域网ip(手机和电脑需要在一个wifi下),然后在手机的网络连接那边设置代理,我这边以ios作为例子

上面的配置弄好之后,用你的手机随便访问下网络,如果弹出下面的框,选择Allow,就代表你配置成功了。

image.png

这个抓包的操作太基础了,很多人肯定都会,下面开始进阶功能介绍。

https抓包

charles安装证书以及配置
点击下面菜单给osx安装证书


启用证书

image.png


proxy中ssl相关配置


新增一下配置

image.png
  1. 手机下载证书以及相关配置

    image.png


    点击这个菜单会出现一个弹框

    image.png


    手机连上192.168.3.2:8888代理后,访问chls.pro/ssl下载证书,下载不了可以换个浏览器试试


ios 通用->关于本机->证书信任设置 启用charles证书

image.png

接下打开微信,选择一篇公众号的文章,看它的请求返回

image.png

然后,我们试试把ssl那个*:443配置关掉
image.png

请求重放

应用场景

当我们在调试我们接口的时候,为了方便,不想再在app上操作,可以使用这个重放功能。

使用方式

选择一个请求,右键选择Repeat或者Repeat AdvancedRepear Advanced可以用它来做接口并发测试

image.png

请求返回修改

应用场景

举两个我想得到的例子,比如现在线上前端出了一个问题,但是本地不能重现,但是我也不确定我的改动是否有效,那么用到这个功能,我可以在把线上环境返回的js改为我本地修改后的那个版本,来看我的改动是否有效。对于后端也一样,如果一个接口的返回需要修改,也可以用这种方式。

使用方式

选择一个请求右键点击Map Local


然后在弹窗内进行配置,选择一个文件,该文件内是你针对该接口想返回的内容

image.png

test.json内是我修改后的返回内容

image.png

不修改的情况下默认返回的是helloworld

请求重定向

应用场景

这个功能可以用来把请求重定向到自己本地起的服务。

使用方式

选择一个请求右键点击Map Remote


然后出出现一个弹框,进行配置
image.png

注意 Preserve Host 这个配置,如果没有勾选,请求报文的host会改为Map to 中的host,我们的应用就会检查这个Host是否是自己的,随意建议勾选。

我这边是对/hello请求转到我本地起的另外一个应用,如果想针对所有请求,可以将path改为*

如果端口不变的情况下,也可以不使用Map Remote这个功能,直接改host文件即可

最后

Charles其他功能应该还有很多,大家使用过程中可以好好探索,我用到其他什么功能也会补充完善,撒花。

参考

手机通过Charles抓取https包


文章转载自盛超杰的笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论