我正在尝试实现一个mitmproxy插件脚本,以篡改特定的https数据包数据-这是通过mitmproxy的证书注入实时解密的。在
我跟随这个Stack Overflow answer来回答一个相当类似的问题,以及来自mitmproxy文档的this tutorial,但迄今为止没有任何成功。在
我的目标数据包来自https://api.example.com/api/v1/user/info
。
下面是我编写的用来篡改数据包数据的整个python脚本,基于上述来源:
from mitmproxy import ctx
class RespModif:
def _init_(self):
self.num = 0
def response(self, flow):
ctx.log.info("RespModif triggered")
if flow.request.url == "https://api.example.com/api/v1/user/info":
ctx.log.info("RespModif triggered -- In the if statement")
self.num = self.num + 1
ctx.log.info("RespModif -- Proceeded to %d response modifications "
"of the targetted URLs" % self.num)
addons = [
RespModif()
]
查看事件日志,我可以看到第一个日志信息(“respmidif trigged”)正在报告到日志中,但是其他两个日志信息(从if
语句内部完成)从未报告过,这意味着我认为if
语句永远不会成功。在
我的代码有问题吗?
如何使if
语句成功?在
PS:目标URL绝对是正确的,而且我使用的是来自客户机应用程序的注册帐户,该帐户正被mitmproxy嗅探。在
您是否尝试使用
pretty_url
属性?比如:
pretty_url
属性处理完整的域名,而url
只处理相应的ip地址另外,记录
pretty_url
的内容应该允许查看确切的URL正在通过什么,并提供关于代码实际执行情况的更多可见性。在相关问题 更多 >
编程相关推荐