何为 ProtoBuf
- 官方文档给出的定义和描述:
protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。
Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 >~ 100倍)、更为简单。
你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。你甚至可以更>新数据结构,而不破坏由旧数据结构编译的已部署程序。
简单来说,就是
- 与平台无关,与语言无关
- 高效
- 扩展性、兼容性好
反序列化工具- protoc
-
linux 安装
wget命令下载github上面的protobuf项目
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-cpp-3.7.1.tar.gz
解压
tar -xzvf protobuf-cpp-3.7.1.tar.gz
然后按照官方给出的命令进行安装
cd protobuf-3.7.1
./autogen.sh
./configure
make
make check
sudo make install
sudo ldconfig
- 检测是否安装成功
在命令行模式下输入 protoc --version
- 接下来就可以开始解开protobuf协议返回的数据了。
将抓包的response数据保存下载,通过命令
protoc --decode_raw < encodeFile
就可以愉快的分析返回的数据了
- 如果文件太大,命令行不够用怎么办,那就保存成txt
protoc --decode_raw < encodeFile > *.txt
后面整理某短视频的protobuf数据解析。。。