Charles 是Mac 常用的抓包工具,也可在Windows使用, charles界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等,推荐使用。
安装
Charles 的官方网站(http://www.charlesproxy.com)下载安装;
Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。
建议购买正版使用,不想花钱买正版时,也可以下载破解使用,使用方法:
gitoschina码云源码:http://git.oschina.net/iYoungDone/charlesloader
- Windows 平台,将下载的charles.jar文件覆盖到安装目录下的lib文件夹下即可完成破解!
- Mac 平台,将下载的charles.jar文件右键 Charles.app 显示包内容,覆盖到Content->Java下即可完成破解!
移动设备抓包设置
只是抓取HTTP协议时不需要安装证书;HTTPS协议需要安装CA证书
a、 启动Charles,选择 “Proxy”->“Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” ,点击OK,在设备上再访问网络,请求包就可以被我们抓取到。
b、 通过打开Charles->Help->SSL Proxying->点击最长那个,来查看代理的IP地址、端口号
c、 手机和电脑都连接到同一个网段,设置移动端代理:wifi设置->高级或点击已连接的wifi->Http代理->手动->输入电脑所在的IP地址(192.168.1.104),端口号为8888
d、 设置好之后,启动APP,Charles会弹出是否允许提示框,点击Allow即可
https协议包会被加密,需要安装证书
a、 在移动端浏览器中访问:chls.pro/ssl下载安装证书
b、菜单:Proxy->SSL Proxy Setting,配置需要抓取的https URL,添加一条*.*表示捕获解析所有https请求,如果不配置则不会解析https数据包的内容。
设置断点,修改请求、返回值
a、 右键点击需要模拟的请求,选择Breakpoints
b、 断点设置,Proxy->Breakpoint Settings找到勾选Breakpoints的请求,双击进入编辑如下页面,把Query改成*号,点击OK,如只需修改返回值勾选Response即可
c、 再次请求该接口,会跳转到如下页面,编辑request参数之后,点击下方Execute按钮后,客户端就可以看到请求返回的数据(修改request)
d、 再次请求该接口,编辑Response参数之后,点击下方Execute按钮后,客户端就可以看到请求返回的数据(修改Response)