mitmproxy工具
官网例子https://docs.mitmproxy.org/stable/addons-examples/#commands-flows
mitmproxy 命令行工具 mitmdump 加载python脚本 mitmweb web界面工具
证书安装
配置代理后,启动工具,命令行输入mitmdump -p 8999
在浏览器中输入网址mitm.it
选择证书安装
安装完以后,设置-通用-关于本机-证书信任设置,选择信任mitmproxy
录制与回放
录制:mitmdump -w 文件名
过滤:mitmdump -nr 文件名 -w 文件名1“~s baidu”
回放:mitmdump -nC 文件名
-n 不启动代理
-r 读取文件
-w 写入文件
~s 过滤响应数据
修改请求数据
命令mitmdump -p 8999 -s python文件的路径
from mitmproxy import http
def request(flow: http.HTTPFlow):
flow.request.headers['ceshiheader']='chenmiaoiao'
print(flow.request.headers)
实现maplocal功能
1.手机连接代理
2.电脑端输入mitmdump -p 8999 -s python代码的地址
from mitmproxy import http
def request(flow: http.HTTPFlow):
if flow.request.pretty_url =='https://www.baidu.com/':
flow.response=http.Response.make(200,b"chenmiaomiao",{'Content-Type':'text/html'}
)
手机端展示
客户端实现rewrite功能
1.手机连接代理,端口号8999
2.电脑端输入mitmdump -p 8999 -s python代码的地址
import json
from mitmproxy import http
def response(flow: http.HTTPFlow):
if "quote.json" in flow.request.pretty_url:
data = json.loads(flow.response.content)
data['data']['items'][0]['quote']["name"]='chenmiaomiao'
flow.response.text=json.dumps(data)
客户端展示



