当前位置: 首页 > news >正文

mitmproxy 一款强大的 HTTP(S) 拦截与调试工具

一、什么是 mitmproxy?

mitmproxy 是一个支持 SSL/TLS 的交互式代理工具集,能够拦截、查看、修改 HTTP 与 HTTPS 请求和响应流量。其核心功能包括:

  • 拦截并修改 HTTP & HTTPS 请求/响应
  • 保存完整的 HTTP 会话以便后续重放与分析
  • 重放客户端请求或服务端响应
  • 提供反向代理、透明代理等多种模式
  • 使用 Python 脚本动态处理流量
  • 自动生成 SSL/TLS 证书进行加密通信拦截

二、三大核心工具介绍

mitmproxy 实际上是由三个功能前端组成,它们共享同一个核心处理引擎,适用于不同的使用场景:

1. mitmproxy:终端交互界面

这是 mitmproxy 的主工具,拥有一个基于终端的交互式 UI,便于查看和修改每一条 HTTP 请求。它会将所有流量保存在内存中,适合对小规模样本进行深入分析。

📌 快捷键提示:在界面中按下 ? 即可查看当前可用的快捷键。

2. mitmweb:基于浏览器的可视化界面

mitmweb 是 mitmproxy 的 Web UI 版本,适合希望在浏览器中可视化查看和操作流量的用户。虽然目前还在 beta 阶段,但已具备稳定的核心功能。

使用方式非常简单:

mitmweb

然后浏览器访问 http://localhost:8081 进入界面。

3. mitmdump:命令行版本

mitmdump 是命令行形式的 mitmproxy,类似于 tcpdump,用于程序化地查看、记录和处理 HTTP 流量。非常适合脚本化和自动化场景。

三、实用示例速览

下面是一些典型的 mitmdump 用法,帮助你快速掌握它的实战能力。

3.1.保存流量

mitmdump -w outfile

启动代理并将所有请求保存到 outfile 文件中。

3.2.过滤 POST 请求并保存

mitmdump -nr infile -w outfile "~m post"

从已有的流量文件 infile 中读取,只保留 POST 请求,并输出到 outfile

3.3.客户端请求重放

mitmdump -nC outfile

outfile 文件中读取请求并进行重放,-n 表示不监听代理端口。

支持组合使用:

mitmdump -nC srcfile -w dstfile

即重放 srcfile,同时将重放后的新流量保存到 dstfile

3.4.运行自定义脚本

mitmdump -s examples/simple/add_header.py

执行一个 Python 脚本,对所有响应添加自定义 Header。非常适合对请求做批量处理或数据清洗。

3.5.使用脚本进行流量转换

mitmdump -ns examples/simple/add_header.py -r srcfile -w dstfile

srcfile 加载请求流量,使用脚本进行处理后保存到 dstfile

四、为什么选择 mitmproxy?

  • 强大的调试能力:适用于前后端联调、API 流量追踪、安全审计。
  • 可扩展性高:支持使用 Python 编写脚本扩展功能。
  • 支持 HTTPS 拦截:自动生成根证书,方便测试 HTTPS 请求。
  • 多界面支持:命令行、终端交互、Web UI 多种方式满足不同需求。

五、 安装方式

可直接访问官网下载安装包:

  • 官网地址:https://mitmproxy.org
  • GitHub 仓库:https://github.com/mitmproxy/mitmproxy

六、总结

无论你是前端调试、接口测试、安全研究,还是流量采集分析,mitmproxy 都是一款不可多得的强力工具。它不止是“抓包工具”,更是一款可编程的流量分析平台。如果你还没用过 mitmproxy,不妨现在就试试它强大的魔法。

相关文章:

  • openGauss DataVec + Dify,快速搭建你的智能助手平台
  • SpringBoot企业级开发之【用户模块-更新用户密码】
  • 顺序表(Arraylist)和链表(Linkedlist)
  • YOLOv3的改进思路与方法:解析技术难点与创新突破
  • 编写一个写字楼类似抖音剪映的管理系统Demo
  • 系统思考:战略顾问视角下的定价
  • 《协议栈的骨架:从Web请求到比特流——详解四层架构的可靠传输与流量控制》
  • Deno 统一 Node 和 npm,既是 JS 运行时,又是包管理器
  • MCP的stdio和SSE通信方式使用案例
  • JBOSS反序列化漏洞解析与防范策略CVE-2017-12149
  • socket 客户端和服务器通信
  • 《AI大模型应知应会100篇》第21篇:Prompt设计原则:让大模型精准理解你的需求
  • 本地搭建全网可访问的开源音乐服务器Melody结合内网穿透随时听歌
  • 数据结构-数组与广义表
  • 股指期货怎么锁定利润?
  • Gobuster :dir、dns、vhost
  • 【C++】 —— 笔试刷题day_17
  • PCIE网卡驱动DMA初始化配置
  • 编程技能:调试02,设置断点与删除断点
  • macOS安装java
  • 网站制作资质/淘宝seo是什么
  • 国内好的网站建设/国内重大新闻10条
  • html做的网页怎么变成网站/杭州seo哪家好
  • 遵义网站建设哪家强/菏泽seo
  • 如何用网站做淘宝客/网站设计制作公司
  • 山西太原网站建设/我国网络营销现状分析