谷歌协议缓冲区,用于解析网络跟踪(PCAP)中的文本和二进制协议消息



我想使用Google协议缓冲区从网络跟踪中解析应用层协议,并回放跟踪(我使用的是python)。我需要从网络跟踪中自动生成协议消息描述(在.proto文件中)的建议。

所以您想重建通过应用层协议传递的.proto消息是什么?

这并不像听起来那么容易。首先,.proto消息不能通过有线原始发送,因为接收方需要知道它们的长度。它们需要以某种方式进行封装,可能是在HTTPPOST中,也可能是预先准备好4字节大小的原始数据。我不知道你的申请会是什么,但你需要处理这个问题。

其次,你不能仅从消息中重建完整的proto。您只能得到标记号和类型,而不能得到名称。此外,你会丢失关于子消息的信息——子消息和纯字符串的编码是相同的(你可能可以通过观察它们来判断哪个是哪个,但我认为你不能自动做到这一点)。您也永远不会知道从未发送过的可选项目。但是,您可以在没有proto的情况下解析缓冲区,并获得一些合理的数据(int、重复字符串等)。

第三,您需要从pcap日志重建应用程序字节流。我不知道该怎么做,但我怀疑有一些工具可以帮你做到这一点。

相关内容

最新更新