【发布时间】:2018-08-31 00:32:19
【问题描述】:
我正在尝试找出一种从 python 脚本启动 Mitmproxy 的方法(我已经完成)并将所有流量保存到转储文件(我需要帮助)。
通过谷歌搜索,查看 mitmproxy git 问题并阅读示例代码,这是我目前所拥有的:
from mitmproxy import proxy, options
from mitmproxy.tools.dump import DumpMaster
from mitmproxy.addons import core
class AddHeader:
def __init__(self):
self.num = 0
def response(self, flow):
self.num = self.num + 1
print(self.num)
flow.response.headers["count"] = str(self.num)
addons = [
AddHeader()
]
opts = options.Options(listen_host='127.0.0.1', listen_port=8080)
pconf = proxy.config.ProxyConfig(opts)
m = DumpMaster(None)
m.server = proxy.server.ProxyServer(pconf)
# print(m.addons)
m.addons.add(addons)
print(m.addons)
# m.addons.add(core.Core())
try:
m.run()
except KeyboardInterrupt:
m.shutdown()
问题是,这会产生一个错误AttributeError: No such option: body_size_limit,这似乎可以用master.addons.add(core.Core) 缓解,但这个核心插件已经存在于 DumpMaster 中,因此会引发不同的错误。
检查当前由DumpMaster 加载的插件我确实看到保存到文件插件已加载,但我不清楚如何访问它以便通过代理的任何流量,无论它是否是请求、response、ws 或 tcp 可以写入转储文件
谢谢!
这是已加载插件的编辑列表
- mitmproxy.addons.streambodies.StreamBodies 对象位于 0x111542da0>
- mitmproxy.addons.save.Save 对象在 0x111542dd8>
- mitmproxy.addons.upstream_auth.UpstreamAuth 对象位于 0x111542e10>
【问题讨论】:
标签: python-3.x mitmproxy