Протоколы и ИИ

Инструменты для протоколов и бинарной сериализации

Бинарные и wire-протоколы намеренно скрывают структуру, и это нормально, пока сообщение не отказывается разбираться так, как ожидалось, и не нужно посмотреть на сырые байты: сообщение Protobuf с неожиданным wire-типом, фрейм WebSocket, который будто никогда не закрывается, или подписка MQTT, которая молча пропускает сообщения, которым должна была соответствовать. Эти инструменты декодируют такие бинарные и wire-данные до уровня байтов, показывая границы и типы полей напрямую, вместо гадания по hex-дампу.

Инструменты для бинарных форматов покрывают сериализацию, которую иначе пришлось бы проверять скриптом: инструмент Protobuf Wire / Varint декодирует по смещению байтов или по файлу .proto, конвертер CBOR и конвертер MessagePack сохраняют бинарные типы при декодировании, а просмотр ASN.1 / DER / BER / TLV прослеживает границы байтов в структурах сертификатов. Для живых протоколов декодер фреймов WebSocket разбирает заголовки захваченных данных по одному, парсер RESP Redis делит данные по кадрам и типам, а маски топиков MQTT показывают, какие темы совпадают с фильтром.

14 инструментов

Вопросы об инструментах категории «Protocols & Binary Serialization»

Как декодировать сообщение Protobuf без файла .proto?

Wire-формат Protobuf показывает номера полей и wire-типы даже без схемы, просто без имён полей. Инструмент Protobuf Wire / Varint декодирует сообщения wire-формата по смещению байтов, если файла .proto нет, или разбирает по нему, если он есть.

Почему подписка MQTT не получает сообщения, которые должна?

Фильтры топиков MQTT используют wildcard-символы + и # со строгими правилами совпадения, и фильтр, который выглядит верным, всё равно может не совпасть с топиком с лишним или недостающим уровнем. Маски топиков MQTT проверяют фильтры подписки против реальных топиков и точно показывают, какие из них совпадают.

В чём разница между CBOR и MessagePack?

Оба формата — компактная бинарная альтернатива JSON со схожей системой типов, но они различаются кодированием на уровне байтов, а CBOR — стандарт IETF с тегами расширений, которых нет в MessagePack. Конвертер CBOR и конвертер MessagePack декодируют каждый свой формат, сохраняя исходные бинарные типы.