连接手机
-
展开提示框:
Help -> SSL Proxying
-
保证手机和电脑连接同一个wifi,然后将手机的代理设置为提示框所写(或者直接查看电脑ip
ifconfig | grep 192.168
),如图:host:192.168.1.110, port: 8888
-
手机使用如UC浏览器访问
chls.pro/ssl
(不要用本机浏览器,很多不能下载)来下载证书,完成证书安装即可- 意外情况,证书无法安装,可以直接将证书保存到本地(在charles的
help -> ssl proxying -> save charles root certificate
中),然后将证书拖拽到手机中进行安装即可;
- 意外情况,证书无法安装,可以直接将证书保存到本地(在charles的
-
安装完手机后,进入手机的
受信任的凭据/用户
可以看到安装的证书,证书安装的具体位置要看手机而言,上述为华为手机 -
完成上述步骤即完成手机的代理,即可在Charles中看到请求的各种内容
篡改功能
-
为什么用到篡改?目的是不操作数据库,通过篡改接口返回数据来看前端页面逻辑,可以理解为mock数据
-
如何使用篡改,首先连接篡改页面的样子
-
从
tools - rewrite
进入,location
表示要具体篡改的请求可以不填写任何内容即保存,表示所有请求都会被篡改;或者指定特定接口进行篡改
-
modify content
表示要具体篡改的内容- 假设
headers
缺少content-type:application/json
,可以选择type
为add header
,增加content-type
为所想要即可,生效后会对所设置的location
进行更改 - 假设想要修改
body
,选择type
为body
,然后可以将特定值进行替换,此时不需要使用正则(即不使用regex);假设想要使用正则,选择regex
,写好正则即可
- 假设
断点功能
-
断点功能和篡改功能背景是一样的,他是在代理层将数据进行篡改
在strucure
中找到对应接口,加上breakpoints
即表示要对此接口进行断点;(或者进入proxy -> breakpoint settings
)可自定义进行断点设置 -
开启断点开关后即可进行断点
-
当请求过来时,就会被charles拦截,像debug代码一样点击页面
excute
执行,过程中可以修改请求时的请求数据,或者修改响应数据
弱网
-
进入
proxy -> throttle settings
即可自定义设置弱网