gpt4 book ai didi

websocket - 使用wireshark监控安全网络套接字(wss)

转载 作者:行者123 更新时间:2023-12-03 09:43:17 30 4
gpt4 key购买 nike

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

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

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

最佳答案

如果你想监控浏览器和服务器之间的 WebSocket 连接,那么使用 Chrome 可能是最简单的。或 Firefox开发者工具。

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

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

  • 您现在应该看到对 WebSocket 协议(protocol)和所有 WebSocket 消息的 HTTP 升级。此外,您可以检查它们的内容:
    Decoded WebSocket packets
  • 关于websocket - 使用wireshark监控安全网络套接字(wss),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35294463/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com