IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)

安装

官网下载

https://www.charlesproxy.com/latest-release/download.do

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第1张图片

安装charles文档 流程

上述链接解决下图问题

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第2张图片

  

使用介绍

Charles介绍

上述链接看一至三即可,了解首页各个按钮的作用

charles全面使用教程及常见功能详解(较详细)

上述链接解释界面名词等等

手把手教你Charles抓包工具使用

上述链接介绍弱网测试,包括修改请求、重复发送请求,压力测试等功能

  

初步代理配置

如何获取代理服务器IP和手机端IP

代理服务器IP

点击help,选中ssl 代理,点击在移动设备或远程浏览器上安装Charles root 证书

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第3张图片

弹出弹框

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第4张图片

手机端IP

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第5张图片

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第6张图片

具体步骤

下载好charles后,接下来步骤点击下面这个链接,跟着“3.Charles代理”至“4.1 Web 抓取HTTPS协议”的步骤走,其中3.2步骤Access Control Settings添加手机端IP

Charles安装,配置以及使用教程,适合小白

注意在4.1(2)步,的时候

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第7张图片

这里port改为*

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第8张图片

  

关于下载证书

为什么下载charles的ssl证书

会显示

默认情况下,charles不能解析https协议的接口,里面的请求和响应数据都是乱码格式,所以我们需要下载ssl证书,来获取里面的数据

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第9张图片

完美步骤

打开手机,找到设置,连接同一局域下的网络,找到代理,选择手动,输入主机名和端口号,保存

手机浏览器访问网页,输入chls.pro/ssl,出现证书安装页面,点击下载

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第10张图片

下载完成后找到设置在安装证书里面进行证书的安

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第11张图片

Charles会弹出弹框

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第12张图片

最后在手机上进行点击,就可以在Charles进行抓包

主要问题:手机端http://chls.pro/ssl无法点开

常见无效解决方案

尝试一:

安卓手机chls.pro/ssl无法下载(使用charles)

这个解决方案就是让你检查网络,或者重做上面的步骤,尤其是Proxy--Access Control Settings中添加:0.0.0.0/0然后重启手机,很多文章都这么指导,但并不能解决问题

尝试二:

ios 配置了代理且使用 chls.pro/ssl 下载不了证书,无法弹出下载证书的提示

这个解决方案就是让你换个下载证书的网站,证书网址:https://www.charlesproxy.com/assets/legacy-ssl/charles.crt

但是下载的证书安装后没有用,因为证书是跟设备对应的,一台设备对应一个

尝试三:

charles问题,chls.pro/ssl 证书无法在小米手机下载 ?(最详细的解决方案,其他手机也可以适用)

这个解决方案有点意思,但是还是没用。它是让你在电脑上打开http://chls.pro/ssl下载.pem文件,把.pem改成.ctr文件,修改后缀名传到手机上(用数据线连接手机,右键该文件,选择“发送到”;手机这边:设置,搜索“证书”,点击CA证书,点击左栏xiaomi 12,找到crt证书),但是chls.pro/ssl这个网站电脑手机都打开不了

IOS有效解决方案

iOS手机无法安装Charles的ssl证书(问题汇总)

安卓有效解决方案

前提:需要一个有root权限的手机(往system目录导入文件),手机可以直接刷root的包。反正就是连接电脑后,在cmd中输入adb devices,能看到对应设备

下载证书或者导出证书

在全英文路径中,新建一个名叫charles的文件夹

打开charles->Help->SSL Proxying->Save Charles Root Certificate...,将证书保存成pem的格式

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第13张图片

选择刚刚创建的charles文件夹,然后同路径下会出现一个charles.pem

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第14张图片

计算证书hash值并修改证书名称

使用下面的指令获取证书文件的hash值,图中0fd5834就是计算出来的hash值,将charels.pem修改成"hash值.0",如0fd5834.0

openssl x509 -subject_hash_old -in 

注:若“提示'openssl' 不是内部或外部命令,也不是可运行的程序”,需先安装openSSL,配置环境变量

openSSL下载地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

配置完后需要重启电脑

将证书导入/system/etc/security/cacerts/

因为导入system目录,需要remount一下。

adb root

adb remount

adb push C:\Users\xiaomi\Downloads\charles.pem /system/etc/security/cacerts/

导入后可以在cacerts目录下找到刚刚导入的文件

注:若提示“只有阅读权限(类似描述)”,则进行以下操作:

1、cmd输入cd

2、cmd 输入adb shell,然后输入su

3、cmd 输入 cd /system/etc/security, 然后输入ls -l, 可以看到cacerts目录只有读与执行权限,并没有写入的权限

4、cmd输入chmod 777 cacerts,要求加入写权限

(若被提示Read-only file system,需要重新挂载系统)

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第15张图片

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第16张图片

检查手机中是否安装证书

在输入adb shell->su指令之后,cd /system/etc/security/cacerts,然后输入ls查看手机当前证书

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第17张图片

也可以在手机“设置-安全-更多安全设置-更多安全设置-加密与凭据-信任的凭据-系统”,看看最后面是有有了新添加的证书,但是这个难翻到

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)_第18张图片

备注:如果文件push不进去,可以拷贝到手机里,给文件添加一下权限(chmod 777 0fd58c34.0),然后再mv

  

charles模拟弱网环境

https://www.cnblogs.com/lixuefang69/p/14210647.html

你可能感兴趣的:(测试开发,经验分享)