Python 使用mitmproxy动态修改HTTPS响应数据包
我试图实现一个mitmproxy插件脚本,以篡改特定的https数据包数据——顺便说一句,它是通过mitmproxy的证书注入动态解密的 我正在关注一个非常类似的问题,以及来自mitmproxy文档的问题,但到目前为止没有任何成功 我的目标数据包来自Python 使用mitmproxy动态修改HTTPS响应数据包,python,linux,packet-capture,mitmproxy,tampering,Python,Linux,Packet Capture,Mitmproxy,Tampering,我试图实现一个mitmproxy插件脚本,以篡改特定的https数据包数据——顺便说一句,它是通过mitmproxy的证书注入动态解密的 我正在关注一个非常类似的问题,以及来自mitmproxy文档的问题,但到目前为止没有任何成功 我的目标数据包来自https://api.example.com/api/v1/user/info 下面是我编写的整个python脚本,以便根据上述来源篡改此数据包数据: from mitmproxy import ctx class RespModif:
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()
]
查看事件日志,我可以看到第一个日志信息(“RespModif触发”)正在报告到日志中,但其他两个日志信息(从if
语句内部完成)从未报告过,这意味着if
语句永远不会成功
我的代码有问题吗?如何使
if
语句成功
PS:目标URL绝对正确,而且我使用的是来自客户端应用程序的注册帐户,该应用程序正在被mitmproxy嗅探 您是否尝试过使用
pretty\u url
属性?比如:
if flow.request.pretty_url == "https://api.example.com/api/v1/user/info":
....
pretty\u url
属性处理完整域名,而url
仅处理相应的ip地址。另外,记录
pretty_url
的内容应允许查看确切的url,并提供代码实际执行情况的更多可见性。是的,我刚刚尝试过,不幸的是也不起作用。。。我也尝试过其他有效的URL,if
语句也无法成功!这怎么可能?您可以通过打印flow.request.url或flow.request来调试它。很高兴能看到准确的url。先生,你的建议让我终于成功了!!Thanx很多,但请在回答中添加您的评论,并解释pretty_url是如何处理域名的,而url只处理ip地址,所以我可以接受答案!我不太清楚:)我只是搜索了一下,提出了一个小小的建议。。。