一种文件的还原方法及系统与流程

文档序号:19346637发布日期:2019-12-06 20:55阅读:205来源:国知局
一种文件的还原方法及系统与流程

本发明涉及网络安全领域,特别涉及一种文件的还原方法及系统。



背景技术:

在目前的网络环境中,传输文件的方式有很多种,可以通过网页获取文件,也可以通过邮件发送附件,或是通过文件传输协议(ftp)下载文件等等。由于传输时使用的应用层协议不同,传输格式又可分为单流传输与多流传输,当前大部分即时通讯类应用(im,instantmessaging)采用多流传输方式。单流传输指文件属性字段(包括文件名、文件大小、文件方向等)与文件内容在一条流中传输;多流传输指文件属性与文件内容在多条流中传输,文件属性、文件内容或文件内容之间都有可能在不同流中传输。

目前的网络文件还原方法主要有两种:基于特定协议的文件还原方法和基于文件开始、文件结束的方法。基于特定协议的文件还原方法只能还原特定协议下传输的文件,不具有通用性。而基于文件开始、文件结束的文件还原方法具有一定的通用性,但该方法中文件开始的确定依赖于文件头模板,且只能得到有限的几种文件类型的文件内容,并且缺少文件属性字段,无法组成原始文件。



技术实现要素:

本发明实施例的目的在于提供一种文件的还原方法及系统,以解决现有技术中文件还原方法不具有通用性,使用范围局限的问题。

为了解决上述技术问题,本发明的实施例采用了如下技术方案:一种文件的还原方法,包括:根据通用字段特征,从获取到的网络流量中确定至少一个通用字段;基于所述通用字段的属性信息,确定所述通用字段的还原顺序;基于所述还原顺序分别对所述通用字段的内容进行还原,形成所述通用字段对应的原始文件。

进一步,所述通用字段至少包括以下之一:文件属性字段、关联id字段、文件块内容、文件结束字段;其中,所述文件块内容中至少包括块id和/或块偏移量。

进一步,所述基于所述通用字段的属性信息,确定所述通用字段的还原顺序之前,还包括:检测所述通用字段中是否包括所述文件属性字段;在所述通用字段中包括所述文件属性信息的情况下,确定所述网络流量为主流;在所述通用字段中不包括所述文件属性信息的情况下,确定所述网络流量为从流。

进一步,所述基于所述通用字段的属性信息,确定所述通用字段的还原顺序,包括:在所述网络流量为主流的情况下,按照文件属性字段、关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序;在所述网络流量为从流的情况下,按照关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序。

进一步,所述基于所述还原顺序分别对所述通用字段的内容进行还原,形成所述通用字段对应的原始文件,至少包括以下之一:根据所述文件属性字段的内容创建文件节点;将所述关联id字段保存至文件节点;根据所述关联id字段查找保存有所述关联id字段的文件节点;在文件节点中缓存所述文件块内容;根据文件结束字段,将所述文件块内容按所述块id或所述块偏移量进行排序,得到原始文件。

本发明实施例还公开了一种文件的还原系统,包括:字段提取模块,被配置为根据通用字段特征,从获取到的网络流量中确定至少一个通用字段;字段排序模块,被配置为基于所述通用字段的属性信息,确定所述通用字段的还原顺序;文件还原模块,被配置为基于所述还原顺序分别对所述通用字段的内容进行还原,形成所述通用字段对应的原始文件。

进一步,所述通用字段至少包括以下之一:文件属性字段、关联id字段、文件块内容、文件结束字段;其中,所述文件块内容中至少包括块id和/或块偏移量。

进一步,还包括:检测模块,被配置为检测所述通用字段中是否包括所述文件属性字段;在所述通用字段中包括所述文件属性信息的情况下,确定所述网络流量为主流;在所述通用字段中不包括所述文件属性信息的情况下,确定所述网络流量为从流。

进一步,所述字段排序模块,具体被配置为:在所述网络流量为主流的情况下,按照文件属性字段、关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序;在所述网络流量为从流的情况下,按照关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序。

进一步,所述文件还原模块,具体被配置为:根据所述文件属性字段的内容创建文件节点;将所述关联id字段保存至文件节点;根据所述关联id字段查找保存有所述关联id字段的文件节点;在文件节点中缓存所述文件块内容;根据文件结束字段,将所述文件块内容按所述块id或所述块偏移量进行排序,得到原始文件。

本发明实施例的有益效果在于:根据从网络流量中根据特征解析获取文件还原所需的通用字段,并且根据各通用字段之间的固有属性信息,以此确定还原顺序并进行对应通用字段内容的还原,得到对应的原始文件,通过通用字段屏蔽了不同协议之间传输文件的差异性,使文件还原方法具备适合各种协议使用的通用性,解决了现有技术中文件还原方法不具有通用性,使用范围局限的问题。

附图说明

图1为本发明第一实施例中文件的还原方法的流程图;

图2为本发明第二实施例中文件的还原系统的结构示意图;

图3为本发明第二实施例中文件的还原系统的另一种结构示意图。

具体实施方式

此处参考附图描述本申请的各种方案以及特征。

应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。

包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。

当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。

此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。

本发明的第一实施例提供了一种文件的还原方法,主要应用于各种协议下的传输文件的还原情景,其流程图如图1所示,主要包括步骤s101至s103:

s101,根据通用字段特征,从获取到的网络流量中确定至少一个通用字段;

s102,基于通用字段的属性信息,确定通用字段的还原顺序;

s103,基于还原顺序分别对通用字段的内容进行还原,形成通用字段对应的原始文件。

本实施例中,网络流量即为在网络中传输文件的载体,一个文件的传输的过程可以分为多个网络流量进行传输,并且,同一个网络流量具有相同的五源组信息,即来源ip地址、来源端口号、目的ip地址、目的端口号以及传输层协议。当一个文件仅使用一个网络流量就传输完毕,则该文件为单流文件,若一个文件使用多个网络流量进行传输,则该文件为多流文件。

不管是单流文件还是多流文件,均根据其对应的传输协议的默认格式,从网络流量中进行特征解析,得到至少一个通用字段。具体地,通用字段至少包括以下之一:文件属性字段、关联id字段、文件块内容、文件结束字段;其中,文件属性字段用以表征文件名、文件大小、文件方向等基础属性,关联id字段则是在多流文件中关联主流和从流的字段,文件块内容则是文件的主体,其中至少包括表征文件块位置和顺序的块id和/或块偏移量,文件结束字段则是文件传输完成的标记。

具体地,在进行网络流量的通用字段获取时,根据传输该网络流量所使用的传输协议的不同,进行通用字段获取。例如,针对协议a,其默认的网络流量格式为第0-7位为文件属性字段,第8-15位为关联id字段,第16-127位为文件块内容,第128-129位为文件结束字段,则在解析协议a的网络流量时,根据上述默认的格式确定出各个通用字段及其内容。应当了解的是,上述协议a以及其默认格式只是一个代表性示例,实际使用时根据各具体协议进行解析即可。

通用字段的属性信息用于表征该通用字段的作用,以便根据各个通用字段的作用确定通用字段的还原顺序,随后按照该还原顺序对各个通用字段的内容进行还原,形成各个通用字段对应的原始文件。具体地,文件还原方法在实现时应当保证按照上述还原顺序可以在还原过程中按照文件的基础属性、是否具有其他关联文件、文件的具体内容来实现原始文件的完整还原,避免因还原顺序混乱造成的原始文件缺失等问题。

在本实施例中,对所述通用字段的内容进行还原,以得到原始文件主要包括以下几种还原方式,实际还原时可根据通用字段的不同使用不同的还原方式:

在通用字段为文件属性字段时,由于其表征了文件的基础属性,在还原时则依据文件属性字段的具体内容,创建对应的文件节点,将文件属性字段中所包含的文件名称、文件大小等基础信息保存至对应的文件节点中;

在通用字段为关联id字段时,由于其表征了多流文件中主流和从流之间的关联关系,在还原时将其存储在由主流的文件属性字段还原时创建的文件节点中即可,若关联id为从流的通用字段,则对应查找已经存在的保存该关联id内容的文件节点即可;

在通用字段为文件块内容时,其实际为传输文件的主体,在还原时其具体内容即为文件内容,将其缓存至文件节点中即可,具体缓存在哪个文件节点则由与其归属于同一网络流量中的其他通用字段来确定,如与当前文件块内容归属于同一网络流量的通用字段中包含文件属性字段,则将其缓存至文件属性字段还原时创建的文件节点即可,若与当前文件块内容归属于同一网络流量的通用字段中不包含文件属性字段但包含关联id,则将文件块内容缓存至保存有该关联id的文件节点即可;

在通用字段为文件结束字段时,其表征为文件传输完成,在一些实施例中通常与文件块内容和关联id字段同时出现,在还原文件结束字段时则将已经缓存在文件节点中的所有文件块内容按照各个文件块内容中所包含的块id或块偏移量进行排序,排序后即得到原始文件。应当了解的是,这里的文件节点同样根据与文件结束字段归属于同一网络流量中的其他通用字段来确定,即与当前文件结束字段归属于同一网络流量的通用字段中包含文件属性字段,则确定文件节点为文件属性字段还原时创建的文件节点,若与当前文件结束字段归属于同一网络流量的通用字段中不包含文件属性字段但包含关联id,则确定文件节点为保存有该关联id的文件节点。

进一步地,为了明确通用字段的还原顺序,在确定通用字段的还原顺序之前,可首先检测从网络流量中获取的所有通用字段中是否包括文件属性字段,文件属性字段为表征文件基础信息的字段,若通用字段中包括文件属性字段,则确定当前网络流量为多流文件的主流,或者为单流文件,若通用字段中不包括文件属性字段,则确定当前网络流量为多流文件的从流。在区分网络流量的类型之后,结合通用字段的属性信息,确定还原顺序如下:在网络流量为主流的情况下,按照文件属性字段、关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序;在网络流量为从流的情况下,按照关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序。

应当了解的是,上述还原顺序可根据实际情况进行调整,若通用字段中未包含上述还原顺序中的所有字段,则跳过未包含的字段进行下一个字段的还原即可。另外,针对多流文件,原始文件通常会拆分为多个网络流量进行传输,当前接收到的网络流量若不是最后一个网络流量,其对应的通用字段中必定不包括文件结束字段,但一定包括关联id字段,则在当前网络流量的文件块内容还原完毕后保存当前状态,在接收到具有相同关联id的其他网络流量后进行继续处理,直至接收到的网络流量中包含文件结束字段为止。

本实施例根据从网络流量中根据特征解析获取文件还原所需的通用字段,并且根据各通用字段之间的固有属性信息,以此确定还原顺序并进行对应通用字段内容的还原,得到对应的原始文件,通过通用字段屏蔽了不同协议之间传输文件的差异性,使文件还原方法具备适合各种协议使用的通用性,解决了现有技术中文件还原方法不具有通用性,使用范围局限的问题。

本发明的第二实施例提供了一种文件的还原系统,主要应用于各种协议下的传输文件的还原情景,其结构示意图如图2所示,主要包括依次耦合的字段提取模块10、字段排序模块20以及文件还原模块30,其中,字段提取模块10被配置为根据通用字段特征,从获取到的网络流量中确定至少一个通用字段;字段排序模块20被配置为基于通用字段的属性信息,确定通用字段的还原顺序;文件还原模块30被配置为基于还原顺序分别对通用字段的内容进行还原,形成通用字段对应的原始文件。

本实施例中,网络流量即为在网络中传输文件的载体,一个文件的传输的过程可以分为多个网络流量进行传输,并且,同一个网络流量具有相同的五源组信息,即来源ip地址、来源端口号、目的ip地址、目的端口号以及传输层协议。当一个文件仅使用一个网络流量就传输完毕,则该文件为单流文件,若一个文件使用多个网络流量进行传输,则该文件为多流文件。

不管是单流文件还是多流文件,字段提取模块10均根据其对应的传输协议的默认格式,从网络流量中进行特征解析,得到至少一个通用字段。具体地,通用字段至少包括以下之一:文件属性字段、关联id字段、文件块内容、文件结束字段;其中,文件属性字段用以表征文件名、文件大小、文件方向等基础属性,关联id字段则是在多流文件中关联主流和从流的字段,文件块内容则是文件的主体,其中至少包括表征文件块位置和顺序的块id和/或块偏移量,文件结束字段则是文件传输完成的标记。

具体地,字段提取模块10在进行网络流量的通用字段获取时,根据传输该网络流量所使用的传输协议的不同,进行通用字段获取。例如,针对协议a,其默认的网络流量格式为第0-7位为文件属性字段,第8-15位为关联id字段,第16-127位为文件块内容,第128-129位为文件结束字段,则在解析协议a的网络流量时,根据上述默认的格式确定出各个通用字段及其内容。应当了解的是,上述协议a以及其默认格式只是一个代表性示例,实际使用时根据各具体协议进行解析即可。

通用字段的属性信息用于表征该通用字段的作用,以便字段排序模块20根据各个通用字段的作用确定通用字段的还原顺序,随后文件还原模块30按照该还原顺序对各个通用字段的内容进行还原,形成各个通用字段对应的原始文件。具体地,文件还原模块30在使用时应当保证按照上述还原顺序可以在还原过程中按照文件的基础属性、是否具有其他关联文件、文件的具体内容来实现原始文件的完整还原,避免因还原顺序混乱造成的原始文件缺失等问题。

在本实施例中,文件还原模块30对所述通用字段的内容进行还原,以得到原始文件主要包括以下几种还原方式,实际还原时可根据通用字段的不同使用不同的还原方式:

在通用字段为文件属性字段时,由于其表征了文件的基础属性,在还原时则依据文件属性字段的具体内容,创建对应的文件节点,将文件属性字段中所包含的文件名称、文件大小等基础信息保存至对应的文件节点中;

在通用字段为关联id字段时,由于其表征了多流文件中主流和从流之间的关联关系,在还原时将其存储在由主流的文件属性字段还原时创建的文件节点中即可,若关联id为从流的通用字段,则对应查找已经存在的保存该关联id内容的文件节点即可;

在通用字段为文件块内容时,其实际为传输文件的主体,在还原时其具体内容即为文件内容,将其缓存至文件节点中即可,具体缓存在哪个文件节点则由与其归属于同一网络流量中的其他通用字段来确定,如与当前文件块内容归属于同一网络流量的通用字段中包含文件属性字段,则将其缓存至文件属性字段还原时创建的文件节点即可,若与当前文件块内容归属于同一网络流量的通用字段中不包含文件属性字段但包含关联id,则将文件块内容缓存至保存有该关联id的文件节点即可;

在通用字段为文件结束字段时,其表征为文件传输完成,在一些实施例中通常与文件块内容和关联id字段同时出现,在还原文件结束字段时则将已经缓存在文件节点中的所有文件块内容按照各个文件块内容中所包含的块id或块偏移量进行排序,排序后即得到原始文件。应当了解的是,这里的文件节点同样根据与文件结束字段归属于同一网络流量中的其他通用字段来确定,即与当前文件结束字段归属于同一网络流量的通用字段中包含文件属性字段,则确定文件节点为文件属性字段还原时创建的文件节点,若与当前文件结束字段归属于同一网络流量的通用字段中不包含文件属性字段但包含关联id,则确定文件节点为保存有该关联id的文件节点。

进一步地,为了明确通用字段的还原顺序,还原系统还包括检测模块40,分别与字段提取模块10与字段排序模块20耦合,如图3所示,检测模块40用于在确定通用字段的还原顺序之前,首先检测从网络流量中获取的所有通用字段中是否包括文件属性字段,文件属性字段为表征文件基础信息的字段,若通用字段中包括文件属性字段,则确定当前网络流量为多流文件的主流,或者为单流文件,若通用字段中不包括文件属性字段,则确定当前网络流量为多流文件的从流。在区分网络流量的类型之后,结合通用字段的属性信息,确定还原顺序如下:在网络流量为主流的情况下,按照文件属性字段、关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序;在网络流量为从流的情况下,按照关联id字段、文件块内容、文件结束字段的顺序对所述通用字段进行排序。

应当了解的是,上述还原顺序可根据实际情况进行调整,若通用字段中未包含上述还原顺序中的所有字段,则文件还原模块30在还原时跳过未包含的字段进行下一个字段的还原即可。另外,针对多流文件,原始文件通常会拆分为多个网络流量进行传输,当前接收到的网络流量若不是最后一个网络流量,其对应的通用字段中必定不包括文件结束字段,但一定包括关联id字段,则在当前网络流量的文件块内容还原完毕后保存当前状态,在接收到具有相同关联id的其他网络流量后进行继续处理,直至接收到的网络流量中包含文件结束字段为止。

本实施例根据从网络流量中根据特征解析获取文件还原所需的通用字段,并且根据各通用字段之间的固有属性信息,以此确定还原顺序并进行对应通用字段内容的还原,得到对应的原始文件,通过通用字段屏蔽了不同协议之间传输文件的差异性,使文件还原方法具备适合各种协议使用的通用性,解决了现有技术中文件还原方法不具有通用性,使用范围局限的问题。

以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1