CN111782140A - 网络数据包存储方法、装置、计算机设备和存储介质 - Google Patents

网络数据包存储方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111782140A
CN111782140A CN202010557677.0A CN202010557677A CN111782140A CN 111782140 A CN111782140 A CN 111782140A CN 202010557677 A CN202010557677 A CN 202010557677A CN 111782140 A CN111782140 A CN 111782140A
Authority
CN
China
Prior art keywords
data packet
storage
information
network
session
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.)
Pending
Application number
CN202010557677.0A
Other languages
English (en)
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.)
DBAPPSecurity Co Ltd
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology 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 Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202010557677.0A priority Critical patent/CN111782140A/zh
Publication of CN111782140A publication Critical patent/CN111782140A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种网络数据包存储方法、装置、计算机设备和存储介质,其中,该网络数据包存储方法包括:持续采集网络当中的流量,解析数据包得到五元组信息,根据五元组信息将数据包分成多个会话,当数据包数量满足预设条件时,将数据包合并存储。通过本申请,解决了网络数据包保存过程中消耗大量的磁盘IO,浪费系统资源的问题,实现了提高磁盘利用率,节约系统资源。在提高数据包保存性能的基础上,还保存了会话信息,为网络流量的回溯提供强有力的支持。

Description

网络数据包存储方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种网络数据包存储方法、装置、计算机设备和存储介质。
背景技术
随着互联网的不断发展,网络流量越来越大,应用种类越来越多,个人和企业对网络的需求越来越大,在确保网络安全、网络流畅方面,除了需要对实时的网络流量进行分析和数据提取、呈现之外,还要对网络数据包进行存储和查找。当网络质量不好,出现故障,或者出现安全事件时,需要对当时的数据包进行回溯、取证,那么就需要在海量的数据包中,筛选符合条件的数据包进行存储。
传统技术中,在面对大流量时,有大量的数据包要存储,在对数据包存储时,按照不同的会话将数据包保存到不同的文件中,会生成很多个小文件,而网络中每个会话的流量都不是很大,因此会大量且频繁地打开文件句柄,并写文件到磁盘。从而消耗大量的磁盘IO,造成系统资源的紧缺。
发明内容
本申请实施例提供了一种网络数据包存储方法、装置、计算机设备和存储介质,以至少解决相关技术中网络数据包存储消耗大量磁盘IO,浪费系统资源的问题。
第一方面,本申请实施例提供了一种网络数据包存储方法,所述方法包括:
持续获取网络中的数据包;
对所述数据包进行解析,得到所述数据包对应的五元组信息;
根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储。
在其中一个实施例中,所述五元组信息包括:源IP地址、源端口、目的IP地址、目的端口以及传输层协议。
在其中一个实施例中,所述根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储包括:
根据所述五元组信息将所述数据包分为多个会话,并生成相应会话的会话信息;
若持续获取的数据包满足预设条件,则将所述数据包进行存储并得到存储信息;
将所述存储信息写入会话信息,并将所述会话信息进行存储。
在其中一个实施例中,所述根据所述五元组信息将所述数据包分为多个会话,并生成相应会话的会话信息包括:
根据所述五元组信息将所述数据包分为多个会话;
获取每一个会话中第一个接收到的数据包的时间信息以及每一个会话的数据包数量,将所述时间信息以及数据包数量作为相应会话的唯一标识;
根据会话的所述五元组信息以及唯一标识,生成相应会话的会话信息。
在其中一个实施例中,所述预设条件包括:
持续获取的数据包数量大于等于预设阈值。
在其中一个实施例中,所述将所述数据包进行存储并得到存储信息包括:
将所述数据包存储至指定文件;
获取存储至指定文件时的存储信息,所述存储信息包括:文件名称、存储位置以及存储长度。
在其中一个实施例中,所述将所述数据包存储至指定文件,包括;获取所述指定文件的存储量;若所述存储量大于等于存储阈值,则将所述数据包存储至新建文件;
若所述存储量小于存储阈值,则将所述数据包存储至指定文件。
第二方面,本申请实施例提供了一种网络数据包文件存储装置,包括:
数据包采集模块:用于持续获取网络中的数据包;
数据包解析模块:用于对所述数据包进行解析,得到所述数据包对应的五元组信息;
数据包保存模块:用于根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的网络数据包存储方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的网络数据包存储方法。
相比于相关技术,本申请实施例提供的网络数据包存储方法,通过将不同会话的数据包在满足预设条件之后,将所有数据包保存到一个文件中,解决了网络数据包存储时消耗大量磁盘IO,系统资源消耗严重的问题,达到了提高磁盘利用率,节省系统资源的目的,并且能将会话信息和数据包文件相关联,为网络流量回溯提供强有力的支持。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种网络数据包存储方法的应用场景示意图;
图2是根据本申请实施例的一种网络数据包存储方法的流程图;
图3是根据本申请实施例的一种网络数据包存储方法的装置图;
图4是根据本申请实施例的一种计算机设备示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的网络数据包存储方法可以应用于任何需要对网络数据包进行存储的应用场景下。图1是根据本申请实施例的一种网络数据包存储方法的应用场景示意图。其中,终端110应用unix/linix系统读/写文件,网络数据包的采集和保存都终端110中;所述读写文件,即是在unix/linix系统中,打开文件是使用文件名查询文件的inode号码,再通过inode号码查询相关的inode信息,最后通过inode信息,找到文件数据所在的磁盘位置,读出数据,最后进行读写文件操作。终端110可以是移动终端,可以是非移动终端,包括但不限于手机,平板电脑,iPad,计算机设备等。终端110可以为一个,也可以是多个。终端110与服务器120之间进行网络连接,所述网络连接包括但不限于有线网络连接,无线局域网连接,物联网连接等连接方式,可以保证终端110与服务器120之间进行数据交互即可。在当前应用环境中,终端110持续的采集网络中的数据包,对采集到的数据包进行合并保存,并将数据包对应的会话信息保存到服务器120中。应用本申请提供的网络数据包存储方法可以减少终端110的磁盘IO消耗,磁盘IO即磁盘输入和输出。
本实施例提供了一种网络数据包存储方法。图2是根据本申请实施例的网络数据包存储方法的流程图,如图2所示,该流程包括如下步骤:
步骤S101,持续获取网络中的数据包。
OSI(Open System Interconnection,开放系统互连)模型是由国际标准化组织(ISO)定义的标准,它定义了一种分层体系结构,在其中的每一层定义了针对不同通信级别的协议。OSI模型有7层,1到7层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,帧工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输;数据包是TCP/IP协议通信传输中的数据单位,数据包包含在帧里,网络数据包包含数据链路层、网络层、传输层、应用层四层协议数据包;所述TCP协议是Transmission Control Protocol(传输控制协议),TCP是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议。在步骤S101中,网络数据包捕获函数库持续的对网络中的数据包进行采集;所述网络数据包捕获函数库包括但不限于libpcap、wireshark、fiddler、SmartSniff等;所述对网络中的数据包进行采集包括:将一个网络中的数据包,通过交换机镜像一份到网络数据包捕获函数库输入模块,输入模块过滤筛选指定的数据包;将过滤筛选得到的数据包保存到第一存储区域;所述第一存储区域包括但不限于队列,磁盘等;所述队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
步骤S102,对所述数据包进行解析,得到所述数据包对应的五元组信息。
在步骤S102中,从第一存储区域中获取所述过滤筛选得到的数据包,使用解析程序代码对所述过滤筛选得到的数据包进行解析;优选的,可以使用Python编写解析程序代码;解析数据包的过程即是得到五元组信息的过程,解析结果即是所述过滤筛选得到的数据包的五元组信息,所述五元组信息包括:源IP地址、源端口、目的IP地址、目的端口和传输层协议。例如如:192.168.1.1 10000TCP 121.14.88.76 80就构成了一个五元组。其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行连接。五元组能够区分不同会话,并且对应的会话是唯一的。IP地址(Internet Protocol Address)是一种在互联网上的给主机编址的方式,也称为网际协议地址。常见的IP地址,分为IPv4与IPv6两大类;源端口(Source Port)是指一个发送的分组来自的TCP/UDP端口,当目的地端口是接收的一个分组的TCP/UDP端口。
步骤S103,根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储。
在步骤S103中,具体的,根据所述五元组信息将所述数据包分为多个会话,并生成相应会话的会话信息;若持续获取的数据包满足预设条件,则将所述数据包进行存储并得到存储信息;将所述存储信息写入会话信息,并将所述会话信息进行存储。在其中一个具体的实施例中,根据所述五元组信息将所述数据包分为多个会话;获取每一个会话中第一个接收到的数据包的时间信息以及每一个会话的数据包数量,将所述时间信息以及数据包数量作为相应会话的唯一标识;根据会话的所述五元组信息以及唯一标识,生成相应会话的会话信息。具体地,将预设时间内五元组信息相同的数据包视为一个会话;所述会话的含义为:会话是一个终端与服务器之间的不中断的请求响应序列。对终端的每个请求,服务器能够识别出请求来自于同一个客户。当一个未知的终端向服务器发送第一个请求时就开始了一个会话。当客户明确结束会话或服务器在一个预定义的时限内不从终端接受任何请求时,会话就结束了。所述预定义的时限优选的时限为3分钟。所述数据包的源IP地址、源端口、目的IP地址、目的端口和传输层协议都相同才可以视为同一个对话。所述数据包的源IP地址、源端口、目的IP地址、目的端口和传输层协议有其中一个或多个不相同则不能视为一个会话;根据五元组信息将所述数据包分为多个会话;所述会话唯一标识包括:每一个会话中第一个接收到的数据包的时间信息以及每一个会话的数据包数量,即所述会话唯一标识包括所述时间信息和数据包数量;根据会话的所述五元组信息以及唯一标识,生成相应会话的会话信息;;所述会话信息包括:会话唯一标识、源IP地址、源端口、目的IP地址、目的端口、传输层协议以及会话数据包数量。即会话信息的内容包括会话唯一标识、当前会话包含的数据包的数量以及当前会话包含的数据包的五元组信息。将会话信息和数据包发送到第二存储区域,所述第二存储区域包括但不限于队列,磁盘等。
在其中一个实施例中,将所述数据包存储至指定文件;获取存储至指定文件时的存储信息,所述存储信息包括:文件名称、存储位置以及存储长度。具体地,从第二存储区域中获取会话信息和数据包,当数据包的数量达到预设条件时,将所述数据包存储到指定文件;所述预设条件包括:所述数据包数量大于等于预设阈值;将数据包的存储信息保存到所述数据包对应的会话信息中;所述存储信息包括文件名称、存储位置以及存储长度。当数据包的数量小于存储阈值时,不对数据包进行存储。
在其中一个实施例中,将数据包信息发送到文件存储模块,获取所述指定文件的存储量;若所述存储量大于等于存储阈值,则将所述数据包存储至新建文件;若所述存储量小于存储阈值,则将所述数据包存储至指定文件,并从文件存储模块得到存储的文件名,存储位置,存储长度,保存到会话信息中;当会话超过预设时长或者会话结束,将会话信息保存到数据库。
通过上述步骤,本申请针对网络数据包的存储提出了新的方法,即根据解析数据包得到的五元组信息,将数据包区分为多个会话,将数据包集中存储到指定文件中,解决了传统数据包保存方法将每个数据包单独保存导致的数据包保存效率低,占用系统资源多的问题。
在其中一个具体的实施例中,使用网络数据包捕获函数库libpcap对指定网卡进行监听,对网络数据包进行过滤筛选,采集网络中的数据包。将经过过滤筛选得到的数据包保存到第一队列Q1。
从第一队列得到之前保存的经过过滤筛选得到的数据包,使用Python编程的程序代码解析所述数据包,得到所述数据包的五元组信息,所述五元组信息包括:源IP地址、源端口、目的IP地址、目的端口和传输层协议。根据所述五元组信息将数据包分为多个会话。
在一个具体的实施例中,数据包1和数据包2的源IP地址、源端口、目的IP地址、目的端口和传输层协议都相同,则两个数据包被分为同一会话。
在另一个具体的实施中,数据包1和数据包2的源IP地址、源端口、目的IP地址、目的端口和传输层协议都相同;数据包3和数据包1的源IP地址、源端口、目的IP地址和目的端口相同,传输层协议不同,则数据包1和数据包2视为同一会话,数据包3视为另一会话。
根据解析数据包得到的五元组信息将数据包分为多个会话,并生成对应的会话信息,所述会话信息包括:会话唯一标识、源IP地址、源端口、目的IP地址、目的端口、传输层协议以及会话包含的数据包数量。
所述会话唯一标识的生成方式为[time][count]”。[time]表示当前对话中第一个接收到的数据包的时间;优选的,格式可以为200102120000(表示2020年01月02日12点00分00秒)。[count]表示当前会话包含的数据包的数量;优选的,范围可以是0-9999999。优选的,会话唯一标识共19位,使用64无符号整数表示。
将会话信息和所述数据包保存到第二队列Q2;当数据包的数量大于等于10000个时,将数据包存储到指定文件。
指定文件的文件名称包括通用文件识别码和指定文件的计数次序。优选的,所述指定文件的文件名称可以为[uuid]_[count];在规范字符串格式中,UUID的十六个八位字节被表示为32个十六进制(基数16)数字,以连字号分隔的五组来显示,形式为8-4-4-4-12,总共有36个字符(即三十二个英数字母和四个连字号)。例如:
123e4567-e89b-12d3-a456-426655440000
将数据包存储到指定文件时,每个文件大小限制为10G。当存储量大于等于10G时,重新打开新的文件存储数据包。得到存储数据包时的存储信息;所述存储信息包括:文件名称,存储位置,存储长度。
将所述数据包的存储信息保存到会话信息,会话时间设定为3分钟,当会话超时或会话结束后,将会话信息保存到数据库。
本实施例还提供了一种网络数据包存储装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请实施例的网络数据包存储装置的结构框图,如图3所示,该装置包括:
数据包采集模块301:用于持续获取网络中的数据包;
数据包解析模块302:用于对所述数据包进行解析,得到所述数据包对应的五元组信息;
数据包保存模块303:用于根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储。
数据包解析模块303还用于根据所述五元组信息将所述数据包分为多个会话,并生成相应会话的会话信息;若持续获取的数据包满足预设条件,则将所述数据包进行存储并得到存储信息;将所述存储信息写入会话信息,并将所述会话信息进行存储。
数据包解析模块303还用于根据所述五元组信息将所述数据包分为多个会话;获取每一个会话中第一个接收到的数据包的时间信息以及每一个会话的数据包数量,将所述时间信息以及数据包数量作为相应会话的唯一标识;根据会话的所述五元组信息以及唯一标识,生成相应会话的会话信息。
数据包解析模块303还用于当数据包满足预设条件,即持续获取的数据包数量大于等于预设阈值时,将所述数据包存储至指定文件;获取存储至指定文件时的存储信息,所述存储信息包括:文件名称、存储位置以及存储长度。
数据包解析模块303还用于获取所述指定文件的存储量;若所述存储量大于等于存储阈值,则将所述数据包存储至新建文件;若所述存储量小于存储阈值,则将所述数据包存储至指定文件。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图2描述的本申请实施例网络数据包存储方法可以由计算机设备来实现。图4为根据本申请实施例的计算机设备的硬件结构示意图。
计算机设备可以包括处理器41以及存储有计算机程序指令的存储器42。
具体地,上述处理器41可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器42可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器42可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器42可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器42可在数据处理装置的内部或外部。在特定实施例中,存储器42是非易失性(Non-Volatile)存储器。在特定实施例中,存储器42包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器42可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器41所执行的可能的计算机程序指令。
处理器41通过读取并执行存储器42中存储的计算机程序指令,以实现上述实施例中的任意一种网络数据包存储方法。
在其中一些实施例中,计算机设备还可包括通信接口43和总线40。其中,如图4所示,处理器41、存储器42、通信接口43通过总线40连接并完成相互间的通信。
通信接口43用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口43还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线30包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线30包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线40可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于获取到的计算机指令,执行本申请实施例中的网络数据包存储方法,从而实现结合图1描述的网络数据包存储方法。
另外,结合上述实施例中的网络数据包存储方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种网络数据包存储方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种网络数据包存储方法,其特征在于,包括:
持续获取网络中的数据包;
对所述数据包进行解析,得到所述数据包对应的五元组信息;
根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储。
2.根据权利要求1所述的网络数据包存储方法,其特征在于,所述五元组信息包括:源IP地址、源端口、目的IP地址、目的端口以及传输层协议。
3.根据权利要求1所述的网络数据包存储方法,其特征在于,所述根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储包括:
根据所述五元组信息将所述数据包分为多个会话,并生成相应会话的会话信息;
若持续获取的数据包满足预设条件,则将所述数据包进行存储并得到存储信息;
将所述存储信息写入会话信息,并将所述会话信息进行存储。
4.根据权利要求3所述的网络数据包存储方法,其特征在于,所述根据所述五元组信息将所述数据包分为多个会话,并生成相应会话的会话信息包括:
根据所述五元组信息将所述数据包分为多个会话;
获取每一个会话中第一个接收到的数据包的时间信息以及每一个会话的数据包数量,将所述时间信息以及数据包数量作为相应会话的唯一标识;
根据会话的所述五元组信息以及唯一标识,生成相应会话的会话信息。
5.根据权利要求3所述的网络数据包存储方法,其特征在于,所述预设条件包括:
持续获取的数据包数量大于等于预设阈值。
6.根据权利要求3所述的网络数据包存储方法,其特征在于,所述将所述数据包进行存储并得到存储信息包括:
将所述数据包存储至指定文件;
获取存储至指定文件时的存储信息,所述存储信息包括:文件名称、存储位置以及存储长度。
7.根据权利要求6所述的网络数据包存储方法,其特征在于,所述将所述数据包存储至指定文件包括:
获取所述指定文件的存储量;
若所述存储量大于等于存储阈值,则将所述数据包存储至新建文件;
若所述存储量小于存储阈值,则将所述数据包存储至指定文件。
8.一种网络数据包存储装置,其特征在于,包括:
数据包采集模块:用于持续获取网络中的数据包;
数据包解析模块:用于对所述数据包进行解析,得到所述数据包对应的五元组信息;
数据包保存模块:用于根据所述五元组信息将所述数据包分为多个会话,并在所述数据包满足预设条件时,对数据包进行存储。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的网络数据包存储方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的网络数据包存储方法。
CN202010557677.0A 2020-06-18 2020-06-18 网络数据包存储方法、装置、计算机设备和存储介质 Pending CN111782140A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010557677.0A CN111782140A (zh) 2020-06-18 2020-06-18 网络数据包存储方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010557677.0A CN111782140A (zh) 2020-06-18 2020-06-18 网络数据包存储方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN111782140A true CN111782140A (zh) 2020-10-16

Family

ID=72756976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010557677.0A Pending CN111782140A (zh) 2020-06-18 2020-06-18 网络数据包存储方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111782140A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817536A (zh) * 2021-02-03 2021-05-18 恒为科技(上海)股份有限公司 一种数据包的捕获方法及相关装置
CN114047881A (zh) * 2021-11-18 2022-02-15 江苏省未来网络创新研究院 一种基于用户策略的网络数据包存储装置及方法
CN114125015A (zh) * 2021-11-30 2022-03-01 上海斗象信息科技有限公司 一种数据采集方法及系统
CN114205115A (zh) * 2021-11-12 2022-03-18 苏州浪潮智能科技有限公司 一种数据包处理优化方法、装置、设备及介质
CN114793192A (zh) * 2022-04-22 2022-07-26 中国工商银行股份有限公司 故障定位方法、装置、设备、介质和程序产品
CN114866316A (zh) * 2022-04-29 2022-08-05 中国科学院信息工程研究所 安全防护方法、装置、设备、存储介质及程序产品
CN115348340A (zh) * 2022-08-15 2022-11-15 中国人民解放军战略支援部队信息工程大学 一种数据转发方法、装置、设备和存储介质
CN115604207A (zh) * 2022-12-12 2023-01-13 成都数默科技有限公司(Cn) 一种面向会话的网络流量存储及索引方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243344A (zh) * 2014-10-11 2014-12-24 网宿科技股份有限公司 一种有效数据包捕获方法及请求重定向服务器
US20170078917A1 (en) * 2014-05-28 2017-03-16 Huawei Technologies Co., Ltd. Protocol stack adaptation method and apparatus
CN106790230A (zh) * 2017-01-16 2017-05-31 北京匡恩网络科技有限责任公司 数据处理方法、装置、系统、以及数据服务器
CN108282412A (zh) * 2018-01-19 2018-07-13 世纪龙信息网络有限责任公司 网络分流方法、装置、系统及计算机设备
WO2018214359A1 (zh) * 2017-05-22 2018-11-29 深圳市中兴微电子技术有限公司 一种数据包的处理方法、接入网设备及非暂态可读存储介质
CN110166480A (zh) * 2019-05-31 2019-08-23 新华三信息安全技术有限公司 一种数据包的分析方法及装置
CN110222503A (zh) * 2019-04-26 2019-09-10 西安交大捷普网络科技有限公司 一种大数据流负载下的数据库审计方法、系统与设备
CN110891071A (zh) * 2019-12-25 2020-03-17 杭州安恒信息技术股份有限公司 一种网络流量信息获取方法、装置及其相关设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170078917A1 (en) * 2014-05-28 2017-03-16 Huawei Technologies Co., Ltd. Protocol stack adaptation method and apparatus
CN104243344A (zh) * 2014-10-11 2014-12-24 网宿科技股份有限公司 一种有效数据包捕获方法及请求重定向服务器
CN106790230A (zh) * 2017-01-16 2017-05-31 北京匡恩网络科技有限责任公司 数据处理方法、装置、系统、以及数据服务器
WO2018214359A1 (zh) * 2017-05-22 2018-11-29 深圳市中兴微电子技术有限公司 一种数据包的处理方法、接入网设备及非暂态可读存储介质
CN108282412A (zh) * 2018-01-19 2018-07-13 世纪龙信息网络有限责任公司 网络分流方法、装置、系统及计算机设备
CN110222503A (zh) * 2019-04-26 2019-09-10 西安交大捷普网络科技有限公司 一种大数据流负载下的数据库审计方法、系统与设备
CN110166480A (zh) * 2019-05-31 2019-08-23 新华三信息安全技术有限公司 一种数据包的分析方法及装置
CN110891071A (zh) * 2019-12-25 2020-03-17 杭州安恒信息技术股份有限公司 一种网络流量信息获取方法、装置及其相关设备

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817536A (zh) * 2021-02-03 2021-05-18 恒为科技(上海)股份有限公司 一种数据包的捕获方法及相关装置
CN112817536B (zh) * 2021-02-03 2022-09-16 恒为科技(上海)股份有限公司 一种数据包的捕获方法及相关装置
CN114205115A (zh) * 2021-11-12 2022-03-18 苏州浪潮智能科技有限公司 一种数据包处理优化方法、装置、设备及介质
CN114205115B (zh) * 2021-11-12 2023-07-14 苏州浪潮智能科技有限公司 一种数据包处理优化方法、装置、设备及介质
CN114047881A (zh) * 2021-11-18 2022-02-15 江苏省未来网络创新研究院 一种基于用户策略的网络数据包存储装置及方法
CN114047881B (zh) * 2021-11-18 2023-11-17 江苏省未来网络创新研究院 一种基于用户策略的网络数据包存储装置及方法
CN114125015A (zh) * 2021-11-30 2022-03-01 上海斗象信息科技有限公司 一种数据采集方法及系统
CN114793192A (zh) * 2022-04-22 2022-07-26 中国工商银行股份有限公司 故障定位方法、装置、设备、介质和程序产品
CN114793192B (zh) * 2022-04-22 2024-02-02 中国工商银行股份有限公司 故障定位方法、装置、设备和介质
CN114866316A (zh) * 2022-04-29 2022-08-05 中国科学院信息工程研究所 安全防护方法、装置、设备、存储介质及程序产品
CN114866316B (zh) * 2022-04-29 2023-08-01 中国科学院信息工程研究所 安全防护方法、装置、设备、存储介质
CN115348340A (zh) * 2022-08-15 2022-11-15 中国人民解放军战略支援部队信息工程大学 一种数据转发方法、装置、设备和存储介质
CN115348340B (zh) * 2022-08-15 2024-03-08 中国人民解放军战略支援部队信息工程大学 一种数据转发方法、装置、设备和存储介质
CN115604207A (zh) * 2022-12-12 2023-01-13 成都数默科技有限公司(Cn) 一种面向会话的网络流量存储及索引方法
CN115604207B (zh) * 2022-12-12 2023-03-10 成都数默科技有限公司 一种面向会话的网络流量存储及索引方法

Similar Documents

Publication Publication Date Title
CN111782140A (zh) 网络数据包存储方法、装置、计算机设备和存储介质
US9305055B2 (en) Method and apparatus for analysing data packets
US9906630B2 (en) Processing data packets in performance enhancing proxy (PEP) environment
JP5167501B2 (ja) ネットワーク監視システムとその動作方法
CN109815214B (zh) 数据库访问方法、系统、装置及存储介质
CN106972985B (zh) 加速dpi设备数据处理与转发的方法和dpi设备
CN103188042B (zh) 一种ip数据包的匹配方法和匹配加速器
CN107666486A (zh) 一种基于报文协议特征的网络数据流恢复方法及系统
EP3065343B1 (en) Network monitoring method and apparatus, and packet filtering method and apparatus
WO2021169275A1 (zh) Sdn 网络设备访问方法、装置、计算机设备及存储介质
CN109525495B (zh) 一种数据处理装置、方法和fpga板卡
CN104170349A (zh) 在分组网关上的策略控制实施
CN103260190A (zh) 基于演进分组系统网路的安全审计系统及其方法
EP2741449B1 (en) Processing of call data records
CN114422617A (zh) 一种报文处理方法、系统及计算机可读存储介质
CN105991353A (zh) 故障定位的方法和装置
CN110224932B (zh) 一种数据快速转发的方法及系统
CN115801927A (zh) 报文解析方法及装置
CN110708209A (zh) 虚拟机流量采集方法、装置、电子设备及存储介质
CN113965629A (zh) Udp应用层协议识别方法、装置、存储介质及设备
CN115914130A (zh) 智能网卡的数据流量处理方法及装置
CN113037551B (zh) 一种基于流量切片的涉敏业务快速识别定位方法
CN110908798B (zh) 多进程协同式网络流量解析方法及装置
CN112910991B (zh) 后端应用调用方法、装置、计算机设备和可读存储介质
CN115033407A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201016