Charles 主要的功能
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
将Charles 设置成系统代理
选择菜单中的”Proxy” -> “Mac OX Proxy” 将Charles设置成系统代理。
这样就可以看到本机的网络强求了…
过滤网络请求
- 在Filter中填入你想过需要的关键字
- 选择菜单”Proxy” -> “Recording Setting” -> “Include”,添加一个项目,填入监控的协议,主机地址,端口号,就可以只截取目标网站的封包。
- 在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项
- 其中1、3是临时性的, 2是经常性的。
截取iPhone上的网络封包
- Charles 设置
将 Charles 的代理功能打开, 选择菜单”Proxy” -> “Proxy Settings”, 在Port填入代理端口8080,并且勾上”Enable transparent HTTP proxying”,如图: - iPhone设置
2.1 获取电脑IP地址 // 192.168.0.127
选择菜单”Help” -> “Local IP Address”查看本机IP
2.2 iPhone设置 -> Wi-Fi -> 当前连接的wifi -> 点击右侧详情按钮 -> 底部HTTP代理选择手动 -> 服务器填上电脑的IP地址 -> 端口号填 8080 - 电脑Chroles会弹出一个是否确认的菜单,选择Allow!!! OK,完成!
HTTP抓包
- 打开Charles程序
- 查看Mac电脑的IP地址,如192.168.1.7
- 打开iOS设置,进入当前wifi连接,设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888
- iOS设备打开你要抓包的app进行网络操作
- Charles弹出确认框,点击Allow按钮即可
HTTPS抓包
- 在 iOS 设备上打开这个网址 http://www.charlesproxy.com/getssl 安装 Charles SSL 证书
- 在Charles的工具栏上点击设置按钮,选择Proxy Settings…3
- 切换到SSL选项卡,选中Enable SSL Proxying,别急,选完先别关掉,还有下一步
- 这一步跟Fiddler不同,Fiddler安装证书后就可以抓HTTPS网址的包了,Charles则麻烦一些,需要在上一步的SSL选项卡的Locations表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填api.instagram.com,Port填443