为Android手机配置Charles代理

469 阅读1分钟

配置Charles

  1. Charles官网下载软件
  2. Charles配置Http代理端口为 8888 (Proxy-->Charles Setting)
  3. Charles启用SSL Proxying(Proxy-->Charles Setting) ,增加过滤通配符

配置手机代理到电脑

确保手机和电脑是同一个WIFI

  1. 点击当前链接WIFI,进入配置页面,
  2. 设置代理为手动,指向电脑IP,并配置端口为8888
  1. 随便打开一个浏览器,输入chls.pro/ssl 下载证书
  2. 保存好的证书(.pem)文件存储到SD卡中
  3. 安装证书,小米手机举例(设置-更多设置-系统安全-加密与凭据-从SD卡添加)
  4. 安装好证书以后,就可以在手机浏览器里面测试一个网站了

Android 7.0

To provide a more consistent and more security experience accross the Android ecosystem,beginning with Android Nougat, compatible devices trust only the standardized system CAs maintained in AOSP.

对于7.0以上的手机来说,Android 系统只会信任AOSP中维护的标准化系统CA。即使你在手机上安装了抓包工具的证书也无法抓取 https 请求,但是我们自己的开发App,是可以通过配置文件,改变当前App策略。

  1. 在工程 res\xml 目录中创建一个名为 network_security_config.xml 的文件,文件内容
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
   <debug-overrides>
       <trust-anchors>
           <!-- Trust user added CAs while debuggable only -->
           <certificates src="user" />
       </trust-anchors>
   </debug-overrides>
</network-security-config>
  1. 在 AndroidManifest 里的标签中,添加如下代码:
android:networkSecurityConfig="@xml/network_security_config"