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)
客户端展示
|