问题标签 [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.
security - 即使主机离线,我也可以捕获 HTTP 流量吗?
我也觉得这是一个愚蠢的问题,但我不确定如果主机离线,捕获流量是否有效?我实际上是在讨论中间人攻击,只是想假设https://example.com离线(在网络上关闭或被阻止)并且有人向http://example.com/example发出请求-category/example那么攻击者是否能够在本地网络中捕获这个完整的 GET 请求?
我认为是的,因为无论如何都会将请求从客户端发送到主机,并且应该在那里捕获它。如果是这种情况,那么如果主机脱机或在本地网络上被故意阻止,HTTPS 流量是否也可以被捕获(仅基于 GET)?
python - mitmproxy,如何获取呼叫的响应时间/持续时间?
我能够从请求和响应中获取响应代码、正文、url 和查询字符串,但我无法获取调用所花费的时间。
我们有
- flow.response.code
- flow.response.content
- flow.response.url
mitm 有什么可以获取通话时间的吗?
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)。
现在我该怎么办?
我在“站点包”目录中的内容
windows - mitmproxy - 如何在 Windows 中获取完整的输出文件?
刚刚在 Windows 中安装了 mitmproxy,效果很好。唯一的问题是文档中没有交互式用户界面。如果我复制控制台文本,我看不到 JSON/XML 等请求中的完整数据。如何获取包含请求的所有信息的输出文件?
networking - 找不到 mitmproxy-ca-cert.pem
我在 Mac 和 Linux 上安装了 mitmproxy,但似乎找不到证书。所有教程似乎都假设它是在安装时下载的,但我找不到它。
有任何想法吗?
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
,但这也不起作用。
谢谢
linux - 如何重新排序 HTTP 标头?
我想知道是否有任何方法可以重新排序浏览器发送的 HTTP 标头,然后再发送回 Web 服务器?
由于标题的顺序留下了某种“指纹”,请参阅这篇文章和这篇文章,我正在考虑使用MITMProxy(我猜是内联脚本)来即时修改标题。这可能吗?
如何实现这一目标?
注意:我正在寻找一种可以编写脚本的方法,而不是使用像Burp Suite这样的图形工具的方法(尽管众所周知 Burp 能够重新排序标题)
我愿意接受建议。也许 NGINX 也可能会来救援?
编辑:我应该更具体,举个例子......
假设我正在使用 Firefox。通过使用一个时髦的插件,我欺骗了我的用户代理“看起来”像一个 Chrome 浏览器。但是,如果我用ip-check.info测试我的浏览器,我的浏览器的“签名”仍然是 Firefox 的,即使我的欺骗用户代理显示“Chrome”。
因此,在这种特定情况下,解决方案应该是以与 Chrome 相同的方式重新排序 HTTP 标头。
如何才能做到这一点?
macos - 用 pip 安装 mitmproxy,得到错误
我mitmproxy
在 Mac OS 上安装10.11
了pip
. 但我收到错误:
python-2.7 - Python - 只监听一个 URL 的代理
我正在尝试在 Python 中创建一个代理,它侦听特定端口并在我的计算机 ip 上设置(基本上就像 burp 套件或 Charles)我需要这个代理来“监视”我知道并且我需要的一个特定 URL它会自动更改参数,然后使用更改后的参数传递 URL
例子:
之前:www.google.com?debug=false
之后:www.google.com?debug=true
我正在考虑使用 MITM 代理模块。我认为 URL 将是 HTTPS,所以我需要生成正确的证书?
任何帮助或见解都将是有价值的!
谢谢!
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
有什么想法我哪里出错了吗?