# Декодер кадров WebSocket (RFC 6455)

Вставьте кадры WebSocket в hex или base64 и получите побайтовую расшифровку заголовка RFC 6455: FIN, RSV, opcode (текст/бинарный/close/ping/pong), бит MASK, расширенную длину 7/16/64 бит, ключ маски и payload после XOR-демаскирования. Поддерживает несколько кадров подряд, семантику кодов закрытия, предупреждения о нарушениях протокола и цветовую карту полей со смещениями байтов.

> Каноническая страница: https://elysiatools.com/ru/tools/websocket-frame-decoder

- **Категория:** Development

- **Ключевые слова:** websocket, rfc6455, декодер кадров, opcode, ключ маски, hex-дамп, код закрытия

## Обзор

Формат кадра (RFC 6455 §5.2): байт 1 = FIN(0x80) + RSV1-3(0x40/0x20/0x10) + opcode(0x0F); байт 2 = MASK(0x80) + длина 7 бит (126 → uint16 BE в следующих 2 байтах, 127 → uint64 BE в 8 байтах); при MASK=1 далее 4 байта ключа; payload демаскируется XOR-ом mask[i mod 4]. Управляющие кадры (opcode ≥ 8) требуют FIN=1 и payload ≤ 125 байт; клиент обязан маскировать (§5.1). В кадре close первые 2 байта payload — код статуса (1000 normal, 1001 going away, 1002 protocol error, 1007 bad UTF-8, 1009 too big…).

## Входные данные

- **Данные кадров WebSocket (hex или base64)** (textarea): 81 85 37 fa 21 3d 7f 9f 4d 51 58 (hex dump or base64, multiple frames allowed)
- **Кодировка входных данных** (select)
- **Макс. байт payload для показа** (number)

## Когда использовать

- Когда в дампе трафика или логе нужно разобрать заголовок кадра WebSocket побайтно.
- Чтобы проверить маскирование клиентских кадров, opcode и демаскированный payload.
- При анализе кадров close с кодом статуса и нескольких кадров в одном hex- или base64-блоке.

## Как это работает

- Вставьте кадры в поле «Данные кадров WebSocket (hex или base64)» — допускается несколько кадров подряд.
- Выберите кодировку: автоопределение, hex-дамп или base64; при необходимости задайте лимит отображаемого payload.
- Инструмент читает байт 1 (FIN, RSV, opcode) и байт 2 (MASK и длина, включая uint16/uint64 BE), затем ключ маски и XOR-демаскирует payload.
- В HTML-результате видны цветная карта полей со смещениями, смысл opcode и кодов закрытия, а также предупреждения о нарушениях RFC 6455.

## Сценарии использования

- Разбор hex-дампа из Wireshark или прокси, чтобы увидеть FIN, opcode и ключ маски.
- Проверка текстовых и бинарных кадров, включая расширенную длину 126/127.
- Анализ последовательности кадров: текст, ping и close с кодом 1000 и причиной.

## Частые вопросы

### Какие входные данные принимает декодер?

Hex-дамп или base64; несколько кадров можно вставить подряд. Формат задаётся вручную или определяется автоматически.

### Что именно расшифровывается в заголовке?

FIN, RSV1–3, opcode, бит MASK, 7/16/64-битная длина, 4-байтный ключ маски и payload после XOR с mask[i mod 4].

### Как обрабатываются кадры close, ping и pong?

Для opcode ≥ 8 проверяются FIN=1 и payload ≤ 125 байт; в close первые два байта payload трактуются как код статуса (например 1000, 1001, 1002).

### Зачем нужен параметр максимального размера payload?

Он ограничивает объём данных, показываемых в результате (по умолчанию 256 байт, диапазон 16–4096), чтобы крупные бинарные кадры не перегружали вывод.

### Появляются ли предупреждения о нарушениях протокола?

Да: например, если управляющий кадр фрагментирован, payload слишком длинный или клиентский кадр не замаскирован.

## Связанные инструменты

- [Base64 кодировщик/декодировщик](https://elysiatools.com/ru/tools/base64-encoder): Кодирует и декодирует строки Base64
- [Base64URL кодировщик/декодировщик](https://elysiatools.com/ru/tools/base64url-encoder): Кодирует и декодирует Base64URL (URL-безопасный вариант Base64 для JWT/JWS/JWE), с преобразованием между стандартным и URL-безопасным Base64
- [Декодер assertion WebAuthn Passkey и отладчик challenge](https://elysiatools.com/ru/tools/webauthn-passkey-assertion-decoder-challenge-debugger): Разбирает clientDataJSON, authenticatorData, flags, rpIdHash и signCount; проверяет ES256, RS256 или Ed25519 при наличии открытого ключа.
- [Декодер распределенных трассировок и waterfall](https://elysiatools.com/ru/tools/distributed-trace-decoder-waterfall-visualizer): Разбирает JSON Jaeger, Zipkin или OpenTelemetry и показывает spans, время и ошибки в waterfall-отчете
- [Декодер NTP RFC 5905 / SNTP: секунда координации и эпоха](https://elysiatools.com/ru/tools/ntp-rfc-5905-sntp-leap-second-epoch-decoder): Декодирует 48-байтный пакет NTP/SNTP: битовые поля байта 0, stratum/poll/precision, root delay/dispersion, reference ID, четыре 64-битных метки времени (эпоха 1900)
- [Декодер битовых полей Snowflake / Discord](https://elysiatools.com/ru/tools/snowflake-discord-id-bit-decoder): Без потери точности разбирает 64-битные ID Snowflake, извлекает время, worker, process, sequence и оценивает shard Discord.
- [Декодер лексикографических ID: ULID / NanoID / KSUID / Snowflake](https://elysiatools.com/ru/tools/ulid-nanoid-ksuid-snowflake-id-decoder): Декодирует ULID (base32 Крокфорда), KSUID (base62), NanoID, MongoDB ObjectId и снежинки Discord/Twitter/Sonyflake: раскладывает метку времени, случайные и машинные биты, показывает время ISO и исходный hex, оценивает вероятность коллизии по парадоксу дней рождения.
- [Base64 Конвертер](https://elysiatools.com/ru/tools/base64-converter): Кодирует и декодирует данные в/из формата Base64 с опциями URL-safe

## Примеры

- [Примеры WebSocket](https://elysiatools.com/ru/samples/websocket): Примеры связи в реальном времени с использованием протокола WebSocket, включая чат, уведомления и потоковую передачу данных
- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата

## Связанные материалы

- [Инструменты разбора полуструктурированного текста и извлечения таблиц](https://elysiatools.com/ru/hubs/semi-structured-text-table-extraction): Преобразуйте текст фиксированной ширины, записи со смешанными разделителями, журналы и таблицы HTML или Markdown в чистые форматы CSV, JSON, XML или Excel.
