Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求

御剑乘风来,除魔天地间,
有酒乐逍遥,无酒我亦颠。
一饮尽江河,再饮吞日月,
千杯醉不倒,唯我酒剑仙。

本文基于 Charles 4.1.4

Android 设备:HUAWEI PLE-703L ( Android 5.1.1 )

对于 Android 7.x 以上的设备,请参照
https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
https://developer.android.google.cn/training/articles/security-config.html

本文主要讲解如何配置,至于抓包乃是基本操作,所以懒得写。

废话不多说,直接开始。HTTP 抓包需要配置的步骤如下:

  1. 配置 Charles 的 HTTP 代理。打开 Charles --> Proxy --> Proxy Settings... --> 选择 Proxies --> 勾选 Enable transparent HTTP proxying,并输入 HTTP 代理端口号 Port ( 默认 8888 )
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第1张图片
Proxy Settings...
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第2张图片
Enable transparent HTTP proxying
  1. 用 Charles 查看 Local IP AddressHelp --> Local IP Address
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第3张图片
Local IP Address
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第4张图片
Local IP Addresses
  1. Android 设备配置 Charles 代理。利用 Charles 配置的 HTTP 代理端口号 Port 和查到的 Local IP Address,配置 Android 设备的 Charles 代理。此处非必要截图,所以呃...略。

  2. 对于没有 Allow 代理的设备,Charles 会弹出一个 Popup 让你 Allow 还是 Deny 某个设备的 Connection 。这个时候,你不允许也得老实的允许啊...这里的截图...略。

  3. 做完上述步骤,你就可以慢慢...慢慢的欣赏 Android 设备的 HTTP 的 requestresponse 了。如果你需要模拟 HTTP 的 requestresponse ,那就打断点调试呗,笑~

在开始配置 HTTPS 抓包之前,必须先说明白的是,如果 Charles 没有配置需要调试的域名 Host 以及端口号 Port、证书配置错误或者 Android 设备证书配置错误,那么在 HTTPS 抓包调试的时候 Charles 一般会报错,或者抓取的 request 和 response 是乱码。

下面就开始介绍配置 HTTPS 抓包的正确姿势:

  1. 配置 HTTPS 代理、需要调试的域名 Host 以及端口号 Port。打开 Charles --> Proxy --> SSL Proxy Settings... --> 选择 SSL Proxying --> 勾选 Enable SSL Proxying --> 点击 Add --> 输入要抓取的 HTTPS 域名 Host ( https://*** ) 和端口号 Port ( 443 )
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第5张图片
SSL Proxy Settings...
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第6张图片
Add Location
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第7张图片
Edit Location
  1. 安装 Charles 证书 CertificateHelp --> SSL Proxy --> Install Charles Root Certificate --> 选择 General --> Install Certificate... --> Next --> Next --> Finish
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第8张图片
Install Charles Root Certificate
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第9张图片
Certificate
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第10张图片
Certificate Import Wizard
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第11张图片
Certificate Import Wizard
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第12张图片
Certificate Import Wizard
  1. 导出 Charles 证书。Help --> SSL Proxy --> Export Charles Root Certificate and Private Key... --> 输入证书密码 Private Key ( ****** ) --> 选择计算机上的路径,输入证书名称(任意名称),点击 Save。最后导出的证书文件名为 *.p12
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第13张图片
Export Charles Root Certificate and Private Key
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第14张图片
Export Certificate Key
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第15张图片
Save
  1. Android设备导入 Charles 证书并查看受信任的 CA 证书。
    导入 Charles 证书。将步骤 3 导出的 Charles 证书 *.p12 复制到 Android 设备的 SD 卡根目录。打开 设置 --> 安全 --> 从 SD 卡安装证书 --> 选择 Charles 证书 *.p12 -->输入证书密码 Private Key ( ****** )
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第16张图片
设置
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第17张图片
安全
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第18张图片
内部存储空间
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第19张图片
提取证书

查看受信任的 CA 证书。打开 设置 --> 安全 --> 显示受信任的 CA 证书 --> 用户

Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第20张图片
用户

Tips:导入证书到 Android 设备的过程中可能需要设置指纹、手势或者密码等。这里要说明一下,如果在导入过程中设置了手势密码之后,要怎样才能改成无密码,因为如果这个 Android 设备不是你的,你要还给公司或者其他人,而你给 TA 设置了锁屏密码,万一还了之后你忘记了呢是吧。 ( 这个过程是要删除 Charles 证书的,还要测试 HTTPS 的同学可以忽略下面这些操作 )。打开 设置 --> 安全 --> 删除所有证书,回到 设置 --> 锁屏和密码 --> 锁屏密码 --> 输入锁屏密码 --> 点击 无密码。然后你就可以把 Android 设备交还给公司或者其他人了。

Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第21张图片
安全
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第22张图片
删除所有证书
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第23张图片
安全
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第24张图片
锁屏和密码
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第25张图片
确认您的图案
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第26张图片
锁屏密码
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第27张图片
锁屏和密码
  1. 调试 HTTPS。完结撒花...
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第28张图片
HTTPS request & response
Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求_第29张图片
HTTPS request & response

你可能感兴趣的:(Windows 下 Charles 如何配置抓取 Android 设备的 HTTP 和 HTTPS 请求)