抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)

news2024/9/29 19:29:52
  • 安装好Charles之后,还只能捕获电脑的接口请求
  • 想要抓取移动设备的APP还需要设置代理、安装证书。

文章目录

  • 一、抓包原理
  • 二、手机设置网络代理
    • 1、 查看电脑的IP地址(local IP address)
    • 2、设置手机网络代理
      • (1)iOS设备
      • (2)Android设备
      • (3)Charles中允许设备连接代理
  • 三、手机安装证书
    • (1)确保手机已经连上代理
    • (2)手机打开网页:“chls.pro/ssl”,点击下载证书
    • (3)安装证书
      • 1.安卓
      • 2.iOS
    • (4)【仅iOS】信任证书
  • 附录:[零基础入门接口功能测试教程-目录](https://blog.csdn.net/weixin_40883833/article/details/126452017)

一、抓包原理

  • 原始请求
    • 客户端直接与服务端交互数据。
  • 代理后的接口请求
    1. 设备上将Charles设置为代理服务器之后,Charles开始监听客户端或设备发出的任何请求。
    2. Charles捕获请求并将其转发到服务器
    3. 服务器向Charles返回一个响应
    4. 响应返回给客户端。
      在这里插入图片描述

二、手机设置网络代理

首先,很重要的一点,手机与电脑需要处于同一个网络。

1、 查看电脑的IP地址(local IP address)

  • macOS:可以在 “System Preferences > Network” 设置中,选择当前连接的网络,本地的IP地址就显示在右侧。
    在这里插入图片描述
  • Windows:点击状态栏的网络图标,可以看到 “网络和Internet设置” ,点击之后查看WLAN或以太网的属性。进入网络设置页面滑到底就可以看到本地IP地址。
    ![在这里插入图
    在这里插入图片描述在这里插入图片描述

2、设置手机网络代理

  • 打开待抓包设备的网络设置,选择当前连接的网络,配置HTTP代理。

(1)iOS设备

  1. 打开网络设置->选择当前连接网络右侧按钮->
  2. 进入网络设置页面,滑动页面底部,点击配置代理->
  3. 代理改为手动,填写电脑的IP地址及Charles代理的端口(大部分是8888)->保存设置
    在这里插入图片描述

(2)Android设备

(以荣耀手机为例,大部分安卓手机的设置位置也相同)

  1. 从设置页面打开“WLAN”设置->
  2. 长按当前连接网络->选择“修改网络”->
  3. 勾选“显示高级选择”,代理改为“手动”,填写电脑的IP地址及Charles代理的端口(大部分是8888)->保存设置
    在这里插入图片描述

(3)Charles中允许设备连接代理

  • 手机代理设置完成后,Charles开始捕获手机发出的请求
  • 此时Charles会弹出允许连接的弹框
  • 直接选择“Allow”即可
    在这里插入图片描述
  • 允许之后,就开始抓包了
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/bbb8f7d830d24dc8b0e7a39dbd7c2a61.png

三、手机安装证书

  • 设置代理之后,仍然只能抓取HTTP的接口,HTTPS的接口会显示为“unknown”,并且错误原因也提示需要证书未信任或未安装。
    在这里插入图片描述
  • 所以,想要抓取HTTPS的接口需要安装证书。

(1)确保手机已经连上代理

(2)手机打开网页:“chls.pro/ssl”,点击下载证书

在这里插入图片描述

(3)安装证书

1.安卓

(以荣耀手机为例,大部分安卓手机的设置位置也相同)

  1. 从设置页面,进入WLAN设置
  2. 点击“更多WLAN设置”,进入设置页面
  3. 点击“安装证书”
  4. 选择刚刚从浏览器下载的证书,设置证书名称后,点击确定
    在这里插入图片描述
  • 这样证书就安装好了

2.iOS

(以iOS 15.5系统为例)

  1. 设置页面,选择“通用”
  2. 滑到页面最底部,选择“VPN与设备管理”
  3. 在“已下载的描述文件”当中就可以看到刚刚下载的证书,点击证书
  4. 选择“安装”,之后会需要输入设备密码,然后确认安装
    在这里插入图片描述

(4)【仅iOS】信任证书

  • iOS比安卓多一个信任证书的步骤:

    1. 设置页面,选择“通用”,在通用页面,选择“关于手机”
    2. 滑到关于手机页面的最底部,选择“证书信任设置”
    3. “证书信任设置”页面,可以看到刚刚安装的证书,打开证书开关即可
      在这里插入图片描述
  • 到这里就完成了手机抓包的准备。

附录:零基础入门接口功能测试教程-目录

—————————————————————————————————
Charles的安装包已经上传到了本人运营的博客同名公众号【软件测试必备技能】。
公众也会不定期会上传测试相关资料,有需要可以前往领取。
在这里插入图片描述
有需要可点击文章下方二维码,前往领取~在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/353502.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美团:某动态线程池框架是官方开源的么?

大家好,我是马称。 最近,有很多同学在微信上问我这么一个问题: Hippo4j 动态线程池框架是美团开源的么? 类似于这样的问题还挺多,在这里统一回复下: 美团官方并没有开源任何关于动态线程池的框架。 美…

【深度学习】多分类问题和多标签分类问题

上一章——激活函数 文章目录什么是多分类问题Softmax贝叶斯公式softmax的损失函数多标签分类问题什么是多分类问题 在之前的课程中,我们学习了二分问题,二分问题中的所有数据会被分类为0和1(或者Ture和False)两种输出标签。但是…

Java_小项目书城

1.概述 书城的基本功能: 展示书籍上新书籍下架书籍退出应用 书城项目所涉及到的知识点: 用户交互–键盘录入分支结构,循环结构面向对象的思维,封装对象集合的使用 2.菜单的编写 这部分代码就是读取用户键盘的录入&#xff0…

Qt线程池

目录1、线程池是什么?2、Qt线程池2.1、用法例程2.2、线程池对性能的提升2.3、运行算法单线程写法线程池写法1、线程池是什么? 线程池是一种线程使用模式,它管理着一组可重用的线程,可以处理分配过来的可并发执行的任务。 线程池设…

2023最新一线大厂Java八股文强势开源,整整8w字,711页内容

前言 大家都知道每年的3月和4月都是互联网大厂疯狂招人的黄金期,也就是程序员的黄金跳槽期,所以被称为金三银四。 无论你是刚出校园大门的菜鸟,还是对跳槽蓄谋已久的老手,都会在这个时候找到新工作和迎来晋升涨薪的最佳时机。 而…

1.InfluxDB简介与安装

InfluxDB简介 InfluxDB是一个时序性数据库,适用场景数据分析,IoT设备数据采集,监控告警等。InfluxDB是采用GO语言编写,底层提供了大量的HTTP协议的API 其他语言的SDK都采用访问HTTP接口的形式对InfluxDB进行操作 InfluxDB官方一…

WPF学习:Slider — 冒泡显示值

想做一个下图所示的Slider,以冒泡的方式显示其Value值,该怎么做呢? 功能要求,当鼠标放在滑块上的时候,冒“泡”显示值;当滑块移动的时候,“泡”跟随移动。 看似简单的功能,但要完美…

扬帆优配“数字经济+实体经济”融合发展,行业增长空间大!

组织以为,数字经济已经逐步成为工业商场和资本商场的共同主题。 2月16日,国家发改委在《求是》杂志发表文章《努力推进经济完成质的有效提升和量的合理增加》。文章指出要加速开展数字经济,加速实施“东数西算”等重大工程,推进数…

计算机网络笔记(四)—— 数据链路层

点对点协议PPP 目前使用最广泛的点对点数据链路层协议 由以下三个部分构成: PPP工作状态 媒体接入控制 主要解决共享信道的协调问题 静态划分信道 复用:通过一条物理线路同时传输多路用户的信号 频分复用(FDM):占用…

DataEase 制作数据可视化大屏经验分享

前言 DataEase 简介 DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便地与他人分享。 更多详细介…

ChatGPT及相关产品体验与研究

ChatGPT及相关产品体验与研究 我的Github博客仓库链接:ChatGPT及相关产品体验与研究 - Github 一、ChatGPT介绍 1. ChatGPT概述 一句话描述ChatGPT:一个能够通过对话得到你想要的答案的聊天机器人。 ChatGPT 是由 OpenAI 开发的一种基于深度学习的自然…

SPI简介与实例分析

SPI简介 SPI 协议是由Motorola提出的通讯协议 (Serial Peripheral Interface) ,是一种高速全双工的串行通信总线。 SPI 通讯使用 3 条总线 :SCK、 MOSI、 MISO ,以及若干片选线(SS、CS、NSS)。 主机要和哪个从机通信,就把对应的…

看板项目管理使用指南

作为一种项目管理方法,看板涉及创建列出任务详细信息的可视化卡片,并将它们组织到代表生产过程不同阶段的白板列表中。 今天,看板已经从工厂的白板发展到了我们电脑屏幕上的数字看板应用程序形式。现在的看板项目管理方法可帮助团队管理编辑…

CentOS Stream 8配置DNS

1:用CentOS搭建DNS的目的是想解析一台下载服务器,IP地址172.18.0.58,现在是用IP地址方的式访问,想搭建DNS服务器用域名的方式访问。 使用下面的命令查看一下当前系统的Bind版本。 yum info bind 版本是9.11.36.我的CentOS是最小…

KDGK-703S便携式综合校验仪(毫伏发生器)

一、产品简介 KDGK-703S便携式综合校验仪(毫伏发生器)是一种集数显式电压、电流、频率标准信号源、Pt100 铂电阻温度模拟标准信号源、数字式电压、电流、频率测量功能于一体的高精度、高分辨率、多用途的自动化仪表校准仪器。 它具有信号输出和测试功能&…

有关eclipse的使用tips

一、alt/键 会产生单词提示,可以提高编程速度。例如不需要辛辛苦苦的打出:System.out.println();整句,只需要在eclipse中输入syso,然后按住ALT/就会出来System.out.println();在alt键/不管用的情况下,可使用以下方法来…

HDMI AVI InfoFrame

AVI/AUDIO/VSI Infoframe都是HDMI的辅助数据类别,HDMI遵循CEA-861规范,CEA 第八章--CONTROL AND CONFIGURATION 8.2定义了三种InfoFrame。 一个InfoFrame packet载送一个InfoFrame,根据HDMI协议规范,其大小为30字节一个CheckSum。…

关于医院医用医疗隔离电源系统应用案例的分析探讨

【摘要】:介绍该三级医院采用安科瑞医用隔离电源柜,使用落地式安装方式,从而实现将TN系统转化为IT系统,同时监测系统绝缘情况。 【关键词】医用隔离电源柜;IT系统;绝缘情况;中西医结合医院&…

盘点Linux内核网络知识100道题,这篇就够了

计算机网络模型 1、五层因特网协议栈和七层OSI(Open System Interconnections)参考模型分别是什么? 5层:应用层、传输层、网络层、数据链路层、物理层 7层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理…

Gradle安装部署与基础入门详解

【1】Gradle简介 Gradle 是一款Google 推出的基于JVM、通用灵活的项目构建工具,支持Maven,JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等)的build 脚本文…