mitmproxy,流量回放工具

安装

  • 安装python模块

pip install mitmproxy

  • 安装完成后,系统将拥有 mitmproxymitmdumpmitmweb 三个命令,由于 mitmproxy 命令不支持在 windows 系统中运行,我们可以拿 mitmdump 测试一下安装是否成功,执行:

mitmdump --version

GitHub:https://github.com/mitmproxy/mitmproxy

证书配置&代理配置

web端

  • 进入路径:C:\Users\Administrator\.mitmproxy,双击mitmproxy-ca.p12,一直下一步,到下图时选择将所有证书都放入下列存储,受信任的根证书颁发机构,导入成功。

  •  手动设置代理

移动端

  • WiFi中设置代理,代理服务器主机名为本机IP地址,端口没有自定义的话填8080
  • 浏览器输入http://mitm.it安装证书,下载完成后安装证书

启动

要启动 mitmproxy 用 mitmproxymitmdumpmitmweb 这三个命令中的任意一个即可,这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同。

mitmweb 命令启动后,会提供一个 web 界面,用户可以实时看到发生的请求,并通过 GUI 交互来过滤请求,查看请求数据。形如:

 mitmdump命令启动后,可以在控制台查看

 自定义脚本

这是 mitmproxy 真正强大的地方。编写一个 py 文件供 mitmproxy 加载,文件定义了变量 addons,addons 是个数组,每个元素是一个类实例,这些类有若干方法,这些方法实现了某些 mitmproxy 提供的事件,mitmproxy 会在某个事件发生时调用对应的方法。这些类,称为一个个 addon,比如一个叫 Counter 的 addon:

import mitmproxy.http
from mitmproxy import ctx

class Counter:
    def __init__(self):
    self.num = 0

def request(self, flow: mitmproxy.http.HTTPFlow):
    self.num = self.num + 1
    ctx.log.info("We've seen %d flows" % self.num)

addons = [
    Counter()
]

 我们将脚本保存为addon.py

扫描二维码关注公众号,回复: 14692044 查看本文章

 更多脚本见:https://github.com/mitmproxy/mitmproxy/tree/main/examples

再重新启动mitmproxy,mitmweb -s addons.py,会看到有类似这种日志

猜你喜欢

转载自blog.csdn.net/qq_38312411/article/details/127405274