Mac下使用Charles抓包工具

less than 1 minute read

介绍

Charles是Mac下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器的网络通讯协议,常常需要截取网络封包进行分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles还可以分析 Https 协议。

Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

下载

这玩意收费,给你萌个破解版

  1. 百度云下载地址: https://pan.baidu.com/s/1U6oGu61qH30YyJvcFAMg4w (网盘提取密码:9ybz)

  2. DMG 安装包打开密码 www.ifunmac.com

  3. 运行软件后,使用下面的注册信息激活即可: Registered Name:macenjoy.co License Key:BBF36640E8D382CAA3

界面

image-20210315165625446

PC端抓包

macOS Proxy是默认勾选的,一打开Charles就开始抓取了。

image-20210315214145574

但是你会发现http接口是正常的,而https接口返回的报文却是乱码。

image-20210315214527583

通过查看Notes提示需要配置代理。

image-20210315215009924

在Proxy→SSL Proxying Setting中include添加规则,这里我配置的*.*

image-20210315215240948

重启Charles,依然报错,Notes提示需要安装根证书。

image-20210315215337622

选择Help→SSL Proxying→Install Charles Root Certificate选项,在弹出的钥匙传中,双击该证书,选择信任。

image-20210315215545672

image-20210315215602140

重启Charles,https封包抓取正常。

image-20210315215741462

移动端抓包

我手头只有iOS设备,这里只演示iOS端,其实Android端设置也差不多。

首先手机和电脑必须在同一个局域网内,在Proxy→Proxy Settings选项卡中配置端口号,这里我配的8889

image-20210315220039707

然后打开手机WLAN,点击已连接WIFI右侧的感叹号。

image-20210315220258998

进入页面后在最下面有一个HTTP代理-配置代理选项,选择手动,在服务器和端口分别输入电脑的ip和端口,最后点击存储。

image-20210315220543886

这是电脑会弹出一个窗口,选择allow。

image-20210315220644713

同样,移动端也需要安装证书,打开浏览器输入chls.pro/ssl,下载证书,安装证书。

image-20210315221147879

image-20210315221159150

这时候就可以正常抓取http和https请求了。

image-20210315221350339