1、Charles 概述
关于抓包工具:先后琢磨过 wireshark,fiddler,burp suite,charles 。
不得不说在http request拦截与responce数据模拟上charles真的是比较简洁好用。
- 界面也是简洁大方
- 拦截篡改请求方便
- 模拟responce更方便(太赞)
破解版本下载:
- win版,链接: https://pan.baidu.com/s/1mi0TgH6 密码: v6fu
- mac版,链接: https://pan.baidu.com/s/1cF0F86 密码: 45jy
2、配置
Charles 端配置: Proxy -> Proxy Setting -> 常见的设置8888或者8080
手机端就是普通的连接代理配置:wifi -> 代理 -> 手动 -> 填写主机名(上图ip),端口号(上图端口号)
然后手机发起请求,要选择同意(allow) (如果没有弹出此界面,一般无法抓包,请确认防火墙关闭,并重启charles)
3、charles 数据包展示
比较简洁的tab 左边有域名归类:
右边是单个请求:
4、请求过滤
太多的请求总是凌乱:
Proxy -> Recording Settings 以手机酷狗为例子。
5、请求与响应拦截类比
- fiddler拦截是分请求拦截,响应拦截,设置后,就后续的所以http都拦截了。
《fidder 拦截http 重新发起请求》篇有操作方法 burp suite 拦截 默认是请求拦截(在action里可以设置responce拦截)
标题 状态 阅读 评论 评论权限 操作
《Burp Suite http app抓包》篇有操作方法charles 是分接口拦截(断点),对该接口设置了拦截,后续发生连接时请求拦截一次,响应发生一次。拦截时可修改数据。
6、charles http 拦截(Breakpoints)
在Sequence 这拦,选择要拦截的接口,右击 -> Breakpoints 以后的请求和响应分别拦截一次跳到改数据内容页面。
按钮说明:
- cancel 跳过不改
- abort 丢弃
- excute 执行(修改后点击)
6、save
在Sequence 这拦,选择要拦截的接口,右击 ->
- save Request 请求内容保存
- save Responce 响应内容保存
7、map (非常好用的功能,mock 效果)
在Sequence 这拦,选择要拦截的接口,右击 ->
- map remote 该请求结果使用另一个请求的结果
- map local 该请求的结果使用本地文件
这是一个非常好用的功能,有mock 模拟数据的用处。比如说服务端不方便给各种数据,可以在这里客户端自己构造数据测效果。
8、FAQ
8.1、 中文乱码
edit -> preferences -> 选择一个中文字体就可以了