thrift协议抓包解析(tcpdump+wireshark or thrift-tool)

目前thrift使用较多,所以我们可能会遇到线上查case或者想拉取一些具体请求的场景,这种需求下如果没有提前打日志就只能通过抓包来分析了。

一、tcpdump+wireshark

抓包第一反应就是通过tcpdump命令来抓取,其中比较常用的命令就是

sudo tcpdump -i any -Xvv dst port 11311 and tcp

这种情况下的包通常都是二进制的格式,通过-Xvv也就能展现成这个样子:
thrift协议抓包解析(tcpdump+wireshark or thrift-tool)_第1张图片
当然我们还可以通过-w 命令变成一个pcap文件

sudo tcpdump -i any -Xvv dst port 11311 and tcp -w dump.pcap

然后下载下来用wireshark打开文件进行分析(好像只能保证解析出来使用TBinaryProtocol的包):
thrift协议抓包解析(tcpdump+wireshark or thrift-tool)_第2张图片

其中wireshark自己就识别了thrift协议并进行了接口的解析以及一定的展示,然后根据thrift自己使用的类型对照thrift协议就能解析出来了,具体类型对照可以参考:Display Filter Reference: Thrift Protocol。

二、开源工具thrift-too

你可能感兴趣的:(常用技术)