当前位置: 首页 > article >正文

Android 通用抓包方式

前言

抓包思路有两种

  1. 中间人
  2. hook android libssl.so 获取ssl key log

中间人的优势是简单方便,实时。hook的方式优势是原汁原味(比如可以看到两端握手的过程)。具体选哪一种,根据实际需求决定

中间人

可以利用的工具有pcap remote + wireshark、postman等等。这里就用我最常用的pcap举例

不管用什么工具,最核心的步骤就是:导入证书到系统证书目录。

为什么是导入到系统证书目录呢?因为从Android 7开始,默认是不信任用户证书的,所以普通的安装用户证书的方式很多都无法抓包,但是系统证书不存在这个问题。

导入证书到系统证书目录

准备:一台已经root的手机,我这里用的是Android 11已经root的手机。

  1. 将抓包工具需要安装的证书导出为pem文件

  2. 获取pem文件的hash

    openssl x509 -inform PEM -subject_hash_old -in xxxx.pem | head -1
    87bc3517
    
  3. 将pem文件重命名

    这里重命名为87bc3517.0

  4. 修改system分区权限

    adb root;adb disable-verity;adb reboot;adb wait-for-device;adb root;adb remount
    
  5. 拷贝到系统证书目录

    cp 87bc3517.0 /system/etc/security/cacerts/
    
  6. 修改权限

    chmod 644 87bc3517.0
    

抓包

导入后就可以抓包了,这里就不具体演示了,根据自己具体使用的工具来。我这里主要介绍下面的hook方式

hook android libssl.so 获取ssl key log

在pc上我们经常使用wireshark来抓包,但是wireshark不支持中间人抓包。抓到基于tls加密的包是无法解密查看的。然而Android内部的libssl.so有个设置SSL/TLS连接上下文中的密钥日志回调函数SSL_CTX_set_keylog_callback。所以我们只要想办法设置回调并将密钥打印出来,然后将密钥设置给wireshark,它就可以解密出抓到的加密内容了。具体操作详见这篇 意外发现的Android硬核https抓包, 在多个app亲测ok, 自定义ssl也无用哦~


http://www.kler.cn/a/5449.html

相关文章:

  • 数科OFD证照生成原理剖析与平替方案实现
  • sql表的增删改、替换
  • string例题
  • 新月军事战略分析系统使用手册
  • Tailwind CSS - Tailwind CSS 引入(安装、初始化、配置、引入、构建、使用 Tailwind CSS)
  • 700. 二叉搜索树中的搜索
  • 【C++】模板进阶|继承
  • Linux使用:环境变量指南和CPU和GPU利用情况查看
  • 【云原生】Kubernetes(k8s)部署 MySQL+Dubbo+Nacos服务
  • 【动手学深度学习】(task123)注意力机制剖析
  • 设计模式——行为型
  • 面试被拷打复盘 之 链表判环(快慢指针)(leetcode)
  • SPSS27破解安装后,出现应用程序无法正常启动(0xc000007b)
  • 超市进销存系统程序
  • FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(三)
  • 【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-填空题
  • osx 如何用 podman 和 Kubernetes
  • Linux中有哪些常用的网络命令,分别适用于什么场景?
  • kafka组件(角色)介绍_结合官网、教材和实践
  • 十大公认音质好的骨传导耳机,分享几款音质好的骨传导耳机
  • graalvm22.3.1打包exe和linux
  • Chatgpt-3 使用的提取数据集技术、数据集自动化处理和保证数据质量
  • 【分布式】java实现分布式事务的五种方案
  • 【创作赢红包】linux软件推荐及安装
  • java企业级信息系统开发讲课笔记04初探Spring ——采用Java配置类管理Bean
  • 我国CRO行业发展前景-【趋势分析】