charles使用说明

第一步:安装
百度云地址: https://pan.baidu.com/s/11dz5...
提取码: arb4

注:这个下载的是破解版的charles,里面包含了破解方法,按照提示进行操作即可,

正版的需要购买,其实不破解的也可以用,只不过三十天试用期过了之后,每次使用charles的时间就不可以超过半小时了(超过会自动退)

退了再重新打开就好,而且正版的(非破解)进入软件需要等待十秒,对于一些长时间的抓包操作最好还是破解一下

(ps:感谢孙亮提供的破解版下载链接)

第二步:安装Charles HTTPS证书
2.1
路径:help–>SSLProxying–> Install Charles Root Ceriticate
如图所示:

2.2
点击Install Charles Root Ceriticate后,然后到钥匙串中。但是这个证书并不能信任,此时我们可以点击对应的证书名称,会弹出下图,在信任中选择“始终信任”即可。

第三步:当电脑上已经安装好证书之后,我们将需要调试的手机设置该电脑为代理服务器,端口为8888。(或者设置与其他一样的端口)
3.1 手机和mac在同一个区域网
3.2 查看Charles的设置
3.2.1 Charles的端口设置
在 Charles的菜单栏上选择“Proxy”–>“Proxy Settings”,填入代理端口 8888,并且勾上“Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。

3.2.2 查看Charles 的IP地址
首先我们需要获取 Charles运行所在电脑的 IP 地址,Charles的顶部菜单的“Help”–>“Local IP Address”,即可在弹出的对话框中看到IP 地址。

3.2.3 iPhone 上的设置
在 iPhone 的 “ 设置 ”–>“ 无线局域网 ” 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址

,子网掩码等信息。在其最底部有「HTTP 代理」一项,我们将其切换成手动,

然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888。

如下图:

如果只是要抓包http的,这样就好了。

如果要访问https的话,则要打开charles->help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser,
如下图:

点击会弹出:

手机端打开safari,访问图中的地址-->chls.pro/ssl,即会跳转下载并安装描述性文件,安装完成后到 【通用】->【关于本机】-> 【证书信任设置】,然后就启用完全信任刚才安装的证书

接着就可以在mac里面抓取iphone中的https流量了

在安卓的手机
上操作和苹果一致,都是打开浏览器访问chls.pro/ssl,下载对应的证书之后,在手机系统里安装,需要注意的是,安卓手机的证书需要在设置里面选择从存储设备安装

并且找到你刚才下的证书文件,选择安装即可,这里以一加手机为例

【设置】-->【安全和锁屏】-->【加密与凭据】→【从存储设备安装】

注意:各类安卓手机的安装方式不尽相同,在这里我会后期补充,也欢迎大家随时进行补充

第四步:在电脑(mac)上尝试抓包:
在 Charles的菜单栏上选择“Proxy”–>“macos proxy”, 勾选住,就可以看见电脑上的请求了

第五步:在电脑(mac)上尝试改包:
当我们在charles里面已经找到了对应的接口请求的时候,我们想修改这个请求里面的一些东西,可以这样做:

1、首先找到这个请求,右键打开这个请求的选项,找到【map local】,选择

2、如果你已经有了可以替换这个接口返回数据的json文件,那么你可以直接就替换掉,如果没有,你可以先在当前接口请求内复制出一份数据把它放在一个新的json文件内再进行替换:

这样一来,接口返回的数据就会变成你本地的json文件内的数据了

3、如果你想取消当前的改包,让数据正常的请求正常的拿回来,那么你可以选择【tools】-–>【Map Local】

然后在打开的页面内你会看到目前都有哪些接口被改掉了,这时候勾选enable map local 就可以禁用掉当前所有的改包

或者你也可以只是把其中的某一个右键单击删除掉:)