プロトコル・バイナリ形式ツール
バイナリやワイヤープロトコルは設計上構造を隠しています。想定外のwire typeを持つProtobufメッセージ、閉じないWebSocketフレーム、黙って取りこぼすMQTTのサブスクリプション。生のバイトを見る必要が出てきたとき、これらのツールはデータをバイトレベルまでデコードし境界と型を直接示します。
Protobuf wire・varintツールはバイトオフセット単位か.protoファイルでデコードでき、CBORデコーダーとMessagePackデコーダは型を保ってデコードします。WebSocketフレーム解析はヘッダー単位で確認し、Redis RESP解析は型ごとに分解し、MQTTトピックマッチングはどのトピックが一致するかを示します。
14個のツール
バイナリ形式のデコード
Protocols & Binary Serializationツールに関するFAQ
Protobufのワイヤー形式はスキーマがなくてもフィールド番号とwire typeまでは公開されており、フィールド名だけが分かりません。Protobuf wire・varintツールは.protoファイルが無いときはバイトオフセット単位でワイヤー形式のメッセージをデコードし、ある場合はそれを使って解析します。
MQTTのトピックフィルターは+と#のワイルドカードに細かい一致規則があり、正しく見えるフィルターでも階層が1つ多い、あるいは足りないトピックには一致しないことがあります。MQTTトピックマッチングはサブスクリプションのフィルターを実際のトピックに対してテストし、どれが一致するかを正確に示します。
どちらもJSONに代わるコンパクトなバイナリ形式で型システムも似ていますが、バイト単位のエンコード方式が異なり、CBORはMessagePackにはない拡張タグを持つIETF標準です。CBORデコーダーとMessagePackデコーダはそれぞれの形式を元のバイナリの型を保ったままデコードします。