问题标签 [libmproxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssl - 如何使用 libmproxy 处理 https 流量?
我想实现一个拦截 http 和 https 请求的代理服务器。我遇到了支持 SSL 的 libmproxy ( http://mitmproxy.org/doc/scripting/libmproxy.html )。我从这个最简单的代理开始,它只打印所有请求和响应的标头,并将它们正常转发到客户端和服务器。
然后我在 Firefox 中将 http 和 ssl 代理配置为 127.0.0.1 端口 1234。http 似乎工作正常,因为我可以看到所有标题都打印出来了。但是,当浏览器发送https请求时,代理服务器根本不打印任何东西,浏览器显示“连接被中断”错误。
进一步调查显示,https 请求通过代理服务器而不是 controller.Master。我看到当有 https 请求时正在调用 proxy.ProxyHandler.establish_ssl(),但该请求没有通过 controller.Master.handle_request()。尽管调用了establish_ssl(),但浏览器似乎没有得到任何响应。我用https://www.google.com对此进行了测试。
首先,如何使 proxy.ProxyHandler 与 https 请求/响应一起正常工作?二、如何修改controller.Master,使其能够拦截https请求?我也对可以在其上构建自定义 http/https 代理服务器的其他工具持开放态度。
python - 如何将 mitmproxy 连接到我无法控制的另一个代理?
该过程是浏览器向 MITMproxy 发送请求,然后生成一个请求,该请求被发送到不受我们控制的目标代理服务器。代理服务器将向 MITMproxy 发送响应,然后将响应中继到浏览器。
我该怎么做呢?
python - Mitmproxy 使用 python 加载和卸载脚本
我正在按照 Mitmproxy github示例中的建议运行代理:
我想在不阻塞其他请求/响应的情况下处理每个请求/响应,因为我需要使用并发装饰器和脚本
我的问题是:如何将脚本加载和卸载到在此配置中运行的代理?
mitmproxy - 具有多个上游的反向代理
我已经设置了一个虚拟机来将端口 80 连接重定向到一些服务器到我的 mitmproxy 实例。
现在我希望设置 mitmproxy(或 libmproxy)来修改请求并将请求转发到我选择的服务器,具体取决于 HTTPHost
标头(以及修改响应)。我该如何做到这一点?透明代理似乎从较低的网络层读取了预期的目标服务器,而我没有(虚拟机直接连接到我的代理)。
android - libmproxy 和 mitmproxy 文档
我是 mitmproxy 世界的新手。我需要编写一个 python 脚本来记录 Genymotion 模拟器上某个应用程序发出的所有请求。现在,我了解到 mitmproxy 可以帮助满足我的要求。所以我已经成功设置了 mitmproxy,现在我可以通过 mitm 客户端监控来自 Gennymotion 上任何应用程序的所有 HTTP/S 流量。
但是,我想要的是:
该应用程序将由用户手动探索,并且应该运行此 Python 脚本,该脚本将简单地记录用户探索该应用程序时发出的所有请求。
我曾尝试浏览 mitmproxy API 的 Github 示例,但无法理解它们。有人可以为我指出这些 API 的更详细的解释/使用指南吗?
通过更多的挖掘,我发现我需要类似于https://github.com/mitmproxy/mitmproxy/blob/master/examples/flowbasic但我不明白上述资源中的脚本内部发生了什么。喜欢
什么是 f.reply() ?
什么是 flow.State() ?
什么是 m.run() ?
什么是 flow.FlowMaster ?
更重要的是,有没有什么地方可以让我了解上述各种方法和其他方法?
同样,也发现了这一点:从 MITM 代理获取“原始”请求\响应
有人可以解释如何或从哪里调用 request() 吗?
那里的上下文和流参数是什么?
python-2.7 - libmproxy 问题 - “模块”对象没有属性“TLSv1_1_METHOD”
我尝试在我的 linux RHEL 7 中使用 Libmproxy,但出现以下异常:
已经尝试重新安装 mitmproxy、netlib、PyOpenSSL 和 Cryptography。还有其他想法吗?
python-2.7 - libmproxy - 如何异步加载请求?
我想知道如何使用 libmproxy 或 mitmproxy 异步加载请求。
我的代码如下所示: