---
url: https://docs.ogmabox.com/zh/app/ws-replay.md
description: 在 Ogma 中重新连接 WebSocket 端点、编辑帧并重新发送捕获的消息。
---

# WebSocket 重放 {#websocket-replay}

WebSocket 重放创建可复用的会话，用于测试 WebSocket 端点。你可以使用捕获的握手详情重新连接、编辑消息、发送新帧，并观察服务器响应。

## 创建会话 {#creating-a-session}

有两种创建 WebSocket 重放会话的方式：

* 在 **WS / SSE 历史记录**中右键单击捕获的 WebSocket 消息，选择**发送到 WS 重放**。
* 打开 **WS 重放**，使用 `ws://` 或 `wss://` URL 手动创建会话。

手动会话可包含用于 Cookie、授权令牌、协议协商或应用专属握手值的自定义头部。

## 会话设置 {#session-setup}

| 字段 | 说明 |
| --- | --- |
| 名称 | 便于阅读的会话标签。 |
| URL | WebSocket 端点。URL 必须以 `ws://` 或 `wss://` 开头。 |
| 头部 | 连接时发送的可选握手头部。 |

更改 URL 或头部后，Ogma 会在打开下一个连接前保存会话。

## 连接 {#connecting}

选择会话并点击**连接**。连接状态显示套接字是未连接、正在连接、已打开、正在关闭还是已关闭。

切换目标或更改握手详情前，使用**断开连接**。编辑 URL 或头部后重新连接，以测试新的服务器路径或认证上下文。

连接只完成 WebSocket 握手。许多应用随后需要认证或初始化帧，才会接受业务消息。以捕获的第一条客户端消息作为基线，等待其确认后，再发送修改后的消息。捕获的 Cookie、签名 URL 和令牌可能已经过期。

## 发送消息 {#sending-messages}

使用消息编辑器编辑载荷，并通过选中的会话发送。文本载荷以 WebSocket 文本帧发送。

要发送十六进制字节，请切换到二进制模式。**重放捕获的第一条 WebSocket 消息**有助于重新发送初始化消息，**重放捕获的出站消息序列**会按顺序发送捕获的客户端消息。请在时间线中检查回复，不要假定发送序列就重建了应用状态。

协议编辑器支持原始 WebSocket 和托管 GraphQL 模式（`graphql-transport-ws` 和旧版 `graphql-ws`）。选择目标使用的协议，并提供其连接参数。需要时保留原始子协议头部；请求错误协议可能导致升级失败。

**刷新时间戳**默认关闭。仅为需要新时间戳的未签名请求启用：更改签名 URL 或载荷可能使签名失效。**自动重连**会在断开连接后重试，但新连接仍可能需要应用层认证。

从历史记录发送的捕获消息会以原始载荷为起点，因此你可以每次只更改一个字段并比较行为。

## 消息时间线 {#message-timeline}

时间线记录选中会话发送和接收的帧。

| 列 | 说明 |
| --- | --- |
| 方向 | 帧是由客户端发送，还是从服务器接收。 |
| 操作码 | 帧类型，例如 text、binary、ping、pong 或 close。 |
| 大小 | 载荷大小。 |
| 时间 | Ogma 观察到该帧的时间。 |

选择消息以检查载荷。JSON 载荷会在可能时格式化；原始内容仍可用于精确检查。

## 测试流程 {#testing-workflow}

1. 在 **WS / SSE 历史记录**中捕获正常的 WebSocket 交互流程。
2. 将值得关注的客户端消息发送到 **WS 重放**。
3. 重新连接并重新发送原始消息，确认基线行为。
4. 每次修改一个字段、令牌、ID 或命令。
5. 在**安全发现**中记录已确认的行为，或在**笔记**中保留记录。

## 故障排查 {#troubleshooting}

| 症状 | 检查内容 |
| --- | --- |
| 升级被拒绝或禁止 | URL、Origin、Cookie、授权，以及过期的签名查询值。 |
| 无效或未请求的子协议 | 将升级头部与捕获的握手及所选协议模式进行比较。 |
| 连接成功后关闭 | 检查系统/关闭消息，并发送必需的初始化或认证帧。 |
| 消息已发送但没有有用回复 | 确认订阅 ID、先前消息、认证和应用状态；WebSocket 传输不会自动重建浏览器会话。 |

使用 MCP 时，请使用专用的 WS 重放消息列表/读取工具和断开连接工具。捕获历史记录工具读取的是不同的交互记录；参阅 [MCP 工具参考](../reference/mcp-tools.md#websocket-and-sse)。

## 相关页面 {#related-pages}

* [WebSocket 与 SSE 历史记录](./ws-sse-history.md)
* [重放](./replay.md)
* [安全发现](./findings.md)
