无法读取我的websocket数据包

Tho*_*hom 3 wireshark websocket

我在基于Tyrus的客户端和我的tomcat Web服务器之间使用websocket而没有压缩.我在tomcat端看到来自我的套接字的消息,但如果我设置一个wireshark来观看它们来到我的websocket客户端,我找不到我的消息的文本.

由于它们没有被压缩,因此它们必须以某种方式编码.谁能告诉我如何在wireshark中读取我的数据包?

Pav*_*cek 5

WebSocket协议定义了当客户端将它们发送到服务器时必须屏蔽帧数据.因此,您应该能够在计划文本中看到来自服务器的内容,但是从客户端到服务器的帧不应该是可读的.

我不确定Wireshark目前在websocket框架检查方面提供了什么,但你可以插入一些内容.以下是websocket框架格式(摘自第5.2章,RFC6455)

      0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-------+-+-------------+-------------------------------+
 |F|R|R|R| opcode|M| Payload len |    Extended payload length    |
 |I|S|S|S|  (4)  |A|     (7)     |             (16/64)           |
 |N|V|V|V|       |S|             |   (if payload len==126/127)   |
 | |1|2|3|       |K|             |                               |
 +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
 |     Extended payload length continued, if payload len == 127  |
 + - - - - - - - - - - - - - - - +-------------------------------+
 |                               |Masking-key, if MASK set to 1  |
 +-------------------------------+-------------------------------+
 | Masking-key (continued)       |          Payload Data         |
 +-------------------------------- - - - - - - - - - - - - - - - +
 :                     Payload Data continued ...                :
 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
 |                     Payload Data continued ...                |
 +---------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

为了能够从客户端到服务器查看"纯文本"数据,您需要取消屏蔽它们 - XOR屏蔽您的有效负载的密钥.