使用 Charles 进行抓包

本文记录如何在在Mac上使用Charles进行抓包,包含两个场景,抓取电脑应用上发起的请求响应数据,抓取移动设备(IPhone)上发起的请求响应数据。

因为Charles由Java开发,所以电脑中必须安装有Java JDK。在使用Charles的过程中,如果开了VPN,则需要关闭VPN。

安装

点击链接,选择Mac版本进行下载安装:www.charlesproxy.com/download/

1. 配置想要抓取数据的地址

Proxy → SSL Proxying Settings

默认设置是抓取所有HTTPS地址的数据,这里可以设置为只抓取特定地址的数据。

幻灯片1.jpg

2. 在电脑上安装证书

Help → SSL Proxying → Install Charles Root Certificate

幻灯片2.jpg

3. 设置HTTP和HTTPS代理

系统偏好设置 → 网络 → 高级 → 代理

端口号默认是8888,与Proxy → Proxying Settings 中的HTTP代理端口号相同。

幻灯片3.jpg

到目前为止,就能抓取电脑应用中的请求响应数据了(比如谷歌浏览器中的请求响应数据)。

顺便一提,将 Charles → Preferences → Viewers 中的Combine request and response 选项取消勾选,应用的界面就会将请求和响应的数据分开展示,看起来比较直观。

接下来看一下如何抓取手机中的请求响应数据。

4. 在Mac上的Charles中查看安装移动设备证书的提示

Help → SSL Proxying → Install Charles Root Certificate on a Mobile Device or Remote Browser

提示的弹框中会给出电脑的IP地址和端口号,需要在手机中配置HTTP代理。

幻灯片4.jpg

5. 在IPhone上安装证书

1. 在手机上配置HTTP代理

幻灯片5.jpg

配置好后,在手机上随便打开一个App请求下数据,电脑上的Charles应用会弹出一个弹窗,点击允许。

image-20220327135536739.png

2. 安装证书

在Safari浏览器中打开此链接:chls.pro/ssl

幻灯片6.jpg

以上就是全部的配置过程,配置好之后就可以开始抓取数据了。

参考地址

zhuanlan.zhihu.com/p/26182135

猜你喜欢

转载自juejin.im/post/7079714541243727879
今日推荐