CN112307033B - 数据包文件的重构方法、装置及设备 - Google Patents

数据包文件的重构方法、装置及设备 Download PDF

Info

Publication number
CN112307033B
CN112307033B CN202011320076.4A CN202011320076A CN112307033B CN 112307033 B CN112307033 B CN 112307033B CN 202011320076 A CN202011320076 A CN 202011320076A CN 112307033 B CN112307033 B CN 112307033B
Authority
CN
China
Prior art keywords
message
data packet
packet file
message type
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011320076.4A
Other languages
English (en)
Other versions
CN112307033A (zh
Inventor
汪庆权
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202011320076.4A priority Critical patent/CN112307033B/zh
Publication of CN112307033A publication Critical patent/CN112307033A/zh
Application granted granted Critical
Publication of CN112307033B publication Critical patent/CN112307033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Abstract

本说明书提供一种数据包文件的重构方法、装置及设备,所述方法包括:基于选择的报文类型重构数据包文件:将同一报文类型的报文连续存储在重构后的数据包文件中;将报文类型与该报文类型的连续存储的报文的起止地址之间的对应关系写入数据包文件中,这相当于在数据包文件中,为选择的每个报文类型分配了对应的存储区。如此一来,在检索过程中,可以根据用户输入的匹配条件,确定待检索的报文类型,根据报文类型与对应的起止地址间的对应关系进行报文检索,相当于只检索待检索报文类型对应的连续存储区,减少了检索的磁盘空间,减少了磁盘IO时间。在检索数据时,大大降低了查询时间,提高了用户使用体验,同时也降低了检索设备的压力。

Description

数据包文件的重构方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据包文件的重构方法、装置及设备。
背景技术
数据包文件是一种用于存储抓包工具抓取的若干报文的文件,数据包文件通常具有专用格式。在实践中,常常需要根据一定的匹配条件在数据包文件中检索满足匹配条件的报文。检索的过程中由于硬盘随机读写很慢,导致要遍历数据包文件中的所有报文。而硬盘读写速度很慢慢,使得遍历所有报文需要花费很长时间,导致检索效率很低,用户等待时间很长,影响用户体验。
发明内容
为克服相关技术中存在的检索效率低的问题,本说明书提供了一种数据包文件的重构方法、装置及设备。
根据本说明书实施例的第一方面,提供一种数据包文件的重构方法,从待重构的第一数据包文件对应的报文类型集合中,选择至少一个报文类型,所述报文类型集合中包括至少两个报文类型;所述方法包括:
针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,其中,该报文集合中每个报文在所述第二数据包文件中的存储地址是连续的;确定该报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件;
若所述报文类型集合中存在未被选择的报文类型,则将未被选择的报文类型的报文集合存储至所述第二数据包文件;
将所述第二数据包文件作为重构后的第一数据包文件。
根据本说明书实施例的第二方面,提供基于本说明书实施例第一方面任一实施例中的第二数据包文件的报文检索的方法,所述方法包括:
根据用户指定的匹配条件,确定至少一个待检索报文类型;
根据所述第二数据包文件中存储的报文类型与起止地址之间的对应关系,确定每个待检索报文类型对应的起止地址;
基于所述匹配条件,在所述第二数据包文件内进行报文检索;其中,针对每个待检索报文类型,在该待检索报文类型对应的起止地址所划定的存储空间内进行报文检索。
根据本说明书实施例的第三方面,提供一种数据包文件的重构装置,从待重构的第一数据包文件对应的报文类型集合中,选择至少一个报文类型,所述报文类型集合中包括至少两个报文类型;所述装置包括:
报文及对应关系存储单元,用于针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,其中,该报文集合中每个报文在所述第二数据包文件中的存储地址是连续的;确定该报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件;
未被选择的报文类型的报文存储单元,用于若所述报文类型集合中存在未被选择的报文类型,则将未被选择的报文类型的报文集合存储至所述第二数据包文件;
第二数据包文件认定单元,用于将所述第二数据包文件作为重构后的第一数据包文件。
根据本说明书实施例的第四方面,提供一种本说明书实施例第一方面任一实施例中的第二数据包文件的报文检索的装置,所述装置包括:
报文类型确定单元,用于根据用户指定的匹配条件,确定至少一个待检索报文类型;
起止地址确定单元,用于根据所述第二数据包文件中存储的报文类型与起止地址之间的对应关系,确定每个待检索报文类型对应的起止地址;
报文检索单元,用于基于所述匹配条件,在所述第二数据包文件内进行报文检索;其中,针对每个待检索报文类型,在该待检索报文类型对应的起止地址所划定的存储空间内进行报文检索。
根据本说明书实施例的第五方面,提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本说明书实施例第一方面或第二方面任一实施例所述的方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:在检索时,检索预先重构的数据包文件,而数据包文件中带有索引,使得无需遍历数据包文件的所有报文,只需遍历数据包文件中一块连续的存储区,减少了硬盘读写的数据量,节省了检索时的时间,提高了检索效率,提高了系统性能和响应速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种数据包文件的重构方法的流程图。
图2是本说明书根据一示例性实施例示出的一种报文检索的方法的流程图。
图3是本说明书根据一示例性实施例示出的一种数据包文件的重构装置的框图。
图4是本说明书根据一示例性实施例示出的一种报文检索的装置的框图。
图5示出了数据包文件重构的装置或报文检索的装置所在计算机设备的一种硬件结构图。
具体实施方式
数据包文件一般是通过抓包工具,将网络中的若干报文存储至一个数据包文件中。其中,数据包文件一般具有专用格式,例如可以是pcap、pcapng等格式。在实践中,常常需要根据用户输入的匹配条件来在数据包文件中检索符合条件的报文。例如,用户为了对数据包文件中的报文进行回溯分析,来排查病毒、攻击、泄密等,常常需要进行报文检索。其中,匹配条件可以包括:源网际互连协议(Internet Protocol,IP)地址、源端口、目的IP地址、目的端口、报文协议类型、时间等条件。
但是由于读取存储设备数据时,会通过输入输出(INPUTOUTPUT,IO)来随机读取数据包文件中的报文,导致检索的过程中一般要遍历数据包文件中的所有报文,而IO读取速度较慢,导致遍历所有报文花费时间较多,检索效率较低。比如,如果仅检索百兆网络中一天内的报文所存储的数据包文件,百兆网络每秒存储报文数据12.5M,一天将会产生108G的报文数据,检索设备如果按照每秒100M的检索速率检索,要花费18分钟,费时较长,将给使用检索设备的用户带来较差体验。
为了使得使用检索设备的用户在检索时有较好的体验,本说明书的一个或多个实施例中,在检索前,选择至少一个报文类型,基于选择的报文类型重构数据包文件,将同一报文类型的报文连续存储在重构后的数据包文件中。并且,将报文类型与该种报文类型的连续存储的报文组成的报文集合的起止地址之间的对应关系写入数据包文件中,这相当于在数据包文件中,为选择的每个报文类型分配了对应的存储区。如此一来,在检索过程中,可以根据用户输入的匹配条件,确定待检索的报文类型,根据报文类型与对应的起止地址间的对应关系进行报文检索,相当于只检索待检索报文类型对应的连续存储区,就可以获得符合所有匹配条件的报文。这样,节省了检索耗费的时间,使用户有较好的体验,降低了检索设备的压力。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本说明书实施例进行详细说明。
如图1所示,图1是本说明书根据一示例性实施例示出的一种数据包文件的重构方法的流程图。从待重构的第一数据包文件对应的报文类型集合中,选择至少一个报文类型,所述报文类型集合中包括至少两个报文类型。
其中,第一数据包文件是待重构的原始数据包文件。第一数据包文件对应的报文类型集合,是第一数据包文件中所有报文类型的集合,不同的数据包文件的报文类型集合可能会不同。
因为在实际检索过程中,使用检索设备的用户输入的匹配条件一般都会包括报文的通信协议类型,因此为了更好地对报文进行分类,更方便使用检索设备的用户检索,报文类型可以是基于不同的通信协议,定义不同的报文类型,也就是说,一个通信协议类型对应于一个报文类型,不同的报文类型所包含的通信协议类型不同。选取的报文类型的数量可以根据实际情况,选择在使用过程中检索次数较多的报文类型。比如,当基于不同的通信协议,定义不同的报文类型时,如果只选取一个报文类型,可以选取该类型的报文较多的、且检索频率较高的传输控制协议(Transmission Control Protocol,TCP),这样,能够使得在大多数情况下,匹配条件中的报文类型存在对应的连续的存储空间,只用检索部分报文就能获得符合所有匹配条件的报文。在这种情况下,如果用户没有输入报文类型,则检索时默认为检索TCP协议类型。
所述方法包括以下步骤:
步骤102,针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中。
其中,该报文集合中每个报文在所述第二数据包文件中的存储地址是连续的。
具体而言,针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,可以是:针对选择的每个报文类型,遍历并解析第一数据包文件中的所有报文,判断每个报文与本次处理的报文类型是否相同,如果相同,则将该报文复制后存储到第二数据包文件中,其中,每个报文类型的报文组成的报文集合中,所有报文都是连续存储的。
为了进一步减少设备的计算资源,在执行步骤102前,可以针对第一数据包文件中的每个报文,将该报文的报文类型与该报文在第一数据包文件中的存储位置的对应关系作为一条索引记录,写入报文索引表。在有预先的报文索引表时,针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,可以是:针对选择的每个报文类型,查找所述报文索引表,获取第一数据包文件中的该报文类型的报文集合对应的存储位置结合,根据获取的存储位置结合,将该报文集合存储至第二数据包文件中。在这种是实施例中,在将报文存储至第二数据包文件前,先遍历了一遍数据包文件,得到了一个报文索引表,该报文索引表包括每个报文的报文类型与其在第一数据包文件中的存储位置的对应关系。这样,使得在后续针对每个报文类型,查找第一数据包文件的该报文类型的报文集合时,可以遍历报文索引表中的每一条索引记录,找到该报文集合对应的存储位置集合,而索引记录占用的存储空间较小,所以能更加快速地将该报文集合存储至第二数据包文件,节省了设备的计算资源。
进一步地,报文索引表可以是链表,在报文索引表是链表的情况下,每条索引记录还包括指向下一索引记录的指针。
步骤104,确定该报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件。
在将每个报文类型对应的报文集合保存到第二数据包文件后,需要在第二数据包文件中添加索引,索引包括每个报文类型和该报文集合的起止地址的对应关系。以使得在检索过程中,可以根据该对应关系,确定匹配条件之一的报文类型的报文集合在第一数据包文件中的存储位置,从而通过只遍历该报文集合的存储位置,通过其他匹配条件进行检索,就可以得到符合匹配条件要求的报文。通过索引,划分了一个较小的检索范围,提高了检索的效率。
起止地址包括起始位置和终止位置,这两者一般是通过相对于文件的起始地址的偏移量表示的。通过起止地址,划分了一个连续的存储区域,该存储区域形成了一块逻辑上的区域。
第二数据包文件可以为pcapng格式的文件;所述第一数据包文件可以为pcapng或pcap格式的文件。Pcapng文件包含多个数据块,其中,位于文件头部的节头块(SectionHeaderBlock,SHB)中包含可供拓展的扩展选项区(Option)。当第一数据包文件的格式是pcapng时,需要将第一数据包文件的SHB拷贝到第二数据包文件中。此外,可以将该对应关系写入所述第二数据包文件的头部SHB的扩展选项区,以使得检索工具可以根据扩展选项区获取所需的报文类型的报文集合的存储位置。
步骤106,若所述报文类型集合中存在未被选择的报文类型,则将未被选择的报文类型的报文集合存储至所述第二数据包文件。
换言之,如果所选的报文类型不是数据包文件中全部报文的类型,那么会存在一些报文还未存储至第二数据包文件,那么需要将这些报文存储至第二数据包文件。
在某些情况下,可以将这些未被选择的报文类型的报文统一看做其他类型的报文,在检索时输入的报文类型不在选择的报文类型中时,可以去检索其他类型的报文区域。所述未被选择的报文类型的报文集合中每个报文在所述第二数据包文件中的存储地址是连续的。此外,在将未被选择的报文类型的报文集合存储至所述第二数据包文件后,还需要:确定该未被选中的报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件。这样,在检索时,如果输入了未被选择的报文类型,也能只遍历部分报文,就能得到符合所有匹配条件的报文,节省了检索所耗费的时间。
步骤108,将所述第二数据包文件作为重构后的第一数据包文件。
具体的,可以在重构完成后,将第二数据包文件的名称更改为第一数据包文件的名称,并将第一数据包文件删除,从而用重构后的有索引的数据包文件替换原有文件,提高了检索时的效率,节省了存储空间。
也可以将第二数据包文件的名称更改为第一数据包文件的名称,然后改变第一数据包文件的名称,这样,可以保留原始的数据包文件,以防止重构后的数据包文件出现问题时,没有原始的数据包文件而导致数据丢失。
当第一数据包文件的格式是pcapng时,第一数据包文件中除了SHB和用于存储报文的简单数据包文件块(SimplePacketBlock,SPB)或增强数据包文件块(EnhancedPacketBlock,EPB)之外,还可能有以下数据块中的一个或多个:接口统计信息块(InterfaceStatistics Block,ISB),接口描述信息块(Interface Description Block,IDB),域名解析信息块(Name Resolution Block,NRB),自定义数据块(Custom Block,CB)。为了保证数据包文件的完整,还需要将其余的数据块拷贝到第二数据包文件。
在重构完数据包文件后,本发明的一个或多个实施例还提供了基于重构后的第二数据包文件进行报文检索的方法。如图2所示,图2是本说明书根据一示例性实施例示出的一种数据包文件的重构方法的流程图,所述方法包括以下步骤:
步骤202,根据用户指定的匹配条件,确定至少一个待检索报文类型。
其中,用户指定的匹配条件可以是多个,也可以是一个。当用户未输入报文类型的匹配条件时,则默认检索预设的报文类型,预设的报文类型是检索频率较高的报文类型,或者数据包文件中报文数量较多的报文类型。报文类型除了可以根据不同的通信协议类型定义不同的报文类型之外,还可以根据不同的目的IP地址定义不同的报文类型,即一个目的IP地址范围对应一个报文类型,不同的目的IP地址范围对应不同的报文类型;也可以根据不同的源IP地址定义不同的报文类型,即一个源IP地址范围对应一个报文类型,不同的目的IP地址范围对应不同的报文类型。此外,所说的用户是使用检索设备的用户。
如果用户没有指定报文类型的匹配条件,则确定待检索报文类型为全部的报文类型,也就是遍历所有的报文来检索得到符合所有匹配条件的报文。当用户输入了报文类型,但是该报文类型不在选择的报文类型中时,可以去检索第二数据包文件中的未被选择的报文类型的报文的存储空间。
步骤204,根据所述第二数据包文件中存储的报文类型与起止地址之间的对应关系,确定每个待检索报文类型对应的起止地址。
在第二数据包文件中,预先写入了报文类型与起止地址之间的对应关系,在检索时,可以读取该对应关系,获取待检索报文类型的报文在第二数据包文件中的存储位置,以检索得到符合所有匹配条件的报文。当第二数据包文件是pcapng,并在其SHB的扩展选项区写入了上述的对应关系,可以读取其SHB的扩展选项区,来获取该存储位置。
步骤206,基于所述匹配条件,在所述第二数据包文件内进行报文检索;其中,针对每个待检索报文类型,在该待检索报文类型对应的起止地址所划定的存储空间内进行报文检索。
在检索时,在根据报文类型划分的存储空间内,通过其他匹配条件,进行检索,以获取符合所有匹配条件的报文。当未检索到符合所有匹配条件的报文时,可以向用户返回未检索到报文的检索结果。
本说明书的一个或多个实施例中,将在检索前,基于报文类型,重构数据包文件,将同一报文类型的报文连续存储在重构后的数据包文件中,通过该种报文类型的连续存储的报文组成的报文集合的起止地址,形成了一个逻辑上的分区;并将报文类型与对应的起止地址之间的对应关系写入数据包文件中,以便在检索过程中,可以根据匹配关系,确定待检索的报文类型,通过读取报文类型与对应的起止地址间的对应关系,只检索数据包文件中的部分报文就能获取符合所有匹配条件的报文,节省了检索耗费的时间,使用户有较好的体验,降低了检索设备的压力。
举例来说,当检索时一般都包括报文协议类型时,报文类型是根据不同的通信协议定义的不同的报文类型,选择的报文类型可以是根据过去检索中检索次数决定的报文类型,也可以是根据数据包文件中每个报文类型的报文数量决定的报文类型。结合实际,选择的报文类型分别是:TCP报文,用户数据报协议(User Datagram Protocol,UDP)报文,控制报文协议(Internet Control Message Protocol,ICMP)报文,控制报文协议版本六(Internet Control Message Protocol version 6,ICMPV6),地址解析协议(AddressResolution Protocol,ARP)报文,并将除此之外的报文协议类型定义为其他报文的报文类型。在这种情况下,可以在抓包获取到第一数据包文件之后,在用户检索前,实现数据包文件的重构。其中数据包文件的重构方法可以包括以下步骤:
在抓包得到格式为pcapng格式的存储报文的第一数据包文件后,建立一个用于存储索引记录的报文索引表,其中报文索引表是链表。遍历第一数据包文件中的所有报文,也就是解析EPB或者SPB中存储的报文,分析每个报文的信息,在链表的每个节点中存储一条索引记录。其中,每条索引记录包括一个报文的报文类型与其存储位置的对应关系,以及指向下一条索引记录的指针。
先将第一数据包文件的SHB拷贝到格式同样为pcapng的第二数据包文件中。然后依次针对六种报文类型中一种报文类型,遍历报文索引表,比较报文索引表的每条索引记录中记录的报文类型和本次的报文类型,如果相同,则将该报文存储至第二数据包文件中,直至遍历完全部的报文索引表。这样,每次遍历索引记录后,同一报文类型的报文组成了一个报文集合,每个报文集合中的报文在第二数据包文件中都是连续存储的。
此外,在每次遍历完成后,还要确定每个报文集合在第二数据包文件存储的起止地址,并将该报文类型与的起止地址之间的对应关系存储至SHB的Option中,以使得检索时,可以根据这六个对应关系,找到该报文类型的报文集合的存储位置,以使得无需检索所有报文,节省检索的时间。
在第一数据包文件还有ISB、IDB、NRB或CB时,还需要将这些数据块拷贝到第二数据包文件中,以使得重构后的数据包文件包括重构前的数据包文件的所有数据。
最后,在记下第一数据包文件的名字后,将第一数据包文件删除,并将第二数据包文件更名为第一数据包文件的名称,以将第二数据包文件作为重构后的数据包文件。
在根据重构后的第二数据包文件检索时,可以包括以下步骤:
根据用户指定的匹配条件,确定至少一个待检索报文类型,这时,确定的报文类型为报文的协议类型。
查找第二数据包文件的SHB,获取待检索报文类型与起止地址之间的对应关系,确定每个待检索报文类型对应的起止地址。
基于所述匹配条件,在所述第二数据包文件内进行报文检索;其中,针对每个待检索报文类型,在该待检索报文类型对应的起止地址所划定的存储空间内进行报文检索。
与前述方法的实施例相对应,本说明书还提供了装置及其所应用的终端的实施例。
如图3所示,图3是本说明书根据一示例性实施例示出的一种数据包文件的重构装置的框图,从待重构的第一数据包文件对应的报文类型集合中,选择至少一个报文类型,所述报文类型集合中包括至少两个报文类型;所述装置包括:
报文及对应关系存储单元310,用于针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,其中,该报文集合中每个报文在所述第二数据包文件中的存储地址是连续的;确定该报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件。
未被选择的报文类型的报文存储单元320,用于若所述报文类型集合中存在未被选择的报文类型,则将未被选择的报文类型的报文集合存储至所述第二数据包文件。
第二数据包文件认定单元330,用于将所述第二数据包文件作为重构后的第一数据包文件。
如图4所示,图4是本说明书根据一示例性实施例示出的一种报文检索的装置的框图。报文检索装置基于本说明书实施例第一方面中的第二数据包文件来进行报文检索,所述装置包括:
报文类型确定单元410,用于根据用户指定的匹配条件,确定至少一个待检索报文类型。
起止地址确定单元420,用于根据所述第二数据包文件中存储的报文类型与起止地址之间的对应关系,确定每个待检索报文类型对应的起止地址。
报文检索单元430,用于基于所述匹配条件,在所述第二数据包文件内进行报文检索;其中,针对每个待检索报文类型,在该待检索报文类型对应的起止地址所划定的存储空间内进行报文检索。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图5所示,图5示出了数据包文件重构的装置或报文检索的装置所在计算机设备的一种硬件结构图,该设备可以包括:处理器510、存储器520、输入/输出接口530、通信接口540和总线550。其中处理器510、存储器520、输入/输出接口530和通信接口540通过总线550实现彼此之间在设备内部的通信连接。
处理器510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。
输入/输出接口530用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口540用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线550包括一通路,在设备的各个组件(例如处理器510、存储器520、输入/输出接口530和通信接口540)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器510、存储器520、输入/输出接口530、通信接口540以及总线550,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的数据包文件的重构方法或报文检索的方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (10)

1.一种数据包文件的重构方法,其特征在于,从待重构的第一数据包文件对应的报文类型集合中,选择至少一个报文类型,所述报文类型集合中包括至少两个报文类型;所述方法包括:
针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,其中,该报文集合中每个报文在所述第二数据包文件中的存储地址是连续的;确定该报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件;
若所述报文类型集合中存在未被选择的报文类型,则将未被选择的报文类型的报文集合存储至所述第二数据包文件;
将所述第二数据包文件作为重构后的第一数据包文件。
2.如权利要求1所述方法,其特征在于,基于不同的通信协议,定义不同的报文类型。
3.如权利要求1所述方法,其特征在于,所述方法还包括:
针对第一数据包文件中的每个报文,将该报文的报文类型与该报文在第一数据包文件中的存储位置的对应关系作为一条索引记录,写入报文索引表;
针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,具体包括:
针对选择的每个报文类型,查找所述报文索引表,获取第一数据包文件中的该报文类型的报文集合对应的存储位置结合,根据获取的存储位置结合,将该报文集合存储至第二数据包文件中。
4.如权利要求3所述方法,其特征在于,所述报文索引表为链表,每条索引记录还包括指向下一索引记录的指针。
5.如权利要求1所述方法,其特征在于,所述第二数据包文件为pcapng格式的文件;所述第一数据包文件为pcapng或pcap格式的文件;
将该对应关系写入所述第二数据包文件,具体包括:
将该对应关系写入所述第二数据包文件的头部扩展选项区。
6.如权利要求1所述方法,其特征在于,所述未被选择的报文类型的报文集合中每个报文在所述第二数据包文件中的存储地址是连续的;
所述方法还包括:
在将未被选择的报文类型的报文集合存储至所述第二数据包文件后,确定该未被选中的报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件。
7.一种基于权利要求1-6中任一项中的第二数据包文件的报文检索的方法,其特征在于,所述方法包括:
根据用户指定的匹配条件,确定至少一个待检索报文类型;
根据所述第二数据包文件中存储的报文类型与起止地址之间的对应关系,确定每个待检索报文类型对应的起止地址;
基于所述匹配条件,在所述第二数据包文件内进行报文检索;其中,针对每个待检索报文类型,在该待检索报文类型对应的起止地址所划定的存储空间内进行报文检索。
8.一种数据包文件的重构装置,其特征在于,从待重构的第一数据包文件对应的报文类型集合中,选择至少一个报文类型,所述报文类型集合中包括至少两个报文类型;所述装置包括:
报文及对应关系存储单元,用于针对选择的每个报文类型,将所述第一数据包文件中的该报文类型的报文集合存储至第二数据包文件中,其中,该报文集合中每个报文在所述第二数据包文件中的存储地址是连续的;确定该报文类型与该报文集合的起止地址之间的对应关系,并将该对应关系写入所述第二数据包文件;
未被选择的报文类型的报文存储单元,用于若所述报文类型集合中存在未被选择的报文类型,则将未被选择的报文类型的报文集合存储至所述第二数据包文件;
第二数据包文件认定单元,用于将所述第二数据包文件作为重构后的第一数据包文件。
9.一种基于权利要求1-6中任一项中的第二数据包文件的报文检索的装置,其特征在于,所述装置包括:
报文类型确定单元,用于根据用户指定的匹配条件,确定至少一个待检索报文类型;
起止地址确定单元,用于根据所述第二数据包文件中存储的报文类型与起止地址之间的对应关系,确定每个待检索报文类型对应的起止地址;
报文检索单元,用于基于所述匹配条件,在所述第二数据包文件内进行报文检索;其中,针对每个待检索报文类型,在该待检索报文类型对应的起止地址所划定的存储空间内进行报文检索。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的方法。
CN202011320076.4A 2020-11-23 2020-11-23 数据包文件的重构方法、装置及设备 Active CN112307033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011320076.4A CN112307033B (zh) 2020-11-23 2020-11-23 数据包文件的重构方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011320076.4A CN112307033B (zh) 2020-11-23 2020-11-23 数据包文件的重构方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112307033A CN112307033A (zh) 2021-02-02
CN112307033B true CN112307033B (zh) 2023-04-25

Family

ID=74335428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011320076.4A Active CN112307033B (zh) 2020-11-23 2020-11-23 数据包文件的重构方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112307033B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627272A (zh) * 2003-12-10 2005-06-15 上海贝豪通讯电子有限公司 移动终端的闪存中的文件管理方法
CN101572647A (zh) * 2008-04-30 2009-11-04 华为技术有限公司 一种数据查找的方法及装置
CN101777056A (zh) * 2009-12-31 2010-07-14 成都市华为赛门铁克科技有限公司 数据存储方法及设备
CN102148746A (zh) * 2010-02-05 2011-08-10 中兴通讯股份有限公司 一种报文分类方法和系统
CN102289451A (zh) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 文件或文件夹查找方法和装置
CN103714821A (zh) * 2012-09-28 2014-04-09 杜比实验室特许公司 基于位置的混合域数据包丢失隐藏
CN103744961A (zh) * 2014-01-06 2014-04-23 清华大学 用可重构的文件系统目录树提高非易失性存储寿命的方法
CN103763188A (zh) * 2014-01-22 2014-04-30 四川九洲空管科技有限责任公司 一种多类型报文实时处理方法及装置
US9110984B1 (en) * 2011-12-27 2015-08-18 Google Inc. Methods and systems for constructing a taxonomy based on hierarchical clustering
CN105453021A (zh) * 2013-08-01 2016-03-30 经度企业快闪公司 用于原子存储操作的系统和方法
CN105743702A (zh) * 2016-03-01 2016-07-06 许继集团有限公司 一种goose报文的订阅识别方法
CN107832011A (zh) * 2017-11-02 2018-03-23 郑州云海信息技术有限公司 一种数据存储方法、装置、设备及计算机可读存储介质
CN107945599A (zh) * 2017-11-27 2018-04-20 淄博职业学院 一种课下及时答疑系统
CN108595511A (zh) * 2018-03-23 2018-09-28 中国人民解放军91977部队 一种多样化气象水文数据分类存储处理方法和系统
CN109299105A (zh) * 2018-10-29 2019-02-01 中国地质大学(北京) 一种局域网地质数据的检索与获取方法、装置
CN111143117A (zh) * 2018-11-06 2020-05-12 浙江宇视科技有限公司 数据存储方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013055807A1 (en) * 2011-10-10 2013-04-18 Global Dataguard, Inc Detecting emergent behavior in communications networks

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627272A (zh) * 2003-12-10 2005-06-15 上海贝豪通讯电子有限公司 移动终端的闪存中的文件管理方法
CN101572647A (zh) * 2008-04-30 2009-11-04 华为技术有限公司 一种数据查找的方法及装置
CN101777056A (zh) * 2009-12-31 2010-07-14 成都市华为赛门铁克科技有限公司 数据存储方法及设备
CN102148746A (zh) * 2010-02-05 2011-08-10 中兴通讯股份有限公司 一种报文分类方法和系统
CN102289451A (zh) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 文件或文件夹查找方法和装置
US9110984B1 (en) * 2011-12-27 2015-08-18 Google Inc. Methods and systems for constructing a taxonomy based on hierarchical clustering
CN103714821A (zh) * 2012-09-28 2014-04-09 杜比实验室特许公司 基于位置的混合域数据包丢失隐藏
CN105453021A (zh) * 2013-08-01 2016-03-30 经度企业快闪公司 用于原子存储操作的系统和方法
CN103744961A (zh) * 2014-01-06 2014-04-23 清华大学 用可重构的文件系统目录树提高非易失性存储寿命的方法
CN103763188A (zh) * 2014-01-22 2014-04-30 四川九洲空管科技有限责任公司 一种多类型报文实时处理方法及装置
CN105743702A (zh) * 2016-03-01 2016-07-06 许继集团有限公司 一种goose报文的订阅识别方法
CN107832011A (zh) * 2017-11-02 2018-03-23 郑州云海信息技术有限公司 一种数据存储方法、装置、设备及计算机可读存储介质
CN107945599A (zh) * 2017-11-27 2018-04-20 淄博职业学院 一种课下及时答疑系统
CN108595511A (zh) * 2018-03-23 2018-09-28 中国人民解放军91977部队 一种多样化气象水文数据分类存储处理方法和系统
CN109299105A (zh) * 2018-10-29 2019-02-01 中国地质大学(北京) 一种局域网地质数据的检索与获取方法、装置
CN111143117A (zh) * 2018-11-06 2020-05-12 浙江宇视科技有限公司 数据存储方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Vernon Ireland 等.Addressing Wicked Problems in a Range of Project Types.《Procedia Computer Science》.2012,49-55. *
何珊. 软件定义雾计算结构模型及在网络防御中的应用研究.《中国优秀硕士学位论文全文数据库信息科技辑》.2010,I136-372. *
孙亮.分布式拒绝服务攻击检测及追踪技术的研究.《中国优秀硕士学位论文全文数据库信息科技辑》.2010,I139-78. *

Also Published As

Publication number Publication date
CN112307033A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN104951474B (zh) 一种用于获取MySQL binlog增量日志的方法和装置
CN110046133B (zh) 一种存储文件系统的元数据管理方法、装置及系统
CN106570018B (zh) 序列化与反序列化的方法、装置、系统以及电子设备
US8472449B2 (en) Packet file system
CN110555001B (zh) 数据处理方法、装置、终端及介质
CN111324665B (zh) 一种日志回放方法及装置
CN111708738B (zh) 实现hadoop文件系统hdfs与对象存储s3数据互访方法及系统
CN109564502B (zh) 应用于存储设备中的访问请求的处理方法和装置
US9836491B1 (en) Method and apparatus for hardware-implemented AVL tree updates
CN109377383A (zh) 产品数据同步方法、装置、计算机设备及存储介质
CN111803917A (zh) 资源的处理方法和装置
CN110928720A (zh) 基于Linux系统的core dump文件生成方法及装置
CN112307033B (zh) 数据包文件的重构方法、装置及设备
CN109144403B (zh) 一种用于云盘模式切换的方法与设备
CN117435912A (zh) 基于网络数据包属性值长短特征的数据包索引与检索方法
CN112000589A (zh) 一种数据写入方法、数据读取方法、装置及电子设备
TWI710918B (zh) 一種lsm樹的優化方法、裝置及電腦設備
CN111897828A (zh) 数据批处理实现方法、装置、设备及存储介质
CN113467997B (zh) 一种数据恢复方法、装置、移动设备和存储介质
CN114675783A (zh) 一种数据存储方法、系统、设备以及介质
CN114691612A (zh) 数据写入方法及装置、数据读取方法及装置
CN113961522A (zh) 一种pcap数据包分割方法、装置、设备及存储介质
CN110825652B (zh) 淘汰磁盘块上的缓存数据的方法、装置及设备
CN113590623A (zh) 一种用于数据深分页查询的方法、装置及设备
CN111131197B (zh) 一种过滤策略管理系统及其方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant