Charles使用详解
Charles 是通过将自己设置成代理服务器来完成封包截取的,使用 Charles 的第一步是将其设置成系统的代理服务器。
- 过滤网络请求:
方案一:
在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。
Proxy -> Recording Settings -> Include
步骤一:
屏幕快照 2020-07-08 下午3.56.56.png
步骤二:
屏幕快照 2020-07-08 下午3.57.34.png
步骤三:
屏幕快照 2020-07-08 下午4.00.18.png
方案二:在想过滤的网络请求上右击,选择 “Focus”。
屏幕快照 2020-07-08 下午4.01.36.png
Charles 上的代理功能设置:
在 Charles 的菜单栏上选择 “Proxy”–>“Proxy Settings”,填入代理端口 8888,勾上 “Enable transparent HTTP proxying” 完成在 Charles 上的设置。
屏幕快照 2020-07-08 下午4.09.22.png
-
iPhone 上的设置:
获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”–>“Local IP Address”,即可在弹出的对话框中看到 IP 地址:
屏幕快照 2020-07-08 下午4.14.04.png
屏幕快照 2020-07-08 下午4.22.44.png
在 iPhone 的 “ 设置 ”–>“ 无线局域网 ” 中,可以看到当前连接的 Wifi 名,点击右边的详情键,可以看到当前连接上的 Wifi 的详细信息,包括 IP 地址,子网掩码等信息。最底部有配置代理,切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888:
lALPDhmOsw8tcM7NBTbNAu4_750_1334.png_720x720g.jpg
-
安装证书:
在 Mac 电脑上安装证书。点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”,然后输入系统的帐号密码,即可在 KeyChain 看到添加好的证书。
屏幕快照 2020-07-08 下午4.27.09.png -
截取移动设备中的 Https 通讯信息:
如果我们需要在 iOS 或 Android 机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程。
屏幕快照 2020-07-08 下午4.34.07.png
屏幕快照 2020-07-08 下午4.33.42.png -
模拟慢速网络
在做移动开发的时候,常常需要模拟慢速网络或者高延迟的网络,以测试在移动网络下,应用的表现是否正常。
在 Charles 的菜单上,选择 “Proxy”–>“Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。
如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的 “Only for selected hosts” 项,然后在对话框的下半部分设置中增加指定的 hosts 项即可。
屏幕快照 2020-07-08 下午4.39.04.png