Mock 实战与雪球 APP 抓包

by AD

目录

  • Mock原理与应用场景
  • Charles 回顾
  • Mitmproxy 安装与配置
  • Mitmproxy 实战练习

mock原理与实用场景

  • 应用场景
    • 第三方系统数据交互
    • 前后端数据交互
    • 硬件设备解耦
  • 优点
    • 不依赖第三方数据
    • 节省工作量
    • 节省联调
  • 实现注意事项
    • 了解通讯协议
    • 了解业务所需的交互数据

Map Local 原理

Map Local 实战

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

Map Remote 原理

Map Remote 实战

Mitmproxy


Mitmproxy简介

官方网站:

https://mitmproxy.org/

Mitmproxy工作原理

mitmporxy


安装与配置

安装

推荐使用 python 进行安装

方式一:

pip install mitmproxy

方式二:

  1. pip install pipx
  2. pipx install mitmproxy

验证是否安装成功

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

mitmdump --version

PC 端证书

  1. 配置电脑代理,ip 配置 127.0.0.1 ,端口配置为 mitmproxy 监听端口,默认 8080
  2. 启动 mitmprxy
  3. 在浏览器输入地址 mitm.it,显示效果如果和下图相同,证明前面的步骤都成功了

mitmporxy

  1. 选择对应系统下载证书并安装,即可成功抓取 https 的数据包。

手机端证书

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

核心工具介绍

三大核心工具

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

备注:主要以 mitmdump 的使用为主

mitmdump 参数介绍

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

mitmdump 脚本实战

核心组件

  • Addons(插件)

https://docs.mitmproxy.org/stable/addons-overview/

  • Events(事件)

https://docs.mitmproxy.org/stable/addons-events/

mitmdump debug

if __name__ == '__main__':
    from mitmproxy.tools.main import mitmdump
    #使用debug模式启动mitmdump
    mitmdump(['-p', '8080', '-s', __file__])

实战练习1: 实现 rewrite

实战练习2: mitmdump map local

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