转储协议 - 缓冲数据/响应

Ale*_*tov 6 c# fiddler protocol-buffers protobuf-net

是否可以转储(查看)以PB格式写入的数据,而无需了解用于写入该数据的类型?

我发现/sf/answers/717746081/

简而言之,在线上,protobufs被编码为3元组,其中键是分配给.proto模式中的字段的字段编号.类型是其中之一.它包含足够的信息来解码3元组的值,即它告诉你值的长度.

我的最终目标是为Fiddler2编写扩展,以查看以PB格式发送/接收的内容.

Mar*_*ell 6

有一个wireshark工具,iirc.

这里的问题是如果你不知道架构,protobuf格式是不明确的:

  • fixed-32可以是float或有符号或无符号整数(32位)
  • fixed-64可以是double或有符号或无符号整数(64位)
  • varint可以是有符号或无符号整数,Z字形整数或布尔值
  • 字符串可以是utf-8字符串,基元的打包数组,子消息或原始字节

事实上,唯一明确的令牌是开始/结束组,它们是半弃用的!

所以:它有点可行,但您可能需要对相同数据进行多种解释

您也可以只列出字段编号:二进制格式中没有成员名称