使用Charles抓包

189 阅读2分钟

1、参考文章

Charles 从入门到精通

2、相关介绍

2.1 简介

  • Charles是在Mac下常用的网络封包(网络通信中按协议封装传输的数据单元)截取工具,在做移动开发时,为了调试与服务器的网络通信协议,常常需要截取网络封包来分析。
  • Charles通过将自己设置成系统的网络访问代理服务器,将所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

2.2 下载

打开charles中文网 : www.charles.xin/ 下载需要的安装包 image.png

3、使用教程

3.1 Charles的主要功能包括:

  • (1)截取http和https网络封包。
  • (2)支持重发网络请求,方便后端调试。
  • (3)支持修改网络请求参数。
  • (4)支持网络请求的截获并动态修改。
  • (5)支持模拟慢速网络。

3.2 将Charles设置成系统代理

选择菜单中的“proxy-->Windows Proxy”将Charles设置成系统代理。 image.png

3.3 Charles主界面介绍

Charles有两种查看封包的视图,分别是:“Structure”和“Sequence”.

  • (1) Structure 视图 将网络请求按照访问的域名分类。
  • (2) Sequence 视图 将网络请求按照访问的时间排序。

image.png

请求多了有时候会看不过来,可以通过Filter,输入关键字快速筛选出URL中带指定关键字的网络请求。

3.4 Charles过滤网络请求

4、Charles手机抓包

4.1 确保手机和电脑在同一WiFi网络

image.png

f9074c08a7a5f5d58ea96e7563e148ef.png

在手机上配置代理,使其流量经过Charles:

  • iOS设备:设置 -> 无线局域网 -> 当前Wi-Fi -> 配置代理 -> 手动
  • Android设备:Wi-Fi设置 -> 修改网络 -> 高级选项 -> 手动代理

image.png

4.2 手机端证书安装

手机浏览器访问 chls.pro/ssl下载并安装证书

iOS设备还需要在"设置 → 通用 → 关于本机 → 证书信任设置"中启用Charles证书信任

image.png

4.3 安装证书到本机(电脑设备证书安装)

image.png 46a9f4730e8b35a3c953893487044535.png a3b57c60cdc7868afa8a469aa0ca0548.png 3adde95edca03c4157309f652f269bc7.jpg be9dd5e8f5c51d54d7471494be5b85c6.png 528d4c986aab2cdab68ea13d29098a54.png

4.4 配置代理

在菜单中选择"Proxy" -> "Proxy Settings",设置代理端口号(默认8888)。确保勾选"Enable transparent HTTP proxying"和"Enable SSL Proxying"选项。

afb23ec02722655af3d04833a8b8366d.png ddf19009c6180ab62375ff3bc6d12686.png

Charles显示"Encrypted"是因为HTTPS请求内容被加密,Charles无法解密。

e9b35980f48d5be8db2789f21c7050da.png

配置SSl代理

59c0fb3aeebda9a788354bbdd829d54b.png

配置完SSL代理后,抓包内容就是解密后可见的了。

1bfaa86cbd3c098b5a5a8059333fbbee.png

4.5 手机访问页面在PC端查看抓包情况

0d00f65514c8e95c217947971288bf44.png