Charles(4.2.7)

525 阅读3分钟

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

主要的功能包括:

  1. 截取 Http  网络封包。
  2. 截取 Https 网络封包。
  3. 重发网络请求,及压力测试。
  4. 修改网络请求/响应报文。
  5. 支持模拟慢速网络。

1.http抓包

1.1 将 Charles 设置成系统代理

选择菜单中的 “Proxy” –> “macOS Proxy”

Proxy.png

1.2 Charles 设置代理端口

选择菜单中的 “Proxy” –> “Proxy Settings”

Proxy Settings.png

1.3 获取 Charles 运行所在电脑的 IP 地址

选择菜单的 “Help”–>“Local IP Address”

Local IP Addresses.png

1.4设置手机HTTP代理

保证手机/Charles处于同于WIFI环境下,

在 iPhone 的 “ 设置 ”–>“ 无线局域网 ” 中,

当前连接的 wifi 名,通过点击右边的详情键,手动配置http代理,并保存设置

服务器:上边获取的ip地址

端口:8888

711.png

1.5Charles允许设备接入

设置好代理,打开iphone上的任意需要网络通讯的程序,就能看到Charles弹出请求连接的,点击“Allow”,

此时手机中的http请求在Charles中,就可以正常抓包;

comectlon atterres to Charles has bsen made from the Most 10.1,1.178 You should owly alow access.png

2.https抓包

在http抓包的基础上,Mac/iPhone都需要安装证书

2.1 Mac安装 Charles 的 CA 证书

2.1.1安装证书

选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”

Reoiered to chartes.png

2.1.2信任证书

钥匙串中双击Charles Proxy CA,选择“始终信任”,关闭证书;

e.png

2.2 iPhone安装 Charles 的 CA 证书

选择菜单 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate on a Mobile Device or Remote Browser”

Confgure your Gevice 1o use Charles as ita MTTP prory on 10.11.1300000 then browse No chils.profasl.png

2.2.1下载证书

使用手机浏览器访问chls.pro/ssl 下载CA 证书

此时需确保设备已经使用Charles作为代理,否则没有下载提示

1055.jpg

2.2.2安装证书

在 iPhone 的 “ 设置 ”–>“通用”–>“描述文件” 中,点击Charles Proxy CA 安装,通过后证书显示“已验证”

取消.jpg

2.2.3信任证书

对于iOS 11以后还需要根证书信任

在 iPhone 的 “ 设置 ”–>“通用”–>“关于本机”–>“证书信任设置” 中,对Charles Proxy CA启动完全信任

关于本机.jpg

2.3 Charles 设置https代理端口

选择菜单中的 “Proxy” –> “SSL Proxy Settings”

SSL Proxying Settings.png 此时就可以尝试https的抓包

Pasted Graphic 10.png 需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

3.请求重发,及压力测试

右键选择网络请求->“Repeat”

Structure.png 压力测试->“Repeat Advanced”,在弹窗中选择重发次数及并发线程数。

Advanced Repeat.png

4.修改网络请求/响应报文

右键选择网络请求->“Breakpoint”,当触发该请求时,

4.1修改请求报文

Breakpoints.png

4.2修改响应报文

Breakpoints-1.png

5.模拟慢速网络

在 Charles 的菜单上,选择 “Proxy”–>“Throttle Setting”,勾选“Enable Throttling”

Throttle Settings.png