ProtobufInspector
Fiddler下Protobuf数据解析插件。
插件包含文件
Protobuf2Json.dll Inspectors/ProtobufInspector.dll
使用方法:
把插件文件拷贝到Fiddler的安装目录下。
插件拷贝完成并启动Fiddler之后,Fiddler日志栏会输出如下信息:

插件工作原理:
- 当Fiddler处理某一个session时,插件判断Response Headers中的"Content-Type"是否为"application/x-protobuf", 如果是,则将当前session的Response Data当作"Protobuf"数据。
- 然后再获取"Content-Type"中的"messageType"信息,当作当前Protobuf数据的"Message Type"。
- 然后再尝试获取"Content-Type"中的"desc"或者"Desc"信息,如果存在,则当作 Protobuf数据的描述文件(descriptorset)的URL并在解析前将此descriptorset文件下载下来。
- 如果Message Type和descriptorset文件都存在,则利用DynamicMessage来解析Protobuf数据。否则,需要使用者在Inspector/Protobuf中手工输入本地Proto文件所在的路径和Message Type,然后进行数据解析。

插件实现说明:
- 由于Protobuf CSharp版本中对于DynamicMessage的支持较弱,Protobuf2Json是基于Protobuf C的Dynamic Messsage实现了Protobuf数据的解析并转换成JSON格式的数据。
- ProtobufInspector是实现了Fiddler插件接口的CSharp功能,同时调用Protobuf2Json将Protobuf数据解析之后,以JSON格式展示出来。
- x86发行文件未测试过。