0
我想使用Google协议缓冲区解析网络跟踪中的应用层协议并重播跟踪(我正在使用python)。我需要建议从网络跟踪中自动生成协议消息描述(在.proto文件中)。用于解析网络跟踪(PCAP)中的文本和二进制协议消息的Google协议缓冲区
我想使用Google协议缓冲区解析网络跟踪中的应用层协议并重播跟踪(我正在使用python)。我需要建议从网络跟踪中自动生成协议消息描述(在.proto文件中)。用于解析网络跟踪(PCAP)中的文本和二进制协议消息的Google协议缓冲区
所以你想重建什么.proto消息通过应用层协议传递?
这并不像听起来那么容易。首先,.proto消息不能通过线路原始发送,因为接收者需要知道它们有多长。它们需要以某种方式进行封装,可能是在HTTP POST中,或者预先加上了4字节的原始大小。我不知道你的应用会是什么,但你需要处理。
其次,你不能从消息中重建完整的.proto。您只能获得标签号码和类型,而不是名称。此外,你将失去有关子消息的信息 - 子消息和纯字符串的编码是相同的(你可以通过目测确定哪些是通过它们进行编码的,但我认为你不能自动完成)。你也永远不会知道从未发送过的可选项目。但是你可以在没有原型的情况下解析缓冲区,并获得一些合理的数据(整数,重复字符串等)。
第三,您需要从pcap日志中重建应用程序字节流。我不知道该怎么做,但我怀疑有些工具会为你做。
您如何生成网络跟踪? –
网络跟踪通过wireshark生成。它以PCAP格式。 – user1667320