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

Android手机如何用Charles抓包HTTPS接口

对Charles的安装和使用,这里就不重复介绍了,之前有介绍Charles工具。

本文重点介绍在Android手机上如何配置抓包环境

1.获取Charles配置

去Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser 查看配置。

2.将手机和电脑连上同一个局域网

3.为手机网络设置手动代理

ip和端口参数已经在第一步获取

4.用手机浏览器下载证书安装

浏览器进入chls.pro/ssl下载证书,下载的.pem格式证书。当设备无法识别时,需要手动将后缀名改为.crt,然后到浏览器的下载管理中选择安装就可以了。

安装后,到设置 -> 安全 -> 信任的凭证 可以看到刚安装的证书

5.抓包

Charles中右键对应HTTPS,选择Enable SSL Proxying启动代理。然后清空Structure,重新请求接口就能看到抓包的数据。

到这里,你会发现并不是所有HTTPS都能抓取,Android7.0 之后默认不信任用户添加到系统的CA证书。

解决方案:

  • 官方解决方案:https://developer.android.google.cn/training/articles/security-config.html
  • 问题解决博文:https://blog.csdn.net/mrxiagc/article/details/75329629
  • 将抓包软件的证书安装成系统证书(需ROOT)

这里就不展开了,除非你要搞逆向。

6.对自己的项目抓包

针对我们自己的Android项目,要抓包HTTPS我们可以在网络完全配置中进行设置。

到 res -> xml 创建一个network-security-config.xml文件,配置如下。

<network-security-config><base-config cleartextTrafficPermitted="true"><trust-anchors><certificates src="system" /><certificates src="user" /></trust-anchors></base-config>
</network-security-config>

然后,到清单文件为application配置networkSecurityConfig。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><uses-permission android:name="android.permission.INTERNET" /><application android:networkSecurityConfig="@xml/network_security_config" ></application></manifest>

注意:在开发设置 cleartextTrafficPermitted="true" 来允许明文流量,便于我们抓包。但在发布应用时,为了提高应用的安全性,通常建议禁用明文流量。
 

http://www.lryc.cn/news/238914.html

相关文章:

  • Oracle for Windows安装和配置——Oracle for Windows net配置
  • C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录
  • 【文末送书】计算机网络 | IO多路转接技术 | poll/epoll详解
  • 【Linux】 uptime命令使用
  • 数学建模-图与网络模型解题方法和代码实现
  • 宏集新闻 | 虹科传感器事业部正式更名为宏集科技
  • DataFunSummit:2023年数据基础架构峰会-核心PPT资料下载
  • 解析大型语言模型的训练、微调和推理的运行时性能
  • MAX/MSP SDK学习06:内存管理
  • python网络通信之基础知识填坑
  • 【腾讯云云上实验室-向量数据库】腾讯云开创新时代,发布全新向量数据库Tencent Cloud VectorDB
  • 【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV4)模型算法详解
  • opencv dots_image_kernel
  • 使用pytorch利用神经网络原理进行图片的训练(持续学习中....)
  • 2023年中国合成云母行业现状及市场格局分析[图]
  • Vue3+Vite实现工程化,插值表达式和v-text以及v-html
  • 艾泊宇产品战略:灵感于鬼屋,掌握打造卓越用户体验的关键要素
  • 深度学习环境配置(Anaconda+pytorch+pycharm+cuda)
  • 不是说人工智能是风口吗,那为什么工作还那么难找?
  • new Vue() 发生了什么
  • 【算法】二叉树的存储与遍历模板
  • 【Go学习之 go mod】gomod小白入门,在github上发布自己的项目(项目初始化、项目发布、项目版本升级等)
  • 79基于matlab的大米粒中杂质识别
  • Vue 项目实战——如何在页面中展示 PDF 文件以及 PDFObject 插件实战
  • 系列六、ThreadLocal内存泄露案例
  • Java学习笔记44——Stream流
  • excel表格忘记密码,如何找回?
  • IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Mybatis初识和框架搭建
  • 差分放大器工作原理(差分放大器和功率放大器区别)
  • SystemV