ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

最全面的解决Charles手机抓包的证书问题

2021-05-15 16:29:52  阅读:657  来源: 互联网

标签:Charles ssl 证书 charles VMOS adb 抓包


Charles 抓包前的准备工作

  1. 下载 charles, 官网的地址: https://www.charlesproxy.com
  2. 配置要抓包的主机和端口, Proxy > SSL Proxying Settings > SSL Proxying, 启用 Enable SSL Proxying, 同时在 Include 当中添加 Location, 如下图所示(这是个通配符配置, 一般状况下, 这个这个已经能够满足绝大数抓包的需求了).

  1. 配置代理服务器的端口, Proxy > Proxying Settings, 设置端口(我喜欢使用8888, 当然了, 各位自己按照喜好设置):

 

一般情况下, 上述配置已经满足了大部分抓包的需求, 当然还需要更详细的内容, 请参考其他教程内容.

Charles 在 Android 7.0(及其以上的版本) 上安装证书方法

  1. 下载应用 VMOS, 官网地址是: http://www.vmos.cn.
注:  VMOS 应用就是一台 Android 虚拟机, 目前好像只支持 32 位系统, 大部分应用都可以使用, 如果有的应用明确需要 64位系统, 可以使用  VMOS Pro, 当然了这个 root 功能是收费的了.


2. 导出 Charles 的证书, 这个证书是抓包的时候安装在手机上的证书. 方法有两种:

方法一:

  • 在 Android 手机上配置代理, 主机是你安装 Charles 的主机的 IP (注意: Android 手机需要和安装的Charles的电脑在同一网段下), 端口号是 8888. (这个可以自行百度各种手机的配置方法.)
  • 在 Android 手机的浏览器上输入网址chls.pro/ssl, 然后下载文件.
  • 将下载好的文件拷贝到电脑上, 进行如下的操作:
openssl x509 -subject_hash_old -in charles-proxy-ssl-proxying-certificate.crt
charles-proxy-ssl-proxying-certificate.crt 是拷贝的证书文件

上面输出的结果类似于:

《2021测试开发各大机构最新全套教程》:https://pan.baidu.com/s/17jkyGn-Wm-zC6QQLkWjrsw 
  提取码:o94n 

faf57fe3
-----BEGIN CERTIFICATE-----
MIIFMDCCBBigAwIBAgIGAXWqowQPMA0GCSqGSIb3DQEBCwUAMIGbMSwwKgYDVQQD
....
aXDrm30UE6+dWdQ3n0ePVLNcHV+ZrIqwka94M/t8HavZpm4y
-----END CERTIFICATE-----

然后将 charles-proxy-ssl-proxying-certificate.crt 文件重命名为 faf57fe3.0 (faf57fe3需要根据你自己生成 的结果进行调整)

方法二:

  • Charles 进入 Help > SSL Proxying > Save Charles Root Certificate, 导出 pem 格式证书.
  • 然后进行如下的操作:
openssl x509 -subject_hash_old -in charles-proxy-ssl-proxying-certificate.pem
charles-proxy-ssl-proxying-certificate.pem 是导出的证书文件

上面输出的结果类似于:

faf57fe3
-----BEGIN CERTIFICATE-----
MIIFMDCCBBigAwIBAgIGAXWqowQPMA0GCSqGSIb3DQEBCwUAMIGbMSwwKgYDVQQD
....
aXDrm30UE6+dWdQ3n0ePVLNcHV+ZrIqwka94M/t8HavZpm4y
-----END CERTIFICATE-----

然后将 charles-proxy-ssl-proxying-certificate.pem 文件重命名为 faf57fe3.0(faf57fe3需要根据你自己生成 的结果进行调整)

3. 拷贝文件, 将生成好的证书文件拷贝到 /system/etc/security/cacerts/ 目录下, 并且修改文件权限:

# adb 连接到 vmos 虚拟机
adb connect 192.168.50.100:5666
 
# 拷贝文件
adb push faf57fe3.0 /system/etc/security/cacerts/

# 修改文件权限
adb shell
cd /system/etc/security/cacerts/
chmod 644 faf57fe3.0
192.168.50.100:5666 是  VMOS 虚拟机的 adb 连接. 在进入  VMOS app后, 进入  设置 > 其他设置 当中, 按照下图所示进行设置, 然后重启  VMOS app 即可生效:

 

4. 设置全局代理. 到此为止, 你已经成功了一半, 接下来就需要设置 VMOS 的全局代理地址为当前的 Charles 的代理服务器的地址. 设置操作如下:

adb connect 192.168.50.182:5666 # adb 连接到 vmos 虚拟机(如果之前已经连接过可以省略)

adb shell settings put global http_proxy 192.168.50.14:8888 # 设置 vmos 的全局代理
192.168.50.14:8888 是我的 Charles 的主机IP地址, 这个需要根据自己的情况修改. 这一步很重要的, 如果没有这一步操作, 前面的准备工作都白搭了!


5. 到处为止, 大家就可以愉快的抓包了. 要么去 VMOS 的应用商店下载应用, 要么自己把应用传递到 VMOS 当中. 这个大家自己去探索吧, 是非常简单的操作.


charles 在 iphone 上安装证书方法

  • Charles 当中点击 Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser

 

  • 点击 iPhone 手机的 Safari 或者 Safari浏览器, 输入网址 http://chls.pro/ssl, 点击下载 charles 的证书.
  • 进入 iPhone 手机的 Settings > General > Profile(s) 或者 设置 > 通用 > 描述文件:

 

  • 点击 Install 或者 安装, 安装 chls 证书.

 

  • 进入 iPhone 手机的 Settings > General > About > Certificate Trust Settings 或者 设置 > 通用 > 关于本机 > 证书信任设置, 启用已经安装好的 Charles Proxy CA 证书.

标签:Charles,ssl,证书,charles,VMOS,adb,抓包
来源: https://blog.csdn.net/weixin_57724816/article/details/116853803

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有