何為 ProtoBuf
- 官方文檔給出的定義和描述:
protocol buffers 是一種語(yǔ)言無(wú)關(guān)、平臺(tái)無(wú)關(guān)、可擴(kuò)展的序列化結(jié)構(gòu)數(shù)據(jù)的方法,它可用于(數(shù)據(jù))通信協(xié)議、數(shù)據(jù)存儲(chǔ)等。
Protocol Buffers 是一種靈活,高效,自動(dòng)化機(jī)制的結(jié)構(gòu)數(shù)據(jù)序列化方法-可類比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 >~ 100倍)、更為簡(jiǎn)單。
你可以定義數(shù)據(jù)的結(jié)構(gòu),然后使用特殊生成的源代碼輕松的在各種數(shù)據(jù)流中使用各種語(yǔ)言進(jìn)行編寫(xiě)和讀取結(jié)構(gòu)數(shù)據(jù)。你甚至可以更>新數(shù)據(jù)結(jié)構(gòu),而不破壞由舊數(shù)據(jù)結(jié)構(gòu)編譯的已部署程序。
簡(jiǎn)單來(lái)說(shuō),就是
- 與平臺(tái)無(wú)關(guān),與語(yǔ)言無(wú)關(guān)
- 高效
- 擴(kuò)展性、兼容性好
反序列化工具- protoc
-
linux 安裝
wget命令下載github上面的protobuf項(xiàng)目
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
然后按照官方給出的命令進(jìn)行安裝
cd protobuf-3.7.1
./autogen.sh
./configure
make
make check
sudo make install
sudo ldconfig
- 檢測(cè)是否安裝成功
在命令行模式下輸入 protoc --version
image.png
- 接下來(lái)就可以開(kāi)始解開(kāi)protobuf協(xié)議返回的數(shù)據(jù)了。
將抓包的response數(shù)據(jù)保存下載,通過(guò)命令
protoc --decode_raw < encodeFile
就可以愉快的分析返回的數(shù)據(jù)了
- 如果文件太大,命令行不夠用怎么辦,那就保存成txt
protoc --decode_raw < encodeFile > *.txt

后面整理某短視頻的protobuf數(shù)據(jù)解析。。。
