选择同一方向的数据
来源方向只负责检查客户端帧是否掩码、服务端帧是否未掩码。“不指定”跳过这项检查,不会自动拆分交错的双向流。请按原顺序粘贴同一方向的连续帧。
协议 / 二进制序列化
从帧头开始粘贴十六进制字节,可先试掩码、分片和截断示例。
从帧头开始:81 05 48 65 6c 6c 6f。完整字节可用空白、逗号或冒号分隔;0x 逐字节使用。
输入帧字节或选择示例。
全部处理在当前浏览器标签页完成,不发送或保存输入。
输入帧字节或选择示例。
抓包里看到的字节段不一定对应应用收到的一条消息。WebSocket 帧解析把每个帧头与载荷分开列出,让夹在分片之间的 ping 保持独立。排查长度计算偏差时,可以用结果中的绝对字节偏移对照原始记录,找出下一帧应从哪里开始。
WebSocket 帧解码需要的是 HTTP 升级之后、从帧头开始的原始数据。浏览器消息事件通常已经移除了帧头;直接把事件中的文本当作帧字节,会得到与真实线路无关的字段。先确认采集层级,再判断解析结果。
WebSocket 帧解析按实际头部与载荷长度向后推进,每张结果卡保留原始偏移。后面的帧不完整时,前面已完成的帧仍可查看,但报告导出会禁用,避免把部分捕获误当成完整结果。
WebSocket 掩码键有四个字节,循环作用于每个载荷位置。结果同时列出线路字节与 XOR 后的字节,每遇到新帧就从该帧密钥的首字节重新开始。去掩码只改变内容,不改变载荷长度。
来源方向只负责检查客户端帧是否掩码、服务端帧是否未掩码。“不指定”跳过这项检查,不会自动拆分交错的双向流。请按原顺序粘贴同一方向的连续帧。
每帧仅预览前 256 字节;捕获截断则表示现有字节少于头部声明的长度。前者不影响完整报告,后者会给出偏移与缺少的数据数量,并禁用导出。两种情况不能混为一谈。
默认在修改后等待 350 毫秒解析,关闭自动开关后出现解析按钮,也可按 Ctrl/Cmd+Enter。修改输入或方向后旧结果立即过期。示例和清空先预览替换数量,应用后可撤销并恢复输入与结果。
头部的短长度直接表示字节数;126 和 127 则转向后续扩展字段。WebSocket 有效载荷长度按网络字节序读取,超大声明先用精确整数判断上限,不按声明值直接分配内存。非最短编码会保留并提示。
关闭、ping 和 pong 单独列出。关闭载荷的前两字节作为状态码,其后作为 UTF-8 原因;控制帧被分片、载荷过长或状态码异常都会显示警告。读出关闭帧并不能证明双方完成了关闭握手。
独立完整文本帧使用严格 UTF-8 检查。二进制帧即使有可读预览,也仍然是二进制帧。显示边界切到半个字符时不会制造乱码;分片或扩展载荷不冒充完整文本,也不把单个分片的半字符误报为消息损坏。
头部、扩展长度、掩码键或载荷不足会停止解析,并显示从零开始的字节偏移及从一开始的输入行列。保留 opcode 或 RSV 非零等异常仍可展示已知边界,便于检查原始证据。
客户端使用四字节随机键改变线路上的载荷,避免可控字节误导中间设备。对载荷再次执行相同的循环异或即可还原。密钥就在帧中,因此它不提供保密性;基础协议要求服务端发出的帧不带掩码。
126 和 127 是长度形式的标记,不是实际载荷字节数。前者读取后续两字节,后者读取后续八字节,均为大端序。八字节长度的最高位必须为零。实际载荷长度不包含帧头,也不包含四字节掩码键。
可以。请粘贴同一方向、按线路顺序排列的连续帧。解析器按每帧的声明长度推进,保留空载荷和中间控制帧。遇到不完整帧时,需要补全或修正捕获数据后才能导出完整报告。
空载荷表示没有状态码;非空时,前两字节为状态码,余下内容为 UTF-8 关闭原因。只有一个字节、使用禁止在线路发送的状态码或原因编码无效,都会提示。空关闭帧不会被擅自填成正常关闭。
不支持。HTTP Upgrade 请求与响应属于帧格式之前的握手阶段。请先提取升级之后的原始帧字节。本页不剥离 TCP/IP 或 TLS 头部,不建立连接,也不校验服务端握手。
发现计算或校验问题?