【问题标题】:Monitoring secure web sockets (wss) with wireshark使用wireshark监控安全网络套接字(wss)
【发布时间】:2016-05-19 13:56:09
【问题描述】:

我有一个使用安全 websocket 的应用程序,但我遇到了问题。

我想使用wireshark 来调试问题,但是我无法找出正确的参数来放入wireshark 来监控和显示使用HTTPS 的安全Web 套接字连接。

有谁知道可以满足我需要的wireshark过滤器,如果我需要做任何其他事情来使用wireshark监控安全的websocket?

【问题讨论】:

标签: websocket wireshark


【解决方案1】:

如果您想监控浏览器和服务器之间的 WebSocket 连接,那么使用ChromeFirefox 开发人员工具可能是最简单的。


以下内容适用于使用 HTTP/1.1 的 WebSockets,它可能不适用于使用 HTTP/2 (RFC 8441) 引导的 WebSockets。
以下步骤描述了 Wireshark 3.4.0 的必要步骤,但它可能也适用于较新的版本。

  1. 由于安全 WebSocket 连接(URI 方案 wss)通过 TLS 传输数据,因此适用于使用 Wireshark 解密 TLS 流量的一般步骤,请参阅 Wireshark wiki article
    根据您的设置,这些步骤和数据包捕获可能必须在 WebSocket 服务器启动之前以及与客户端的连接建立之前执行。
  2. WebSockets 使用 TCP 进行传输,因此您必须使用仅显示相关 TCP 段的 Wireshark display filter
    例如,如果您的 WebSocket 服务器正在侦听端口 443,您可以使用以下命令仅显示该端口的传入和传出数据包:
    tcp.port == 443
    
  3. 如果您正确执行了前面的步骤并单击其中一个 TLS“应用程序数据”数据包,它应该会在左下角显示一个“解密的 TLS”选项卡:
  4. 如果您使用的是众所周知的 443 端口,那么 Wireshark 能够自行检测到 HTTP 升级到 WebSocket。
    1. 但是,如果您使用自定义端口,则必须告诉 Wireshark 如何解码数据包。为此,请右键单击任何数据包并选择“解码为...”:
    2. 在新对话框中,单击“当前”列中的“(无)”,然后从下拉列表中选择“HTTP”:
  5. 您现在应该看到 HTTP 升级到 WebSocket 协议和所有 WebSocket 消息。此外,您可以检查他们的内容:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2015-03-19
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多