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

安装

官网下载

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

使用介绍

Charles介绍

上面链接看一至三即可

初步代理配置

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

代理服务器IP

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

弹出弹框

手机端IP

具体步骤

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

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

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

这里port改为*

关于下载证书

为什么下载charles的ssl证书

会显示<unknown>

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

完美步骤

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

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

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

Charles会弹出弹框

最后在手机上进行点击,就可以在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这个网站电脑手机都打开不了

有效解决方案

前提:需要一个有root权限的手机(往system目录导入文件),手机可以直接刷root的包

下载证书或者导出证书

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

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

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

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

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

复制代码
openssl x509 -subject_hash_old -in <charles.pem的绝对路径>

注:若"提示'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,需要重新挂载系统)

检查手机中是否安装证书

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

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

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

charles模拟弱网环境

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

相关推荐
晨非辰10 小时前
#C语言——学习攻略:自定义类型路线--结构体--结构体类型,结构体变量的创建和初始化,结构体内存对齐,结构体传参,结构体实现位段
c语言·开发语言·经验分享·学习·其他·学习方法·visual studio
霖0014 小时前
高级项目——基于FPGA的串行FIR滤波器
人工智能·经验分享·matlab·fpga开发·信息与通信·信号处理
草莓熊Lotso1 天前
《吃透 C++ 类和对象(中):构造函数与析构函数的核心逻辑》
c++·经验分享·笔记·程序人生·其他
不大姐姐AI智能体1 天前
最新Coze(扣子)智能体工作流:用Coze实现「图片生成-视频制作」全自动化,3分钟批量产出爆款内容
运维·人工智能·经验分享·自动化·aigc·视频
源代码•宸1 天前
MySQL 索引:索引为什么使用 B+树?(详解B树、B+树)
数据结构·数据库·经验分享·b树·mysql·b+树·b-树
小强先森java2 天前
疯狂星期四文案网第37天运营日记
经验分享·新媒体运营·网站运营·疯狂星期四·疯狂星期四文案
再睡一夏就好2 天前
【排序算法】⑥快速排序:Hoare、挖坑法、前后指针法
c语言·数据结构·经验分享·学习·算法·排序算法·学习笔记
草莓熊Lotso2 天前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day2
c语言·经验分享·笔记·其他
草莓熊Lotso2 天前
《吃透 C++ 类和对象(上):封装、实例化与 this 指针详解》
开发语言·c++·经验分享·笔记·其他
我要学习别拦我~2 天前
读《精益数据分析》:UGC平台的数据指标梳理
大数据·经验分享·数据分析