200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)

charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)

时间:2021-09-04 03:28:42

相关推荐

charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)

源自公众号文章:彻底解决Charles手机抓包的证书问题

简介: Charles 抓包是日常开发当中经常会用到的技术, 在 Android 6 之前, 手机系统既信任系统内置的证书, 也信任用户自己安装的证书, 但是在 Android 7 之后, 却发生了变化, 手机系统只信任系统内置的根证书. 当然了, 这是为了手机系统更安全. 但是这样以来, 原来抓包的方法就失效了. 本文主要全面讲解 IOS 和 Android 系统如何去配置根证书. 彻底解决抓包所遇到的最头疼的问题.

Charles 抓包前的准备工作

下载charles, 官网的地址: 配置要抓包的主机和端口,Proxy > SSL Proxying Settings > SSL Proxying, 启用Enable SSL Proxying, 同时在Include当中添加 Location, 如下图所示(这是个通配符配置, 一般状况下, 这个这个已经能够满足绝大数抓包的需求了).配置代理服务器的端口,Proxy > Proxying Settings, 设置端口(我喜欢使用8888, 当然了, 各位自己按照喜好设置):
一般情况下, 上述配置已经满足了大部分抓包的需求, 当然还需要更详细的内容, 请参考其他教程内容.

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

下载应用VMOS, 官网地址是: .
注: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 是拷贝的证书文件

上面输出的结果类似于:

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 shellcd /system/etc/security/cacerts/chmod 644 faf57fe3.0

192.168.50.100:5666VMOS虚拟机的 adb 连接. 在进入VMOSapp后, 进入设置 > 其他设置当中, 按照下图所示进行设置, 然后重启VMOSapp 即可生效:

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证书.

各位看官, 本篇文章怎么样? 如果喜欢了, 就请点个赞吧, 关注一下, 再次感谢您的观看 !

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。