菜单栏上选择“代理—代理设置,
填入代理端口xxxx
勾选启用透明HTTP代理(既让客户端感知不到使用了代理)
PC抓包只需要点击上方的代理—windows代理即可
如果只想看手机的包,可以关闭此项。
需要注意的是,手机连接charles的代理需要经过PC端的同意。
如果一不小心点错了拒绝也没关系,还有后悔药可以用:菜单栏-代理-访问控制设置,这里可以手动添加允许访问的设备ip
如果嫌每次都允许太麻烦,也可以直接添加0.0.0.0/0 允许所有设备的ip接入。
charles客户端下载SSL证书:帮助—SSL代理—安装charles证书
将所有的证书都放入下列存储—受信任的根证书颁发机构—下一步—完成
设置ssl代理:
启用SSL代理(避免抓包内容乱码),添加主机*,表示所有站点都代理,端口443
手机端连接电脑同个局域网,配置代理后,访问chls.pro/ssl,下载证书文件
小米手机等无法直接安装证书的,可以下载微软的edge浏览器手机版,安装后直接浏览器访问chls.pro/ssl即下载可安装证书。
(如果你只想看到手机上的访问,电脑的chrome全部不捕获,可以使用扩展工具的方法,使用Host Switch Plus 这个host管理工具,暂时避免,可以让你更集中)
从左到右分别为:
(1)清除当前会话
(2)停止记录
(3)开始限流/停止限流
(4)开始断点/停止断点
(5)根据所写内容撰写新请求
(6)重发选定请求
(7)验证
(8)工具
(9)设置
(1)结构模式:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。
(2)序列模式:可以看到全部请求,这里的结果以数据请求的顺序来显示,可以根据时间、大小等自由排序
在线上环境通常有些因为网速慢导致的bug,在本机无法重现,那时候就很抓瞎,模拟网速功能支持对带宽、利用率、往返延迟、字节进行配置,并且支持3G/4G或者其他网络模式。
上方工具栏的代理—限流设置—启用限流,或者直接点击工具栏的小乌龟
(1)软件下方的过滤可以进行简单的过滤
结构模式下只能过滤某个域名
序列模式可以过滤某个路径
(2)上方工具栏的代理—记录设置—包括—添加
可以对网络请求进行过滤。
然后填入需要监控的协议,主机地址,端口号等。这样就可以只截取目标网站的封包了。
选中某个请求,点击工具栏的钢笔按钮,即可对该请求进行编辑和执行,功能类似postman,但是更加方便,不用费劲复制url和参数。
ps:撰写执行的记录在最下方(既按时间最新)。
钢笔按钮右边的重发按钮既将原有请求原封不动地重新执行一次。
而使用工具中的高级重发,可以进行一定程度的并发请求。
charles可以和fiddler相媲美的核心工具:
顾名思义,既对请求或者响应的数据进行重写(修改)。
可以对请求和响应进行如下操作:
添加、删除、修改标头(header),
添加、删除、修改查询参数,
修改host、url、响应状态、正文
首先在左侧添加规则名称,选中新建的规则,右侧添加位置(既需要修改的接口路径),下图为修改APP启动配置这个接口:
然后添加需要执行的重写动作,如下图就是修改接口的查询参数,匹配所有version的值,将其修改为47001,则任何版本APP启动都将获得47001这个版本的配置:
远程映射用于将请求地址重定向到其他环境,例如下图则是将所有该路径的请求都重定向到fx100.6这个环境
其实就是使用本地文件来mock请求的结果
六、右键菜单
charles的右键菜单同样功能强大,可以自己摸索一下。
PS:
有时候抓的包太多了(例如放着不关太久),记录太多也容易导致charles变卡,需要限制一下charles记录的条数:
可以在代理-记录设置里面限制记录历史,超过最大请求的,旧的请求就会被丢弃