我正在尝试使用 websockets 传递二进制数据来调试 Web 应用程序。 Chrome DevTools 有一个方便的网络选项卡,可以显示 websocket 框架...除了二进制框架之外,它只显示 Binary Frame (Opcode 2)
,仅此而已。我不知道他们为什么在这个时候停下来,因为提供更多信息是如此容易。我什至找到了pull request for this feature从 2 年前开始。
无论如何,我正在寻找替代方案。我还想为二进制数据添加一些自定义解析逻辑。
到目前为止,我找到的最佳解决方案 - 取消停靠开发工具窗口,为开发工具打开另一个开发工具(在“元素”选项卡中按 Ctrl+Shift+I),导航到“网络”选项卡的源文件,在该行上放置一个断点设置框架的文本内容,并在编辑断点菜单中添加修改局部变量的JS代码。我得到了这样的东西,这几乎是完美的,但是设置起来相当麻烦,并且很难与更复杂的解析代码一起使用。
理想情况下,这样的事情可以通过 Chrome 扩展来完成,但 devtools 扩展似乎只能捕获常规网络请求。
另一种选择是使用 Wireshark,但这需要 SSL key 日志,并且没有明确的文档说明如何使自定义解析器解析 SSL 解码器的输出而不是原始 TCP 数据(这里有一个 question about it ,没有回答)。另外,我有大量的JS代码用于解析二进制数据,将所有内容都翻译成LUA会很痛苦。
更新:我设法使用 debugger API 对此进行了扩展。这需要制作您自己的列出框架的 UI,但最终它按照我想要的方式工作。
最佳答案
关于google-chrome - 调试二进制 websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52140370/