protobuf 介紹及反序列化

何為 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

image.png

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容