基于序列化协议的PCAP数据解析方法、装置及设备与流程

专利2025-06-22  22


本发明涉及网络,尤其是涉及一种基于序列化协议的pcap数据解析方法、装置及设备。


背景技术:

1、序列化协议是指将数据结构或对象状态转化为可以存储或传输的形式的过程。在序列化过程中,对象被分解为一系列字节,这些字节可以按照特定的顺序重新组合以重建对象。这个过程可以保证对象的完整性和一致性,使得在不同的系统或平台上,都可以正确地重建对象。

2、pcap(packet capture)是一种常见的网络数据捕获格式,它允许用户以原始的、未修改的方式捕获网络数据包。它基于操作系统内核层的实现来进行数据包的捕获,可以捕获网络数据包并进行多种操作,例如过滤、深度分析等。pcap文件是指通过pcap技术捕获的网络数据包以文件形式存储的格式。pcap文件解析技术是通过对pcap文件进行读取和分析,提取其中包含的网络数据包信息的技术。它广泛应用于网络通信、安全审计、协议分析等领域。

3、由于序列化协议具有简单性和可扩展性等特点,目前全自动列车监控系统也使用高效率的数据序列化进行软件间的数据传输,但目前无法对各软件捕获的基于序列化协议的pcap数据文件进行读取和解析,这使得对全自动列车监控系统软件间的数据信息的理解和分析受到限制。因此,开发一种基于序列化协议的pcap数据解析方法具有重要意义。

4、如何实现基于序列化协议的pcap数据解析,成为需要解决的技术问题。


技术实现思路

1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于序列化协议的pcap数据解析方法、装置及设备。

2、本发明的目的可以通过以下技术方案来实现:

3、根据本发明的一个方面,提供了一种基于序列化协议的pcap数据解析方法,该方法包括以下步骤:

4、步骤s1、将全自动列车监控系统软件间交换的信息定义为消息文件,并使用编译工具将定义好的消息文件编译成源代码文件;

5、步骤s2、定义消息字典,用于存放步骤s1中消息文件的消息名和消息类型;

6、步骤s3、捕获步骤s1的源代码文件并保存为pcap数据包,根据步骤s2定义的字典,将pcap数据包中每个数据包的应用层数据进行反序列化,生成反序列化的字节字符串,并以文本形式存储或传输;

7、步骤s4、重构pcap数据包,实现pcap数据反序列化的解析和可视化分析。

8、优选地,所述源代码文件用于生成消息类以及编解码。

9、更加优选地,所述编解码具体为:将消息对象转换为二进制数据或将二进制数据转换为消息对象。

10、优选地,所述的步骤s2中,所述字典的key为消息的id,所述字典的value为消息的类型。

11、优选地,所述的步骤s3的过程包括:

12、a)读取pcap数据包的全局头;

13、b)遍历pcap数据包中每个数据包的数据包头和数据包内容;

14、c)获取每个数据包的数据内容,按照步骤s2定义的字典,取出每个数据包中应用层需要反序列化的字节数以及对应的消息类型,并将其作为参数调用反序列化函数进行反序列操作。

15、更加优选地,所述的调用反序列化函数进行反序列操作的过程包括:

16、首先,从步骤s1的源代码文件中获取消息类;

17、接着,使用该消息类创建一个空的消息对象,并通过使用消息类中的编解码器函数将需要反序列化的字节字符串解析为消息对象的属性;

18、然后,遍历消息对象中的每个字段和对应的值,并将其以字符串形式拼接起来;

19、最后,将拼接的结果字符串编码为ascii码,并以文本形式存储或传输。

20、更加优选地,通过二进制方式读取所述pcap数据包的全局头。

21、优选地,所述的重构pcap数据包的过程包括:

22、创建一个新的pcap包对象,用于存放解析后的pcap数据;

23、将pcap数据包的全局头,每个数据包的包头,以及应用层反序列化的字节字符串作为数据包内容进行拼接写入新的pcap包对象,形成新的pcap数据包。

24、根据本发明的另一个方面,提供了一种基于序列化协议的pcap数据解析装置,该装置包括依次连接的消息文件编译模块、反序列化模块、重构pcap包模块和pacp数据解析模块。

25、优选地,所述的消息文件编译模块,用于将全自动列车监控系统运行过程中软件间交换的信息定义为消息文件,使用编译工具将定义好的消息文件编译成源代码文件。

26、优选地,所述的反序列化模块,通过二进制方式读取pcap数据包的全局头,遍历每个数据包的包头和数据包内容,将每个数据包中应用层需要反序列化的字节数以及对应的消息类型,调用反序列化函数进行解析,以文本形式存储或传输。

27、优选地,所述的重构pcap包模块,用于重构pcap包,即将pcap数据包全局头,每个数据包的包头以及应用层反序列化的字节字符串作为数据包内容进行拼接写入新的pcap文件。

28、优选地,所述的pacp数据解析模块,用于实现pcap数据反序列化的解析并可以进行可视化分析。

29、根据本发明的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现所述的方法。

30、与现有技术相比,本发明具有以下有益效果:

31、1)本发明在设计阶段将全自动列车监控系统软件间交换的信息定义为消息文件,结合定义的用于存放消息名和消息类型字典,通过对序列化协议的pcap应用层数据的反序列化和pcap数据包的重构,使得解析后的pcap数据包既包含了底层网络协议信息,又包含了可读的应用层数据;与现有技术相比,重新构造pcap数据包可以使得解析和分析pcap数据变得更加方便和高效,同时还可以提高数据的可靠性和安全性。

32、2)本发明包括了反序列化技术的实现,可以将序列化的数据还原为原始数据;与现有技术相比,反序列化技术的实现可以提高数据的可读性和可维护性。

33、3)本发明实现pcap数据的可视化分析,使得用户可以更加直观地分析和理解pcap数据;与现有技术相比,可视化分析的实现可以提高数据分析的效率和准确性。



技术特征:

1.一种基于序列化协议的pcap数据解析方法,其特征在于,该方法包括以下步骤:

2.根据权利要求1所述的一种基于序列化协议的pcap数据解析方法,其特征在于,所述源代码文件用于生成消息类以及编解码。

3.根据权利要求2所述的一种基于序列化协议的pcap数据解析方法,其特征在于,所述编解码具体为:将消息对象转换为二进制数据或将二进制数据转换为消息对象。

4.根据权利要求1所述的一种基于序列化协议的pcap数据解析方法,其特征在于,所述的步骤s2中,所述字典的key为消息的id,所述字典的value为消息的类型。

5.根据权利要求1所述的一种基于序列化协议的pcap数据解析方法,其特征在于,所述的步骤s3的过程包括:

6.根据权利要求5所述的一种基于序列化协议的pcap数据解析方法,其特征在于,所述的调用反序列化函数进行反序列操作的过程包括:

7.根据权利要求5所述的一种基于序列化协议的pcap数据解析方法,其特征在于,通过二进制方式读取所述pcap数据包的全局头。

8.根据权利要求1所述的一种基于序列化协议的pcap数据解析方法,其特征在于,所述的重构pcap数据包的过程包括:

9.一种采用权利要求1所述基于序列化协议的pcap数据解析方法的装置,其特征在于,该装置包括依次连接的消息文件编译模块、反序列化模块、重构pcap包模块和pacp数据解析模块。

10.根据权利要求9所述的装置,其特征在于,所述的消息文件编译模块,用于将全自动列车监控系统运行过程中软件间交换的信息定义为消息文件,使用编译工具将定义好的消息文件编译成源代码文件。

11.根据权利要求9所述的装置,其特征在于,所述的反序列化模块,通过二进制方式读取pcap数据包的全局头,遍历每个数据包的包头和数据包内容,将每个数据包中应用层需要反序列化的字节数以及对应的消息类型,调用反序列化函数进行解析,以文本形式存储或传输。

12.根据权利要求9所述的装置,其特征在于,所述的重构pcap包模块,用于重构pcap包,即将pcap数据包全局头,每个数据包的包头以及应用层反序列化的字节字符串作为数据包内容进行拼接写入新的pcap文件。

13.根据权利要求9所述的装置,其特征在于,所述的pacp数据解析模块,用于实现pcap数据反序列化的解析并可以进行可视化分析。

14.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8中任一项所述的方法。


技术总结
本发明涉及一种基于序列化协议的PCAP数据解析方法、装置及设备,该方法包括:将全自动列车监控系统软件间交换的信息定义为消息文件,并使用编译工具将定义好的消息文件编译成源代码文件;定义消息字典,用于存放消息文件的消息名和消息类型;捕获源代码文件并保存为PCAP数据包,根据定义的字典,将PCAP数据包中每个数据包的应用层数据进行反序列化,生成反序列化的字节字符串,并以文本形式存储或传输;重构PCAP数据包,实现PCAP数据反序列化的解析和可视化分析。与现有技术相比,本发明具有实现基于序列化协议的PCAP数据解析,提高PCAP数据的可读性和可维护性等优点。

技术研发人员:裴嘉欣,周公建,苏饶,陆旭东
受保护的技术使用者:卡斯柯信号有限公司
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-15274.html

最新回复(0)