- 安装好Charles之后,还只能捕获电脑的接口请求
- 想要抓取移动设备的APP还需要设置代理、安装证书。
文章目录
- 一、抓包原理
- 二、手机设置网络代理
- 1、 查看电脑的IP地址(local IP address)
- 2、设置手机网络代理
- (1)iOS设备
- (2)Android设备
- (3)Charles中允许设备连接代理
- 三、手机安装证书
- (1)确保手机已经连上代理
- (2)手机打开网页:“chls.pro/ssl”,点击下载证书
- (3)安装证书
- 1.安卓
- 2.iOS
- (4)【仅iOS】信任证书
- 附录:[零基础入门接口功能测试教程-目录](https://blog.csdn.net/weixin_40883833/article/details/126452017)
一、抓包原理
- 原始请求
- 客户端直接与服务端交互数据。
- 代理后的接口请求
- 设备上将Charles设置为代理服务器之后,Charles开始监听客户端或设备发出的任何请求。
- Charles捕获请求并将其转发到服务器
- 服务器向Charles返回一个响应
- 响应返回给客户端。
二、手机设置网络代理
首先,很重要的一点,手机与电脑需要处于同一个网络。
1、 查看电脑的IP地址(local IP address)
- macOS:可以在 “System Preferences > Network” 设置中,选择当前连接的网络,本地的IP地址就显示在右侧。
- Windows:点击状态栏的网络图标,可以看到 “网络和Internet设置” ,点击之后查看WLAN或以太网的属性。进入网络设置页面滑到底就可以看到本地IP地址。
2、设置手机网络代理
- 打开待抓包设备的网络设置,选择当前连接的网络,配置HTTP代理。
(1)iOS设备
- 打开网络设置->选择当前连接网络右侧按钮->
- 进入网络设置页面,滑动页面底部,点击配置代理->
- 代理改为手动,填写电脑的IP地址及Charles代理的端口(大部分是8888)->保存设置
(2)Android设备
(以荣耀手机为例,大部分安卓手机的设置位置也相同)
- 从设置页面打开“WLAN”设置->
- 长按当前连接网络->选择“修改网络”->
- 勾选“显示高级选择”,代理改为“手动”,填写电脑的IP地址及Charles代理的端口(大部分是8888)->保存设置
(3)Charles中允许设备连接代理
- 手机代理设置完成后,Charles开始捕获手机发出的请求
- 此时Charles会弹出允许连接的弹框
- 直接选择“Allow”即可
- 允许之后,就开始抓包了
三、手机安装证书
- 设置代理之后,仍然只能抓取HTTP的接口,HTTPS的接口会显示为“unknown”,并且错误原因也提示需要证书未信任或未安装。
- 所以,想要抓取HTTPS的接口需要安装证书。
(1)确保手机已经连上代理
(2)手机打开网页:“chls.pro/ssl”,点击下载证书
(3)安装证书
1.安卓
(以荣耀手机为例,大部分安卓手机的设置位置也相同)
- 从设置页面,进入WLAN设置
- 点击“更多WLAN设置”,进入设置页面
- 点击“安装证书”
- 选择刚刚从浏览器下载的证书,设置证书名称后,点击确定
- 这样证书就安装好了
2.iOS
(以iOS 15.5系统为例)
- 设置页面,选择“通用”
- 滑到页面最底部,选择“VPN与设备管理”
- 在“已下载的描述文件”当中就可以看到刚刚下载的证书,点击证书
- 选择“安装”,之后会需要输入设备密码,然后确认安装
(4)【仅iOS】信任证书
-
iOS比安卓多一个信任证书的步骤:
- 设置页面,选择“通用”,在通用页面,选择“关于手机”
- 滑到关于手机页面的最底部,选择“证书信任设置”
- “证书信任设置”页面,可以看到刚刚安装的证书,打开证书开关即可
-
到这里就完成了手机抓包的准备。
附录:零基础入门接口功能测试教程-目录
—————————————————————————————————
Charles的安装包已经上传到了本人运营的博客同名公众号【软件测试必备技能】。
公众也会不定期会上传测试相关资料,有需要可以前往领取。
有需要可点击文章下方二维码,前往领取~