问题标签 [mitmproxy]

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.

0 投票
2 回答
111 浏览

security - 即使主机离线,我也可以捕获 HTTP 流量吗?

我也觉得这是一个愚蠢的问题,但我不确定如果主机离线,捕获流量是否有效?我实际上是在讨论中间人攻击,只是想假设https://example.com离线(在网络上关闭或被阻止)并且有人向http://example.com/example发出请求-category/example那么攻击者是否能够在本地网络中捕获这个完整的 GET 请求?

我认为是的,因为无论如何都会将请求从客户端发送到主机,并且应该在那里捕获它。如果是这种情况,那么如果主机脱机或在本地网络上被故意阻止,HTTPS 流量是否也可以被捕获(仅基于 GET)?

0 投票
1 回答
916 浏览

python - mitmproxy,如何获取呼叫的响应时间/持续时间?

我能够从请求和响应中获取响应代码、正文、url 和查询字符串,但我无法获取调用所花费的时间。

我们有

  • flow.response.code
  • flow.response.content
  • flow.response.url

mitm 有什么可以获取通话时间的吗?

0 投票
5 回答
85234 浏览

python - ImportError:没有名为“线程”的模块

当我在命令行中运行mitmproxy命令时,出现以下错误。

我用谷歌搜索了这个错误并找到了这个 stackoverflow Q&A 页面。

pydev importerror: no module named thread,pydev升级后调试不再起作用

根据上面的页面,发生错误是因为模块“ ”在python3中thread被重命名为“ ”。_thread

所以,我知道是什么导致了这个错误,但是然后呢?

我不知道现在该怎么做才能摆脱这个错误。

我是 python 新手。我刚刚将 Python 安装pip到我的 mac OSX 中,如下所示,因为我想使用mitmproxy

谁能告诉我现在该怎么办?

附加信息

正如@linusg 回答的那样,我thread.py在“site-packages”目录中创建了“”文件并将下面的代码粘贴到“ thread.py”中

在我这样做之后,“ ImportError: No module named 'thread'”消失了,但现在我有另一个 ImportError,即“ import Cookie ImportError: No module named 'Cookie'”。

似乎在 Python 3 中,Cookie模块被重命名为http.cookies(stackoverflow.com/questions/3522029/django-mod-python-error)。

现在我该怎么办?

我在“站点包”目录中的内容

0 投票
1 回答
1177 浏览

windows - mitmproxy - 如何在 Windows 中获取完整的输出文件?

刚刚在 Windows 中安装了 mitmproxy,效果很好。唯一的问题是文档中没有交互式用户界面。如果我复制控制台文本,我看不到 JSON/XML 等请求中的完整数据。如何获取包含请求的所有信息的输出文件?

0 投票
1 回答
2488 浏览

networking - 找不到 mitmproxy-ca-cert.pem

我在 Mac 和 Linux 上安装了 mitmproxy,但似乎找不到证书。所有教程似乎都假设它是在安装时下载的,但我找不到它。

有任何想法吗?

0 投票
3 回答
17259 浏览

python - 使用 mitmproxy 将 URL 更改为另一个 URL

我正在尝试使用 mitmproxy 和 Python 将一个页面重定向到另一个页面。我可以毫无问题地与 mitmproxy 一起运行我的内联脚本,但是在将 URL 更改为另一个 URL 时我被卡住了。就像我去 google.com 一样,它会重定向到 stackoverflow.com

这在理论上应该有效。我http://google.com/在 mitmproxy 的 GUI 中看到(作为 GET),但从print("It does contain it")未被解雇。

当我尝试将其放在flow.request.url = "http://stackoverflow.com"正下方时,print("DEBUG")它也不起作用。

我究竟做错了什么?我还尝试if "google.com" in flow.request.url检查 URL 是否包含google.com,但这也不起作用。

谢谢

0 投票
1 回答
1179 浏览

linux - 如何重新排序 HTTP 标头?

我想知道是否有任何方法可以重新排序浏览器发送的 HTTP 标头,然后再发送回 Web 服务器?

由于标题的顺序留下了某种“指纹”,请参阅这篇文章这篇文章,我正在考虑使用MITMProxy(我猜是内联脚本)来即时修改标题。这可能吗?

如何实现这一目标?
注意:我正在寻找一种可以编写脚本的方法,而不是使用像Burp Suite这样的图形工具的方法(尽管众所周知 Burp 能够重新排序标题)

我愿意接受建议。也许 NGINX 也可能会来救援?

编辑:我应该更具体,举个例子......

假设我正在使用 Firefox。通过使用一个时髦的插件,我欺骗了我的用户代理“看起来”像一个 Chrome 浏览器。但是,如果我用ip-check.info测试我的浏览器,我的浏览器的“签名”仍然是 Firefox 的,即使我的欺骗用户代理显示“Chrome”。

因此,在这种特定情况下,解决方案应该是以与 Chrome 相同的方式重新排序 HTTP 标头。

如何才能做到这一点?

0 投票
2 回答
549 浏览

macos - 用 pip 安装 mitmproxy,得到错误

mitmproxy在 Mac OS 上安装10.11pip. 但我收到错误:

0 投票
1 回答
147 浏览

python-2.7 - Python - 只监听一个 URL 的代理

我正在尝试在 Python 中创建一个代理,它侦听特定端口并在我的计算机 ip 上设置(基本上就像 burp 套件或 Charles)我需要这个代理来“监视”我知道并且我需要的一个特定 URL它会自动更改参数,然后使用更改后的参数传递 URL

例子:

之前:www.google.com?debug=false

之后:www.google.com?debug=true

我正在考虑使用 MITM 代理模块。我认为 URL 将是 HTTPS,所以我需要生成正确的证书?

任何帮助或见解都将是有价值的!

谢谢!

0 投票
1 回答
601 浏览

amazon-ec2 - 在 Amazon EC2 实例 (CentOS) 上使用 pip 安装 mitmproxy 时出现问题

我正在尝试使用 pip 在我的 EC2 linux 实例上安装 mitproxy:

sudo pip install mitmproxy

我安装了 python2.7,现在有 2 个 libffi 实例

$ rpm -qa | grep libff libffi-3.0.13-11.4.amzn1.x86_64 libffi-devel-3.0.13-11.4.amzn1.x86_64

但每次我尝试运行安装命令时,都会收到以下错误消息:

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_openssl.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.o build/temp.linux-x86_64-2.7/_openssl.c:423:30: fatal error: openssl/opensslv.h: No such file or directory #include <openssl/opensslv.h> ^ compilation terminated. error: command 'gcc' failed with exit status 1

有什么想法我哪里出错了吗?