【问题标题】:How to debug Websockets?如何调试 Websocket?
【发布时间】:2011-04-24 22:01:50
【问题描述】:

我想监控 websocket 流量(比如查看客户端/服务器使用的协议版本)以进行调试。我该怎么做呢?对于这样的任务,Wireshark 的级别似乎太低了。有什么建议吗?

【问题讨论】:

标签: networking websocket


【解决方案1】:

Wireshark 听起来像你真正想要的。握手后 WebSockets 几乎没有框架或结构(所以你想要低级),即使有,wireshark 很快(或已经)有能力解析它并向你展示结构。

就我个人而言,我经常使用 tcpdump 捕获数据,然后使用wireshark 解析数据。当您可能无法在要捕获数据的设备(即无头服务器)上进行wireshark时,这尤其好。例如:

sudo tcpdump -w /tmp/capture_data -s 8192 port 8000

或者,如果您可以控制 WebSockets 服务器(或代理),您可以随时打印发送和接收数据。请注意,由于 websocket 帧以 '\x00' 开头,因此需要避免打印,因为在许多语言中,'\x00' 表示字符串的结尾。

【讨论】:

    【解决方案2】:

    如果您正在寻找发送和接收的实际数据,最近的 Chrome Canary 和 Chromium 现在具有 WebSocket 消息帧检查功能。 您可以在this thread 中找到详细信息。

    【讨论】:

      【解决方案3】:

      我认为你应该使用 Wireshark

      步骤

      • 打开wireshark
      • 进入捕获并遵循以下路径:捕获 > 接口 > 在您的相应设备中开始捕获。
      • 在过滤器tcp.dstport == your_websoket_port中写入规则
      • 点击应用

      【讨论】:

      【解决方案4】:

      对于简单的事情,wireshark 太复杂了,我只想检查是否可以建立连接。跟随 Chrome 插件 "Simple Web-socket (link : https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo?hl=en)" 像魅力一样工作。见图片。

      https://lh3.googleusercontent.com/bEHoKg3ijfjaE8-RWTONDBZolc3tP2mLbyWanolCfLmpTHUyYPMSD5I4hKBfi81D2hVpVH_BfQ=w640-h400-e365

      【讨论】:

        猜你喜欢
        • 2023-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 2012-09-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多