御剑乘风来,除魔天地间,
有酒乐逍遥,无酒我亦颠。
一饮尽江河,再饮吞日月,
千杯醉不倒,唯我酒剑仙。
本文基于 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 抓包需要配置的步骤如下:
- 配置 Charles 的 HTTP 代理。打开 Charles --> Proxy --> Proxy Settings... --> 选择 Proxies --> 勾选 Enable transparent HTTP proxying,并输入 HTTP 代理端口号 Port ( 默认 8888 )。
- 用 Charles 查看 Local IP Address 。Help --> Local IP Address。
-
Android 设备配置 Charles 代理。利用 Charles 配置的 HTTP 代理端口号 Port 和查到的 Local IP Address,配置 Android 设备的 Charles 代理。此处非必要截图,所以呃...略。
-
对于没有 Allow 代理的设备,Charles 会弹出一个 Popup 让你 Allow 还是 Deny 某个设备的 Connection 。这个时候,你不允许也得老实的允许啊...这里的截图...略。
-
做完上述步骤,你就可以慢慢...慢慢的欣赏 Android 设备的 HTTP 的 request 和 response 了。如果你需要模拟 HTTP 的 request 和 response ,那就打断点调试呗,笑~
在开始配置 HTTPS 抓包之前,必须先说明白的是,如果 Charles 没有配置需要调试的域名 Host 以及端口号 Port、证书配置错误或者 Android 设备证书配置错误,那么在 HTTPS 抓包调试的时候 Charles 一般会报错,或者抓取的 request 和 response 是乱码。
下面就开始介绍配置 HTTPS 抓包的正确姿势:
- 配置 HTTPS 代理、需要调试的域名 Host 以及端口号 Port。打开 Charles --> Proxy --> SSL Proxy Settings... --> 选择 SSL Proxying --> 勾选 Enable SSL Proxying --> 点击 Add --> 输入要抓取的 HTTPS 域名 Host ( https://*** ) 和端口号 Port ( 443 )。
- 安装 Charles 证书 Certificate。Help --> SSL Proxy --> Install Charles Root Certificate --> 选择 General --> Install Certificate... --> Next --> Next --> Finish。
- 导出 Charles 证书。Help --> SSL Proxy --> Export Charles Root Certificate and Private Key... --> 输入证书密码 Private Key ( ****** ) --> 选择计算机上的路径,输入证书名称(任意名称),点击 Save。最后导出的证书文件名为 *.p12。
- Android设备导入 Charles 证书并查看受信任的 CA 证书。
导入 Charles 证书。将步骤 3 导出的 Charles 证书 *.p12 复制到 Android 设备的 SD 卡根目录。打开 设置 --> 安全 --> 从 SD 卡安装证书 --> 选择 Charles 证书 *.p12 -->输入证书密码 Private Key ( ****** ) 。
查看受信任的 CA 证书。打开 设置 --> 安全 --> 显示受信任的 CA 证书 --> 用户。
用户Tips:导入证书到 Android 设备的过程中可能需要设置指纹、手势或者密码等。这里要说明一下,如果在导入过程中设置了手势密码之后,要怎样才能改成无密码,因为如果这个 Android 设备不是你的,你要还给公司或者其他人,而你给 TA 设置了锁屏密码,万一还了之后你忘记了呢是吧。 ( 这个过程是要删除 Charles 证书的,还要测试 HTTPS 的同学可以忽略下面这些操作 )。打开 设置 --> 安全 --> 删除所有证书,回到 设置 --> 锁屏和密码 --> 锁屏密码 --> 输入锁屏密码 --> 点击 无密码。然后你就可以把 Android 设备交还给公司或者其他人了。
安全 删除所有证书 安全 锁屏和密码 确认您的图案 锁屏密码 锁屏和密码- 调试 HTTPS。完结撒花...
网友评论