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 )
Proxy Settings...
Enable transparent HTTP proxying
  1. 用 Charles 查看 Local IP AddressHelp --> Local IP Address
Local IP Address
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 )
SSL Proxy Settings...
Add Location
Edit Location
  1. 安装 Charles 证书 CertificateHelp --> SSL Proxy --> Install Charles Root Certificate --> 选择 General --> Install Certificate... --> Next --> Next --> Finish
Install Charles Root Certificate
Certificate
Certificate Import Wizard
Certificate Import Wizard
Certificate Import Wizard
  1. 导出 Charles 证书。Help --> SSL Proxy --> Export Charles Root Certificate and Private Key... --> 输入证书密码 Private Key ( ****** ) --> 选择计算机上的路径,输入证书名称(任意名称),点击 Save。最后导出的证书文件名为 *.p12
Export Charles Root Certificate and Private Key
Export Certificate Key
Save
  1. Android设备导入 Charles 证书并查看受信任的 CA 证书。
    导入 Charles 证书。将步骤 3 导出的 Charles 证书 *.p12 复制到 Android 设备的 SD 卡根目录。打开 设置 --> 安全 --> 从 SD 卡安装证书 --> 选择 Charles 证书 *.p12 -->输入证书密码 Private Key ( ****** )
设置
安全
内部存储空间
提取证书

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

用户

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

安全
删除所有证书
安全
锁屏和密码
确认您的图案
锁屏密码
锁屏和密码
  1. 调试 HTTPS。完结撒花...
HTTPS request & response
HTTPS request & response
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,333评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,937评论 18 139
  • 1.OkHttp源码解析(一):OKHttp初阶2 OkHttp源码解析(二):OkHttp连接的"前戏"——HT...
    隔壁老李头阅读 21,022评论 24 176
  • 如果我的右手也被寄生兽寄生,我会好开心,因为这会带来不少生活的乐趣,我也必须开始学会隐藏,变得沉默寡言,守护着我爱...
    吴王思贤阅读 138评论 0 0
  • 昨天见了一位认识多年的老友,我们属于不常联系的那种,但是一见面便是有说有笑,有共同的爱好,也喜欢探讨一些不着边际的...
    女公子99阅读 463评论 1 2