简介
Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。
Charles主要功能
- 支持SSL代理。可以截取分析SSL的请求。
- 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
- 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
- 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 检查HTML,CSS和RSS内容是否符合W3C标准。
下载地址
或是
云盘下载地址(window)
开始抓包
先看一下Charles的庐山真面目吧!
在使用抓包时,保持 "眼睛" 一直处于监听状态,图中window下方的红点是选中状态
在手机上下载证书 :
(1)点击Help-SSL Proxying-Install charles root certificate on a Mobile Device...
会看到该提示框,172.31.85.x4:8888 ,需要在手机中设置代理,可以在手机找到当前链接wifi,修改网络设置配置---显示高级选项-- 代理服务器(手动)
输入本机ip地址 cmd(ipconfig), 端口:8888 ,如果需要输入密码,请输入当前链接wifi密码即可。
安装证书,抓取客户端网络请求,查看请求数据。
(2)Charles设置Proxy
菜单---proxy-------SSL proxying settings 添加需要监听访问域名,不添加抓包请求不会显示在charles左侧中。
这里设置要访问的域名。监听端口443(https) ,在手机浏览网页,请求资源及接口会现实在抓包工具左侧。
菜单---proxy-------Proxy settings 这里也要设置下。
tips:在手机上设置代理,同一网段,及端口号:8888,如果幸运的话就会出现这个。。
request 中可以查看cookies ,response中响应数据。及左侧接口请求。
过滤功能
在Charles的菜单栏选择`"Proxy"->"Recording Settings"`,然后选择`Include`栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号
该选项卡设置,设置、包括、排除 操作。
编辑接口请求(再次发送)
选中某一个接口请求,右键--edit- 如下图: