以下教程可能耗费你数小时时间,请注意时间。

目标:抓取HTTPS的包

如果你的手机是在Android 7.0+及其以上,想要抓取HTTPS的请求,必须要将证书(*.pem)用系统用户的权限安装,即把这个证书,要放到Android系统的加密与凭据->信任的CA证书。

以下这个是我们要完成的最终目标——把Charles的证书放到系统文件下。

前置工作:

1.准备一台已经有ROOT权限的小米手机。(具体步骤就是先去解锁,然后刷开发版的包,然后在安全中心中开启ROOT,开启USB调试)【重要】http://www.miui.com/unlock/index.html,按照步骤即可解锁。

2.电脑安装了Charles (https://www.charlesproxy.com/assets/release/4.5.6/charles-proxy-4.5.6-win64.msi
)。

然后,紧接着,把这个证书保存到桌面,命名为Charles.pem,我建议是放到和后面用到的安卓adb工具一个路径。

3.安装adb(platform-tools)。

打开https://developer.android.google.cn/studio/releases/platform-tools 下载平台工具,你是哪种操作系统就下哪个,我这里是Windows。然后在桌面解压

4.安装openssl以及配置环境变量

这里仅展示Windows。下载地址http://slproweb.com/products/Win32OpenSSL.html

选择64位。迅雷可以尝试这个地址: https://slproweb.com/download/Win64OpenSSL-1_1_1g.exe

安装完毕后。配置环境变量,将 openssl的bin目录放到Path环境变量,我的是这个路径 C:\Program Files\OpenSSL-Win64\bin

完成这些准备工作后,就和很多的教程一样了。

1.把前面桌面的那个证书charles.pem复制到桌面的文件夹内如图

2.紧接着, 使用快捷键将CMD控制台唤出(Shift + 鼠标右键)

3.此时,插入手机,并且确保USB调试已经打开。

4.在命令行中键入命令

adb devices

可以看到已经检测到手机

5.然后,依次执行下面命令,#后面是注释,关注adb开头即可。

# 以 root 权限执行

adb root

# 解决目录 read only 关键命令行

adb disable-verity

# 重启  (手机如果没有自动重启,可以手动重启)

adb reboot

# 以 root 权限运行

adb root

# 重新挂载

adb remount

# 设置读写

adb shell mount -o rw,remount /system

这个网上的一般教程,但是我在这块执行到最后一个命令adb shell mount -o rw,remount /system的时候出现的问题。

这里爆出了一个错。后来查阅后,其实在上一个重新挂载的命令就已经可以有写权限了,因为默认是只读权限。所以这个问题我们根本不用理会!

mount: '/system' not in /proc/mounts

6.权限完成后,要准备使用openssl命令了。这里确保前面的openssl的环境变量安装成功,要不然会告诉你openssl命令不存在。

#计算hash,后面会用到,红框中的字符串就是

openssl x509 -subject_hash_old -in charles.pem

7.修改这个charles.pem文件的名称为 hash值.0 。我这里的hash是bdb7xxx,那么原来的charles.pem文件就改为bdb7xxx.0。

如图

8.最后一步,.把凭据复制到系统凭据目录下

# 安装命令

adb push bdb7xxx.0 /system/etc/security/cacerts

以下如果提示你file pushed不用看。

出现什么权限不足,空间不足的可以看看。

如果出现 remote write failed: No space left on device,说明空间可能不够了。具体方法在下面链接,把系统自带的一个Apk删除,留出空域的空间,即可完成复制。

https://blog.csdn.net/zxb394874928/article/details/52702383

然后

# 重启  (手机如果没有自动重启,可以手动重启)

adb reboot

# 以 root 权限运行

adb root

# 重新挂载

adb remount

# 安装命令

adb push bdb7xxx.0 /system/etc/security/cacerts

完成。最后在回到第一步进入,设置->密码隐私与安全->系统安全->加密与凭据-》信任的凭据,系统栏就可以看到了。

这里是小米的一个https的一个请求,可以明显看到参数已经抓到,再也不是「」了

参考:

https://segmentfault.com/a/1190000011573699

https://www.cnblogs.com/Entr0py/p/9675061.html

https://blog.csdn.net/u013412772/article/details/103251506

【教程】小米手机Android 7.0+抓取HTTPS请求安装Charles证书主要流程相关推荐

  1. android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...

    一.HTTP协议和HTTPS协议. (1) HTTPS协议=HTTP协议+SSL协议,默认端口:443 (2) HTTP协议(HyperText Transfer Protocol):超文本传输协议. ...

  2. Charles+安卓模拟器 抓取https请求

    1.抓取https请求 如果模拟器不安装证书的话,我们可以抓取移动端的http请求了,但是https请求,会出现Unknown,下面是解决办法. 这里使用的是夜神模拟器(建议使用Android 5), ...

  3. 使用Charles抓取https请求

    总结下使用Charles进行简单接口压力测试以及修改接口请求,Charles是一款非常好用的抓包工具,通常使用它来进行APP开发抓包调试,尤其是HTTPS请求. 一.安装Charles 去官网(htt ...

  4. Charles安装后无法抓取https请求,显示 unknow

    问题描述 安装Charles后,双击打开,尝试抓取https请求,但抓取到的请求显示unknow,如下图: 问题原因 出现此问题的原因为Charles配置问题 解决办法 一. 安装证书 步骤: 1.点 ...

  5. 在Mac下使用Charles抓取Android 7.0以上的Https请求

    文章目录 一.Charles 设置 1. 第一步 2. 第二步 3. 第三步 3. 第四步开启SSL代理功能 二.手机安装证书 三.APP 网络安全配置 四.另一种抓包方式   因为开发需求,需要抓取 ...

  6. fiddler抓包教程,如何抓取HTTPS请求,详细教程

    一.Fiddler是什么? Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle ...

  7. 使用Charles为Android设备抓取https请求的包

    之前开发的Android APP使用的都是http请求,之后改成了https,就出现了以下情况,无法正常读取抓取的内容 找了好多资料说法大概差不多,照着弄,结果出现如下情况,后来发现这种情况其实是手机 ...

  8. charlesfiddler安卓手机安装系统级ca证书抓取https请求信息

    文章目录 问题描述 问题分析 解决问题思路 开始 1.从charles端导出ca证书 2.windows系统安装openssl 3.使用openssl工具计算hash值 总结 问题描述 使用charl ...

  9. Fiddler 如何抓取手机app包以及抓取https 响应

    Fiddler安装 此处略.我们需要安装Fiddler软件,版本需要在4.0以上,尽量越高越好. 普通https抓包设置 打开Fiddler ------> Options .然后打开的对话框中 ...

最新文章

  1. lua学习笔试之迭代器和通用for
  2. python封装类在当前文件中使用_name_下调用不了_学python中对于类怎么也不明白,对了是看到简明教程11章,类与变量的对象....想要通俗易懂的答案....
  3. 【2019暑假刷题笔记-STL绪论(二)】总结自《算法笔记》
  4. VC控制台输出时设置字体及背景颜色
  5. 安卓9.0添加服务修改SELinux
  6. 航行金税盘_通过陌生事物的情感进行统计好奇心航行
  7. 使用什么优化器_新的深度学习优化器Ranger:RAdam + LookAhead强强结合
  8. 62. Using Default Magento Cache
  9. VSCode:vs code不识别wxss小程序相关文件
  10. 智能云网IT架构解析
  11. php 三个点的用法 function fun (...$arr){}
  12. iOS中获取WiFi的SSID(CNCopySupportedInterfaces())
  13. 普通人如何使用ChatGPT接单挣钱-第一弹
  14. 【前端面试题】前端基础 | 八股文 | HTTP网络 | Vue | React
  15. 基于STM32的高精度温度测控系统-原理图设计
  16. H3C交换机查询光功率
  17. C++中的string用法
  18. 用Koomail保障重要邮件不丢失
  19. 工业DLP投影仪在结构光3DScan应用中有什么优势?
  20. 商密算法SM2、SM3、SM4的用途和原理

热门文章

  1. IE的layout布局
  2. Visual Studio Code插件
  3. STEM 是个怎样高大上的东西?
  4. 医院信息科招聘计算机专业试题,医院信息科招收计算机科学与技术专业的笔试试题...
  5. 最强大脑记忆曲线(12)-- 录入数据修改
  6. 物联网安全问题与对策
  7. phpmail通过qq发邮箱失败_PHP中利用PHPMailer配合QQ邮箱实现发邮件
  8. RPA在政企行业的应用
  9. sdust 2410 Mine Number
  10. miui12是Android版本,miui12基于安卓几版本开发的?miui12是安卓11吗[多图]