0

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

4

1 回答 1

0

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

这并不像听起来那么容易。首先,.proto 消息不能通过网络直接发送,因为接收者需要知道它们的长度。它们需要以某种方式封装,可能是在 HTTP POST 中或前面加上原始的 4 字节大小。我不知道你的应用程序会是什么,但你需要处理它。

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

第三,您需要从 pcap 日志中重建应用程序字节流。我不确定如何做到这一点,但我怀疑有一些工具可以为你做到这一点。

于 2012-09-13T03:41:12.913 回答