如何使用 mitmproxy 忽略所有 websocket 连接?

the*_*sti 4 python proxy websocket mitmproxy

目前,mitmproxy 似乎无法处理 websocket 连接。

我怎样才能传递这些以便客户端仍然可以与 websocket 服务器连接?

这是我当前的命令:

./mitmproxy --anticache -s InjectScripts.py

具体来说,就我而言,我目前希望使用我的代理的客户端能够在agar.io上玩游戏,它使用 websocket 连接与托管游戏的(出于我们的目的,随机的)服务器进行通信。

agar.io 连接到的游戏托管服务器示例:ws://151.80.96.51:1515ws://37.187.171.110:1523ws://37.187.163.130:1518

我已经尝试使用 mitmproxy 的忽略域功能(从命令行和程序内),以及他们推荐的TCP 代理功能。这是我尝试使用的模式:

./mitmproxy --anticache -s InjectScripts.py --ignore ^agar.io$

但这只会阻止 agar.io 加载(灰色背景,正确的文档标题,但仅此而已)。

我认为因为客户端连接到不同的服务器(不是ws://agar.io),我无法使用简单的域忽略,但我可能是错的。


虽然目前我只对 agar.io 感兴趣,但如果能有一个适用于所有 websocket 服务器的解决方案就好了。

那么,简而言之,如何让客户端连接到 ws 服务器?

Max*_*ils 5

如果您使用 mitmproxy 0.15+,则通过--raw-tcp应该可以完成工作。这会将所有非 HTTP 流量自动置于 TCP 模式。