wireshark支持gRPC协议

5 篇文章 2 订阅

在进行gRPC本地开发时,想通过wireshark抓取gRPC流量,选中对应的gRPC服务端port后,
wireshark抓到的包如下图,仅能识别TCP协议而无法解析GRPC协议:
在这里插入图片描述


想要wireshark支持解析gRPC协议,需通过如下2步。

步骤一:Decode As HTTP2

gRPC是构建在Http2上的,可选中图中gRPC 通信过程中的任一行数据(可通过gRPC Server端IP或Port识别),然后右键Decode As,如下图:在这里插入图片描述
然后在弹出窗口可为指定的port设置设置为HTTP2协议,最后点击OK或Save,如下图:在这里插入图片描述
此时再次查看gRPC通信效果如下图:
在这里插入图片描述
可以发现设置了Decode As HTTP2协议后,wireshark可以识别出Http2及gRPC协议,
但还是无法解析gRPC通信过程中的Protobuf数据。

注:
此步骤在之后抓取新的gRPC通信时,需要对新的gRPC请求重新设置Decode As HTTP2。


步骤二:设置wireshark ProBuf协议加载proto文件目录

想要wireshark支持解析Protobuf,需进入wireshark -> 编辑 -> 首选项 -> Protols -> ProBuf设置界面,
勾选红框中的设置,然后点击Edit选择gRPC对应的proto定义文件存放目录,
在这里插入图片描述
点击Edit后在如下界面选择proto存储目录,并点击勾选Load all files列,最后点击OK即可。
在这里插入图片描述

此时再次查看gRPC通信效果如下图:
在这里插入图片描述
可以发现设置了proto目录后,wireshark已经可以识别gRPC通信过程中的Protobuf消息及其field的具体定义和值。

注:
后续想要再解析新的gRPC协议,可统一将proto定义放到此proto目录中。


参考:
WireShark 如何捉包 gRPC 消息
腾讯云 - 使用Wireshark分析gRPC消息

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗小爬EX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值