2017-01-01 135 views
10

greasemonkey脚本/ Chrome的用户脚本如何拦截正在运行的websocket通信?通过脚本阅读websocket通信

我的目标是有一个在浏览器游戏的附加统计

+0

您是否还在构建浏览器内游戏?如果是这样,我可能会推荐由Redux Devtools建立的模式,该模式将在Chrome插件可以挂接的应用中提供一个钩子。代码位于https://github.com/zalmoxisus/redux-devtools-extension,扩展位于https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd – carpeliam

回答

4

您可以使用Firefox,然后添加Firebug module再加入&使用websocket-monitor module监测的WebSocket。

如果你想从javascript钩住websocket,你也可以使用wshook

+0

我的目标是将这些websocket事件发布到内容脚本。一个很棒的演示将会是websocket.org/echo.html,并显示相同输出的脚本创建的并行日志窗口。我看了Websocket Monitor,并试图扩展它以满足我的需求。我在view.js中使用了'panel.port.emit()':frameReceived和wsm-panel.js:onFrameReceived。然后尝试用'self.port.on()'在内容脚本中捕获该事件。我无法分辨事件是否正在触发,但内容脚本绝对不会收到。我在这里采取正确的方法吗? –

+0

为什么不在你的模块中使用这个websocket钩子:https://github.com/skepticfx/wshook –

+0

因为websocket对象隐藏在内容脚本层,所以我不能使用钩子作为我的用例。 Websocket Monitor正在拦截较低层的websocket数据包。我无法设法将数据包转发到内容脚本。 –