接口测试工具-charles抓包笔记

本文详细介绍了在Mac系统下安装和使用Charles抓包工具的方法,包括配置证书、抓取Mac和移动设备上的请求、模拟弱网环境及修改接口返回值等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

目录

1.mac下安装charles

2.使用charles抓包

2.1 配置

2.2 抓mac上的请求

2.3 抓移动设备上的请求

3. 使用charles模拟弱网环境

4.通过抓包修改接口返回值-mock

5.问题记录

5.1 抓https请求乱码

5.2 抓到的请求显示unknown



1.mac下安装charles

  • 下载安装charles
  • 打开charles,点击菜单栏的“Help”选择“Register Charles”,弹出Charles for Mac的注册界面
  • 到解压后的“Charles428”应用文件夹,打开其中的“keygen.jar”,输入“orsoon”然后点击“Generate”生成Charles注册码
  • 将“orsoon”和生产的注册码复制到注册界面的对应位置上进行注册

2.使用charles抓包

2.1 配置

  • 安装证书:Help>SSL Proxying> Insatll Charles Root Certificate, 选择始终信任
  • 搜索 charles 可以看到刚才安装的证书,查看证书状态是否已经被信任

2.2 抓mac上的请求

对于Mac系统而言,打开charles之后,默认就已经对系统进行了代理,如果没有,则需要在菜单栏的Proxy上勾选上Mac OS X Proxy

2.3 抓移动设备上的请求

  • 保证移动端与电脑设备在同一网段
  • 设置http代理,选择charles菜单栏中的Proxy>Proxy Settings,将端口号改为8888(或其他未被占用的端口),并设置可用
  • 查看mac的ip地址:设置>网络>高级>查看ipv4/charles help>local ip address
  • 移动端,进入连接网络的设置界面,代理方式改为手动,将host和端口号改为与mac一致
  • 移动端下载、安装、信任安全证书。在浏览器中输入 chls.pro/ssl,下载证书,在设置-->更多设置-->系统安全-->加密与凭据-->从存储设备安装,找到下载的证书,安装信任。(设置-->设备与隐私-->从存储设备安装证书)
    • 若下载证书后缀为pem,需手动修改后缀为crt,方可下载
  • 此时charles会弹出窗口,选中同意,即可抓取到请求啦

3. 使用charles模拟弱网环境

参数说明: 

  • bandwidth —— 带宽,即上行、下行数据传输速度
  • utilisation —— 带宽可用率,大部分modern是100%
  • round-trip latency —— 第一个请求的时延,单位是ms。
  • MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
  • Releability —— 指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
  • Stability —— 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。

4.通过抓包修改接口返回值-mock

1、选中要修改的请求,右键点击breakpoints

2、编辑断点过滤条件

例如每次查询时,接口传参中的id不是固定的值,会变化,则在proxy-->breakpoint setting中修改匹配条件,例如改成*

 3、再次在app端执行操作,当触发打过断点的接口时,charles就会将其捕获住,此时可点击“Edit Request”按需编辑请求参数、返回参数

5.问题记录

5.1 抓https请求乱码

在菜单栏选择Proxy>SSL Proxying Settings,点击add,Host填“*”,Port填“443”,点击OK,重新抓包,不再乱码。

5.2 抓到的请求显示unknown

在移动端安装并信任证书即可。(步骤可参考2.3)

若移动端安装证书无反应,可考虑设置锁屏密码,重试。

若安装完证书,仍然报错unknown,需要信任该证书:设置->通用->关于本机->证书信任设置

   

5.3 没弹出是否允许设备连接的提醒

5.4 证书过期

证书过期也会导致抓到的请求报错unknown,此时需要重新安装证书并信任

报错如下:

重新安装并信任证书:

参考:Charles 抓包工具在Mac上的使用 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值