【问题标题】:How to ignore all websocket connections with mitmproxy?如何忽略所有与 mitmproxy 的 websocket 连接?
【发布时间】:2016-02-07 10:48:35
【问题描述】:

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

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

这是我当前的命令:

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

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

我已经尝试过使用 mitmproxy 的 Ignore Domains 功能(无论是从命令行还是从程序中),以及他们推荐的 TCP Proxy 功能。这是我尝试使用的模式:

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

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


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

那么,简而言之,我怎样才能让客户端连接到ws服务器呢?

【问题讨论】:

  • 好吧,您已经提到了您自己需要分析的内容(您的客户端通过 Websockets 连接到哪些域?)。这样做。
  • @MarcusMüller 但我不能即时忽略它们,它们可能总是在变化。感谢您的反对和富有洞察力的评论,确实解决了我的问题。
  • @MarcusMüller 如果您知道一种即时忽略不断变化的域的方法,请分享,它将立即成为公认的答案。

标签: python proxy websocket mitmproxy


【解决方案1】:

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

【讨论】:

  • 这不起作用。遇到和我之前一样的问题,页面加载不正确。
  • 这确实有效。刚刚意识到灰色页面是由于我在网页中注入的东西造成的。谢谢。
猜你喜欢
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 2017-07-05
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多