Mac上使用Charles抓包
Last updated
Last updated
Charles是macOS上的最常用的抓包工具,目前最新版本为4.0.2,今天来总结一下Charles的最新使用方法,主要是抓HTTPS包的使用方法。
安装JDK
Charles由Java开发,请先安装好(笔者JDK版本为1.8.0_91)。
下载Charles
,目前最新版本4.0.2支持macOS 10.7 - 10.12(笔者macOS版本为10.12.4)。
关闭VPN/代理
为了正常使用Charles,请关闭自己的VPN或者其他代理设置。
安装好Charles后,在菜单栏勾选『Proxy -> macOS Proxy』,macOS系统HTTP/HTTPS代理将会被自动设置为本地代理,默认端口8888。
访问HTTP数据链接,可以开始抓取HTTP包。
在菜单栏选择 『Help -> SSL Proxying -> Install Charles Root Certificate』,会自动导入 Charles Proxy CA 证书并打开 Keychain Access,双击新导入的证书弹出证书信息页面,将 Secure Sockets Layer(SSL) 设置为Always Trust,关闭页面后弹出密码提示,输入密码更新系统信任设置。
在菜单栏选择 『Proxy -> SSL Proxy Settings...』,在SSL Proxying选项卡中可以添加需要抓包的域名端口。
或者直接在『Structure』列表中右击需要抓HTTPS包的地址,选择 Enable SSL Proxying,也可以添加到上述列表中。
访问HTTPS数据链接,可以开始抓取HTTPS包。
在Mac上先打开Charles,确保iOS设备和Mac处于同一局域网内(可使用Mac创建热点分享给iOS设备)。
设置iOS HTTP代理,打开iOS设备对应WIFI设置,添加代理IP地址(Mac的局域网地址)和端口号(8888)。
Mac局域网地址可以在Charles中从菜单栏『Help -> Local IP Address』获取。
在iOS设备上访问数据链接,Charles 弹出 Access Control 确认对话框,选择Allow,可以开始抓取HTTP包。
下面设置抓取HTTPS包
在菜单栏选择 『Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser』,弹出提示框。
进入『设置 -> 通用 -> 关于本机 -> 证书信任设置』,对上一步安装的Charles证书启用完全信任。
在iOS设备上访问HTTPS数据链接,可以开始抓取HTTPS包。抓包域名端口设置和macOS应用程序相同。
根据上述提示,在iOS设备上使用Safari浏览器访问 ,Safari浏览器会自动下载证书并提示安装,根据提示一步一步安装好,证书会被添加到『设置 -> 通用 -> 描述文件』中。