mitmproxy介绍

概述

mitmproxy一个免费开源的 交互式https代理

可以用于抓取http的包,他支持windows、linux多平台,还可以通过Python库的方式启动去实现更灵活的逻辑。

安装

linux

pip3 install mitmproxy

windows

官网下载即可mitmproxy - an interactive HTTPS proxy

启动

mitmproxy有web界面和命令行界面,这里主要介绍web界面

启动命令行界面

mitmproxy --listen-port 8080

启动web界面

mitmweb --listen-port 8080

如果需要将流量转发到上游的其他代理(比如clash)

可以使用如下参数启动

mitmweb --listen-port 8080 --mode upstream:http://127.0.0.1:7890

安装根证书

如果要解析https流量,需要使用到根证书。

需要在web界面上下载证书(File → Install Certificates),按照上边的提升进行安装即可

常用配置

alt text

HTTP代理模式

可以通过http协议接收流量

Sock5代理模式

可以通过sock5协议接收流量

Upstream Proxy模式

转发到mitmproxy的流量会进一步转发到上游

Reverse Proxy模式

转发到mitmproxy的流量会转发到指定的服务器上

Transparent模式

透明代理模式,系统上的所有流量都会转到mitmproxy上

DNS 服务

可以接管dns解析

功能用法

监视流量

alt text

如图所示,可以查看所有经过代理的流量

数据导出

可以导出数据为curl 请求格式,文本格式等

数据修改

可以在界面上暂停并编辑数据后再发送,或者构建一个新包重放

参考资料

mitmproxy - an interactive HTTPS proxy

总结

  • mitmproxy是一个http协议的抓包工具,他可以通过sock5,http接口去代理http/https请求
  • 当需要解析https请求的时候,需要安装根证书
  • 支持设置上游代理或者作为透明代理、作为反向代理
  • 支持对流量包的查看、重放,修改,并可以导出为各种格式
作者

deepwzh

发布于

2025-02-15

更新于

2025-02-15

许可协议

评论