雪球 APP 抓包与 Mock 实战

霍格沃兹测试学院

ceshiren.com

目录

  • Charles Mock 实战
  • Mitmproxy 安装与配置
  • Mitmproxy Mock 实战

Charles Mock 实战

mock 原理与实用场景

  • 应用场景
    • 第三方系统数据交互
    • 前后端数据交互
    • 硬件设备解耦
  • 优点
    • 不依赖第三方数据
    • 节省工作量
    • 节省联调

mock 核心要素

  • 匹配规则
  • 模拟响应

Rewrite 原理

Rewrite 实战

  • 修改雪球行情页面的股票名称
  • 修改雪球行情页面的股票价格

Map Local 原理

Map Local 实战

  • 创建 map local 需要的 json 文件
  • 修改雪球行情页面的股票名称
  • 修改雪球行情页面的股票价格

Map Remote 原理

Map Remote 实战

Mitmproxy 安装与配置

Mitmproxy 简介

官方网站:

https://mitmproxy.org/

安装

推荐使用 python 进行安装

// 方式一
pip install mitmproxy==5.2.0

// 方式二
pip install pipx
pipx install mitmproxy==5.2.0

验证是否安装成功

输入命令验证是否安装成功:

mitmdump --version

PC 端证书

  1. 配置电脑代理
  2. 启动 mitmproxy
  3. 在浏览器输入地址 mitm.it
  4. 选择对应系统下载证书并安装

mitmporxy

移动端证书

  1. 在手机配置代理,ip 配置为电脑的 ip 地址,端口配置为 mitmproxy 监听端口
  2. 启动 mitmproxy
  3. 在手机浏览器输入地址 mitm.it
  4. 选择 Android,下载并安装,即可成功抓取手机端的 https 的数据包。

Mitmproxy Mock 实战

核心工具介绍

  • mitmproxy
    • 注意:不支持 windows
  • mitmweb
  • mitmdump

mitmdump 参数介绍

  • -s 参数,执行 python 脚本
  • -p 参数,指定监听端口,默认监听8080

核心组件

实战练习1: 实现 map local

  1. 创建一个本地文件,设定响应数据
  2. 编写脚本,在请求事件中,即给响应对象复制
  3. 执行命令
  4. 访问浏览器验证结果

实战练习2: 实现 rewrite

  1. 修改股票名称
  2. 修改股票价格