CN112039904A - 一种网络流量分析与文件提取系统及方法 - Google Patents

一种网络流量分析与文件提取系统及方法 Download PDF

Info

Publication number
CN112039904A
CN112039904A CN202010915370.3A CN202010915370A CN112039904A CN 112039904 A CN112039904 A CN 112039904A CN 202010915370 A CN202010915370 A CN 202010915370A CN 112039904 A CN112039904 A CN 112039904A
Authority
CN
China
Prior art keywords
protocol
file
data packet
module
flow
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
CN202010915370.3A
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.)
Fuzhou Linkosla Information Technology Co ltd
Original Assignee
Fuzhou Linkosla Information 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 Fuzhou Linkosla Information Technology Co ltd filed Critical Fuzhou Linkosla Information Technology Co ltd
Priority to CN202010915370.3A priority Critical patent/CN112039904A/zh
Publication of CN112039904A publication Critical patent/CN112039904A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Abstract

本发明公开一种网络流量分析与文件提取系统,包括流量捕获模块、流量预处理模块、协议统计模块、协议解析模块及文件提取模块。本发明可以在不影响企业正常通信流量的情况下,对企业与公网之间的通信流量进行捕获,对不同IP和不同协议的流量进行统计,实时提取其中传输的文件,并将文件内容写入到磁盘中。

Description

一种网络流量分析与文件提取系统及方法
技术领域
本发明涉及一种网络流量分析与文件提取的实现方法,尤其涉及的是在高带宽的网络环境中提取网络流量中传输的文件的实现方法,属于计算机网络安全技术领域。
背景技术
随着计算机通信技术的不断发展,网络安全正在受到越来越多的重视。对企业而言,如果被恶意软件侵入内网,泄露企业敏感数据,会造成巨大的损失。在复杂的流量环境中,如何有效地识别恶意的流量,也逐渐成为很多企业日益关注的内容。传统的网络防护往往只是通过对网络流量的数据包进行分析,检测其中是否含有部分恶意特征,从而防止恶意流量连接到企业内网。但是这种方式无法进行细粒度的控制,并且难以对伪装成正常流量的恶意流量进行识别。
因此,如果对企业的网络流量进行监控,并实时提取其中传输的文件内容,则可以成为防止网络入侵的一个有效方案。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种网络流量分析与文件提取系统及方法,更加有效的防护网络入侵攻击。
技术方案:一种网络流量分析与文件提取系统,其特征在于,包括流量捕获模块、流量预处理模块、协议统计模块、协议解析模块及文件提取模块;
所述流量捕获模块,用于对原始流量的镜像流量进行接收、捕获、存储及过滤,并将过滤后的数据包发送给所述流量预处理模块;
所述流量预处理模块,用于接收所述流量捕获模块发送来的数据包,分析数据包中网络层和运输层协议,所述分析数据包中网络层和运输层协议包括:
将同一网络连接的数据包存放至散列表的相同节点处并对TCP协议进行重组和排序,将重组排序后的数据包发送给所述协议解析模块;
将网络连接信息及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
所述协议解析模块,用于接收流量预处理模块发送过来的网络连接的数据包,对所述数据包中应用层协议识别和解析,查找其中传输的文件内容,如果有,则将其提取出来,发送给所述文件提取模块,同时将协议名称及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
所述文件提取模块,用于接收所述协议解析模块发送的文件内容片段,并将其组合到一起,直至网络连接结束或者计时器超时,将组合完成的文件写入到磁盘中。
所述协议统计模块,用于接收流量预处理模块和协议解析模块发送的Key-Value对,并对其累加求和,得到有关IP地址、运输层和应用层协议的统计信息,并将其写入到数据库中。
本发明还保护了一种网络流量分析与文件提取方法,适用于上述系统,其特征在于:包括以下几个步骤:
第一步,流量捕获,对原始流量的镜像流量进行接收、捕获、存储及过滤,并将过滤后的数据包发送给流量预处理模块;
第二步,流量预处理,接收流量捕获模块发送来的数据包,分析数据包中网络层和运输层协议,所述分析数据包中网络层和运输层协议包括:
将同一网络连接的数据包存放至散列表的相同节点处并对TCP协议进行重组和排序,将重组排序后的数据包发送给协议解析模块;
将网络连接信息及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
第三步,协议解析,接收流量预处理模块发送过来的网络连接的数据包,对所述数据包中应用层协议识别和解析,查找其中传输的文件内容,如果有,则将其提取出来,发送给文件提取模块,同时将协议名称及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
第四步,文件提取,接收协议解析模块发送的文件内容片段,并将其组合到一起,直至网络连接结束或者计时器超时,将组合完成的文件写入到磁盘中。
第五步,协议统计,接收流量预处理模块和协议解析模块发送的Key-Value对,并对其累加求和,得到有关IP地址、运输层和应用层协议的统计信息,并将其写入到数据库中。
本发明网络流量分析及文件提取方法进一步限定的技术方案为:所述第一步,流量捕获,具体包括以下几个步骤:
步骤101,从原始网络流量创建镜像流量,在镜像流量上进行流量捕获;
步骤102,创建环形缓冲区存储捕获的数据包;
步骤103,使用BPF规则对捕获的流量进行过滤,丢弃网络层以下的数据包,只保留IPv4和IPv6的数据包;
步骤104,将捕获的数据包发送给流量预处理模块。
作为优选,所述第二步,流量预处理,具体包括以下几个步骤:
步骤201,对每一个IP数据包提取源IP地址和目标IP地址的字段值,判断是否分片,如果有分片,则将分片重组为完整的数据包;
步骤202,判断当前数据包是否包含TCP或者UDP协议信息,如果有,转至步骤203;如果没有,则当前数据包为IP数据报,丢弃此数据包;
步骤203,提取当前数据包中TCP或UDP头部的源端口和目的端口信息,如果是TCP数据包,额外提取TCP头部中的序列号、确认号、ACK、SYN、FIN;
步骤204,通过提取出的源IP地址、目标IP地址、源端口和目的端口作为一个四元组,通过哈希函数计算此四元组的哈希值,将相同哈希值的数据包认为是同一个网络连接;
步骤205,创建一个散列表,表中的每个节点包含两部分,分别对应网络连接的发送方和接收方;
步骤206,使用散列表存放数据包,在接收到数据包时,如果它的哈希值已经存在,则按当前数据包为发送方还是接收方存放至不同位置;如果哈希值不存在,则新建节点并存储数据;
步骤207,对于TCP数据包,通过数据包中的序列号、确认号、ACK、SYN、FIN,提取TCP握手挥手过程,对TCP数据包进行重组排序,并更新网络连接状态,记录传输的数据包个数、字节数;
步骤208,将源IP地址、目标IP地址作为Key,传输的数据包个数、字节数作为Value,发送给协议统计模块;
步骤209,将重组后的数据包发送给协议解析模块。
作为优选,所述第三步,协议解析,具体包括以下几个步骤:
步骤301,对重组后的TCP/UDP数据包进行应用层协议识别,识别的过程按照步骤302和303;
步骤302,使用网络端口进行识别,如果网络端口是熟知端口,则根据端口将此网络连接标记为对应的协议;
步骤303,使用正则表达式匹配数据内容,如果数据内容能够匹配特定协议的正则表达式,则将此网络连接标记为该协议;
步骤304,将网络连接对应的协议名称作为Key,传输的数据包个数、字节数作为Value,发送给协议统计模块;
步骤305,将TCP/UDP数据包发送给应用层协议对应的解析器,通过解析器还原网络通信内容,并确定是否有文件传输,如果没有,完成解析并等待下一个数据包;如果有,将文件内容发送到文件提取模块;
步骤306,分析应用层协议控制信息,查找文件名信息,并发送给文件提取模块。
作为优选,所述第四步,文件提取,具体包括以下几个步骤:
步骤401,创建一个文件数据体,用于存储协议解析器中提取出的文件内容;
步骤402,将协议解析模块提取出的文件数据片段按照数据包中的控制信息存储在文件数据体中相应的位置;
步骤403,如果收到TCP连接的挥手信息,则结束文件提取,转至步骤406;
步骤404,设置一个计时器,如果当前文件数据体在一定时间内没有更新,则结束文件提取,转至步骤406;
步骤405,如果文件数据体未超时且未收到网络连接结束信息,则继续等待文件内容,转至步骤402;
步骤406,通过提取出的文件信息判断其MIME类型,并通过查找MIME类型与文件常用后缀名的对应关系,确定文件的后缀名,与协议解析中提取的文件名拼接在一起,组成文件的保存名称;
步骤407,将提取出的文件以文件的保存名称命名,并保存在磁盘上,并将提取文件的信息保存至数据库中。
作为优选,所述第五步,协议统计,具体包括以下几个步骤:
步骤501,使用MapReduce思想进行协议和流量信息的统计;
步骤502,协议统计模块接收来自流量预处理模块和协议解析模块发送的Key-Value数据,具体包括步骤503和504;
步骤503,对于协议统计,Key为当前传输层和应用层协议,Value为数据包个数和传输字节数;
步骤504,对于流量统计,Key为当前网络连接的二元组即源IP地址、目标IP地址,Value为数据包个数和传输字节数;
步骤505,对生成的所有键值对进行收集和统计,按照不同的Key对键值对的Value进行累计求和,得到当前时间段网络中传输的协议统计信息和不同的网络连接的统计信息;
步骤506,设置一个计时器,每隔一定时间,将统计得到的结果写入数据库中。
有益效果:与现有技术相比,本发明一种网络流量分析与文件提取系统及实现方法,具有以下优点:
1)可以在不影响企业正常通信流量的情况下,对企业与公网之间的通信流量进行捕获,对不同IP和不同协议的流量进行统计,并实时提取其中传输的文件,并将文件内容写入到磁盘中。
2)支持多种应用层协议,可以实现HTTP、FTP、TFTP、SMTP、SMB协议中的文件提取,并可支持DNS、IRC、SSH、POP3、IMAP等协议的识别和统计。
3)企业内部通过架设网络交换机,来控制企业内网和外网的连接。在企业网络流量的交换机上通过创建镜像流量,并在镜像流量中完成对TCP、UDP协议的分析,再通过应用层协议解析器实现协议内容的提取,实时发现其中包含的文件内容,并将查找到的文件保存在磁盘上,以便进行下一步的文件分析和审计。这种文件提取的方式能够更加有效地防护网络入侵攻击,防止恶意勒索软件、恶意病毒文件对企业内部网络造成影响。
附图说明
图1为本发明在实际应用中的网络设备结构图。
图2为本发明各个流量处理模块的原理示意图。
图3为本发明流量捕获模块从镜像流量中实时捕获和过滤流量的示意图。
图4为本发明流量预处理模块对网络层和运输层协议分析的示意图。
图5为本发明协议解析模块对应用层协议进行识别和解析的示意图。
图6为本发明文件提取模块实现传输文件内容的重组和保存的示意图。
图7为本发明协议统计模块对IP流量和传输层、应用层协议统计示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明。
如图1所示:左侧是公司内网,其中包含多个计算机设备,右侧是公网服务器,包括各种网页服务器、内容服务器、邮件服务器等。在公司内网与公网服务器之间,往往会使用一个网络交换机作为通信的接口,从而有效地隔离内网和外网,进行访问控制。本发明实施例的部署方案为:采用在网络交换机上创建镜像流量的方式,此镜像流量中包含了公司内网和公网双向通信的数据内容。之后将此镜像流量传输给进行流量分析的设备,在此设备中完成流量分析,并将结果写入数据库和磁盘中。
如图2所示:本实施例提供的网络流量分析与文件提取系统包括流量捕获模块、流量预处理模块、协议统计模块、文件提取模块及协议解析模块;各个模块之间传递的数据主要包括数据包内容,以及对此数据包分析得到的结果,比如IP地址、TCP端口、应用层协议名称、文件名等。具体的步骤如下:
第一步,流量捕获模块接收传输的镜像流量,实现数据包抓取和过滤,之后将得到的数据包送入流量预处理模块。
如图3所示:在通过网络交换机创建镜像流量后,镜像流量导入到单独的协议分析设备中,在该设备中进行流量捕获和分析工作。具体的步骤如下:
步骤101,对镜像流量中的数据包进行捕获;
步骤102,将捕获到的数据包存放至环形缓冲区中。为了提高流量捕获的速率,本发明设置了一个环形缓冲区,每次新的数据包到来时,便将其放置于环形缓冲区的最后位置,如果环形缓冲区已满,便将缓冲区内最早的数据包覆盖;
步骤103,通过特定的规则对捕获到的数据包进行过滤,本发明中使用的是过滤掉所有的非网络层的数据包;
步骤104,在通过流量过滤之后,向下一级流量预处理模块发送数据包在缓冲区中的位置,通知其进行处理。
第二步,流量预处理模块接收流量捕获模块抓取的数据包,实现对数据包中网络层和运输层协议的分析,并将同一网络连接按四元组分类的数据包存放至散列表的相同节点处,实现对TCP协议的重组和排序。该模块最终将排序后的数据包送入协议解析模块,将网络连接信息及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块。
如图4所示:由于在流量捕获模块已经过滤了非网络层的数据包,因此在预处理模块中,可以对每个IP数据包提取其中的源IP地址和目的IP地址。例如,IP地址192.168.1.101中的端口5000向192.168.1.102的端口80发送了一个HTTP请求数据包,数据包大小为150字节,其中TCP协议的部分字段为:序列号=1000,确认号=0,ACK=0,SYN=1,FIN=0。对此数据包的分析过程如下:
步骤201,在IP协议的头部字段中提取源IP地址为192.168.1.101,目的IP地址为192.168.1.102;
步骤202,由于HTTP协议是通过TCP协议传输的,因此数据包中包含TCP协议字段,提取其中的源端口和目的端口分别为5000和80。如果数据包中不包含传输层协议,则丢弃数据包,结束分析;
步骤203,从前两步的结果中可以得到标识一个网络连接的四元组:源IP地址192.168.1.101,目的IP地址192.168.1.102, 源端口5000和目的端口80;
步骤204,将此四元组作为一个结构体计算其Hash值,并按Hash值存至散列表中。散列表每个节点分为两个部分,源节点部分存放从源地址发送至目的地址的数据包,目的节点部分存放目的地址发送至源地址的数据包。在此例中,数据包将会保存在Hash(192.168.1.101, 192.168.1.102, 5000, 80)处的源节点中。
步骤205,如果当前数据包包含TCP协议,那么还可以从TCP协议的头部提取相应的信息,包括序列号=1000、确认号=0、ACK=0、SYN=1、FIN=0;
步骤206,在提取出TCP协议信息之后,可以检测TCP协议的握手挥手过程、TCP数据包是否存在乱序情况,如果有,则对数据包按其序列号重组排序。在本例中,可以判断TCP状态为握手阶段,并且不存在乱序情况,因此不必重组排序;
步骤207,将数据包内容发送到协议解析模块,进行应用层协议解析。由于本例中数据包不含应用层协议字节,因此会略过此步;
步骤208,在数据包传输层协议头部解析完成后,需要对每个网络连接更新其中的状态,记录网络连接中发送和接受的数据包个数、字节数,以Key-Value的形式发送到协议统计模块。在本例中,Key为 (192.168.1.101, 192.168.1.102), Value为 (1, 150),表示192.168.1.101向192.168.1.102发送的数据包个数为1,数据包字节数为150。
第三步,协议解析模块接收流量预处理模块分析过的网络连接的数据包,实现对数据包中应用层协议的识别和解析,并查找其中传输的文件内容,如果有,便将其提取出来,发送给文件提取模块,同时将协议名称及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块。
如图5所示:协议解析模块接收流量预处理模块输出的TCP数据包,对于某些使用UDP传输的应用层协议,如TFTP协议,也可接收UDP数据包,识别和解析其中使用的应用层协议。例如,IP地址192.168.1.102中的端口80向192.168.1.101的端口5000发送了一个HTTP应答数据包,数据包大小为150字节,其中应用层协议部分字段为:HTTP/1.1 200 OK\r\n(后面部分省略)。对此数据包的分析过程如下:
步骤301,通过协议所使用的端口号来确定应用层协议,如果通信双方的端口有一方为熟知端口,则可根据端口号确定对应的协议。在本例中,数据包发送方的端口号为80,则根据对应关系可知此数据包是通过HTTP协议发送的,因此可将此数据包所属的网络连接标识为HTTP协议;
步骤302,通过传输内容中的特殊字段来识别应用层协议,如果传输的内容中含有与应用层协议对应的部分字段,则也可以确定对应的协议。在本例中,传输的字段包含“HTTP/1.1”,则亦可将其标记为HTTP协议;
步骤303,在确定了网络连接所使用的应用层协议之后,便可将其发送至相应的协议解析器中,实现对应用层协议的解析。在本例中,会将应用层协议的全部字段内容发送到HTTP协议解析器中,解析其传输的数据;
步骤304,通过协议解析器判断数据包中是否包含文件内容,如果包含文件内容,则将对应的文件片段发送至文件提取模块,并检索文件的元数据,比如文件名、MIME类型等一并发送至文件提取模块,如果不包含文件内容,则结束此数据包的分析;
步骤305,在完成协议识别和解析之后,还需要将应用层协议以及网络连接信息通过Key-Value的形式发送至协议统计模块。在本例中,Key为HTTP协议,Value为(1,150),表示通过HTTP协议传输的数据包个数为1个,传输的字节数为150。
第四步,文件提取模块接收协议解析模块发送的文件内容片段,并将其组合到一起,直到网络连接结束或者计时器超时,将组合完成的文件写入到磁盘中;
如图6所示:文件提取模块接收从协议解析模块输出的文件数据片段和与文件有关的元数据,实现将对应的文件数据片段进行拼接,形成完整的文件,并记录文件的元数据,按照一定的个数将文件保存至磁盘中。具体步骤如下:
步骤401,对于每一个网络连接,如果协议解析模块提取出了文件片段,那么就需要对此网络连接建立一个文件数据体,存储文件内容片段,记录对应的文件元数据。比如一个HTTP协议的数据包,文件内容包括当前数据包中HTML文件的片段,文件元数据包括当前HTML文件名、当前访问的URL地址、当前文件的MIME类型等;
步骤402,文件提取模块不断地接收来自协议解析模块发送的文件内容片段,并将其有序组合到一起,拼接成一个完整的文件。文件提取过程何时结束取决于步骤403和步骤404的结束条件;
步骤403,判断当前网络连接是否结束。例如检测到TCP挥手信息,则说明网络连接以及结束,因此便可以结束文件提取;如果未结束,则继续等待文件数据内容;
步骤404,判断计时器是否超时。对于每个文件数据体,设置有一个计时器,如果在给定时间内文件数据体不再更新,可以认为超时,则也会结束文件的提取;在每次收到新的文件内容片段时重置计时器;
步骤405,当触发步骤403和步骤404两个结束条件后,便结束文件提取;
步骤406,文件提取模块通过文件的MIME类型判断此文件应该适用于哪个后缀名,并从文件的元数据中查找文件名,将其组合到一起,形成完整的文件保存名称;
步骤407,将提取出的文件保存至磁盘中。
第五步,协议统计模块接收流量预处理模块和协议解析模块发送的Key-Value对,并对其累加求和,得到有关IP地址、运输层和应用层协议的统计信息,并将其写入到数据库中。
如图7所示:协议统计模块使用基于MapReduce的统计方法,实现对网络中传输的流量进行监控,并将相应的统计结果输出到数据库中。具体步骤如下:
步骤501,协议统计模块接收来自两个模块的Key-Value数据,如步骤502和步骤503所示;
步骤502,协议统计模块接收流量预处理模块发送的IP地址与网络连接信息,Key为源IP地址和目的IP地址的二元组,Value为网络中对应于此IP地址所传输的数据包个数和字节数。例如,流量预处理模块会将Key: (192.168.1.101, 192.168.1.102), Value为:(1,150)这一对Key-Value发送至协议统计模块;
步骤503,协议统计模块接收协议解析模块发送的应用层或传输层协议与网络连接信息,Key为相应的应用层或传输层协议名称,Value为网络中对应于此协议所传输的数据包个数和字节数。例如,协议解析模块会将Key为HTTP协议,Value为(1,150),这一对Key-Value发送至协议统计模块;
步骤504,协议统计模块使用基于MapReduce的统计方法,模块中将对应于不同模块输入的Key-Value数据进行收集统计,并按照不同的Key对Value进行累计求和,每隔一定的时间,将统计结果按照不同的Key进行输出,最终得到两部分统计结果,分别对应于IP地址流量统计和协议统计;
步骤505,对于IP地址流量统计,协议统计模块输出的内容表示在当前一段时间内,不同的IP地址所传输的流量总计。例如,输出的Key为(192.168.1.101, 192.168.1.102),Value为(100,5000)表示192.168.1.101向192.168.1.102发送了100个数据包,共5000个字节;
步骤506,对于传输层和应用层协议统计,协议统计模块输出的内容表示在当前一段时间内,不同的传输层和应用层协议所传输的流量总计。例如,输出的Key为HTTP,Value为(100,5000)表示通过HTTP协议发送了100个数据包,共5000个字节;
步骤507,将统计的结果写入数据库中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

Claims (9)

1.一种网络流量分析与文件提取系统,其特征在于,包括流量捕获模块、流量预处理模块、协议统计模块、文件提取模块及协议解析模块;
所述流量捕获模块,用于对原始流量的镜像流量进行接收、捕获、存储及过滤,并将过滤后的数据包发送给所述流量预处理模块;
所述流量预处理模块,用于接收所述流量捕获模块发送来的数据包,分析数据包中网络层和运输层协议,所述分析数据包中网络层和运输层协议包括:
将同一网络连接的数据包存放至散列表的相同节点处并对TCP协议进行重组和排序,将重组排序后的数据包发送给所述协议解析模块;
将网络连接信息及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
所述协议解析模块,用于接收流量预处理模块发送过来的网络连接的数据包,对所述数据包中应用层协议识别和解析,查找其中传输的文件内容,如果有,则将其提取出来,发送给所述文件提取模块,同时将协议名称及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
所述文件提取模块,用于接收所述协议解析模块发送的文件内容片段,并将其组合到一起,直至网络连接结束或者计时器超时,将组合完成的文件写入到磁盘中。
2.所述协议统计模块,用于接收流量预处理模块和协议解析模块发送的Key-Value对,并对其累加求和,得到有关IP地址、运输层和应用层协议的统计信息,并将其写入到数据库中。
3.一种网络流量分析与文件提取方法,适用于权利要求1所述系统,其特征在于,包括以下几个步骤:
第一步,流量捕获,对原始流量的镜像流量进行接收、捕获、存储及过滤,并将过滤后的数据包发送给流量预处理模块;
第二步,流量预处理,接收流量捕获模块发送来的数据包,分析数据包中网络层和运输层协议,所述分析数据包中网络层和运输层协议包括:
将同一网络连接的数据包存放至散列表的相同节点处并对TCP协议进行重组和排序,将重组排序后的数据包发送给协议解析模块;
将网络连接信息及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
第三步,协议解析,接收流量预处理模块发送过来的网络连接的数据包,对所述数据包中应用层协议识别和解析,查找其中传输的文件内容,如果有,则将其提取出来,发送给文件提取模块,同时将协议名称及其传输的数据包数、字节数以Key-Value对的形式发送到协议统计模块;
第四步,文件提取,接收协议解析模块发送的文件内容片段,并将其组合到一起,直至网络连接结束或者计时器超时,将组合完成的文件写入到磁盘中。
4.第五步,协议统计,接收流量预处理模块和协议解析模块发送的Key-Value对,并对其累加求和,得到有关IP地址、运输层和应用层协议的统计信息,并将其写入到数据库中。
5.根据权利要求2所述的网络流量分析与文件提取方法,其特征在于,所述第一步,流量捕获,具体包括以下几个步骤:
步骤101,从原始网络流量创建镜像流量,在镜像流量上进行流量捕获;
步骤102,创建环形缓冲区存储捕获的数据包;
步骤103,使用BPF规则对捕获的流量进行过滤,丢弃网络层以下的数据包,只保留IPv4和IPv6的数据包;
步骤104,将捕获的数据包发送给流量预处理模块。
6.根据权利要求2所述的网络流量分析与文件提取方法,其特征在于,所述第二步,流量预处理,具体包括以下几个步骤:
步骤201,对每一个IP数据包提取源IP地址和目标IP地址的字段值,判断是否分片,如果有分片,则将分片重组为完整的数据包;
步骤202,判断当前数据包是否包含TCP或者UDP协议信息,如果有,转至步骤203;如果没有,则当前数据包为IP数据报,丢弃此数据包;
步骤203,提取当前数据包中TCP或UDP头部的源端口和目的端口信息,如果是TCP数据包,额外提取TCP头部中的序列号、确认号、ACK、SYN、FIN;
步骤204,通过提取出的源IP地址、目标IP地址、源端口和目的端口作为一个四元组,通过哈希函数计算此四元组的哈希值,将相同哈希值的数据包认为是同一个网络连接;
步骤205,创建一个散列表,表中的每个节点包含两部分,分别对应网络连接的发送方和接收方;
步骤206,使用散列表存放数据包,在接收到数据包时,如果它的哈希值已经存在,则按当前数据包为发送方还是接收方存放至不同位置;如果哈希值不存在,则新建节点并存储数据;
步骤207,对于TCP数据包,通过数据包中的序列号、确认号、ACK、SYN、FIN,提取TCP握手挥手过程,对TCP数据包进行重组排序,并更新网络连接状态,记录传输的数据包个数、字节数;
步骤208,将源IP地址、目标IP地址作为Key,传输的数据包个数、字节数作为Value,发送给协议统计模块;
步骤209,将重组后的数据包发送给协议解析模块。
7.根据权利要求2所述的网络流量分析与文件提取方法,其特征在于,所述第三步,协议解析,具体包括以下几个步骤:
步骤301,对重组后的TCP/UDP数据包进行应用层协议识别,识别的过程按照步骤302和303;
步骤302,使用网络端口进行识别,如果网络端口是熟知端口,则根据端口将此网络连接标记为对应的协议;
步骤303,使用正则表达式匹配数据内容,如果数据内容能够匹配特定协议的正则表达式,则将此网络连接标记为该协议;
步骤304,将网络连接对应的协议名称作为Key,传输的数据包个数、字节数作为Value,发送给协议统计模块;
步骤305,将TCP/UDP数据包发送给应用层协议对应的解析器,通过解析器还原网络通信内容,并确定是否有文件传输,如果没有,完成解析并等待下一个数据包;如果有,将文件内容发送到文件提取模块;
步骤306,分析应用层协议控制信息,查找文件名信息,并发送给文件提取模块。
8.根据权利要求2所述的网络流量分析与文件提取方法,其特征在于,所述第四步,文件提取,具体包括以下几个步骤:
步骤401,创建一个文件数据体,用于存储协议解析器中提取出的文件内容;
步骤402,将协议解析模块提取出的文件数据片段按照数据包中的控制信息存储在文件数据体中相应的位置;
步骤403,如果收到TCP连接的挥手信息,则结束文件提取,转至步骤406;
步骤404,设置一个计时器,如果当前文件数据体在一定时间内没有更新,则结束文件提取,转至步骤406;
步骤405,如果文件数据体未超时且未收到网络连接结束信息,则继续等待文件内容,转至步骤402;
步骤406,通过提取出的文件信息判断其MIME类型,并通过查找MIME类型与文件常用后缀名的对应关系,确定文件的后缀名,与协议解析中提取的文件名拼接在一起,组成文件的保存名称;
步骤407,将提取出的文件以文件的保存名称命名,并保存在磁盘上,并将提取文件的信息保存至数据库中。
9.根据权利要求2所述的网络流量分析与文件提取方法,其特征在于,所述第五步,协议统计,具体包括以下几个步骤:
步骤501,使用MapReduce思想进行协议和流量信息的统计;
步骤502,协议统计模块接收来自流量预处理模块和协议解析模块发送的Key-Value数据,具体包括步骤503和504;
步骤503,对于协议统计,Key为当前传输层和应用层协议,Value为数据包个数和传输字节数;
步骤504,对于流量统计,Key为当前网络连接的二元组即源IP地址、目标IP地址,Value为数据包个数和传输字节数;
步骤505,对生成的所有键值对进行收集和统计,按照不同的Key对键值对的Value进行累计求和,得到当前时间段网络中传输的协议统计信息和不同的网络连接的统计信息;
步骤506,设置一个计时器,每隔一定时间,将统计得到的结果写入数据库中。
CN202010915370.3A 2020-09-03 2020-09-03 一种网络流量分析与文件提取系统及方法 Pending CN112039904A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010915370.3A CN112039904A (zh) 2020-09-03 2020-09-03 一种网络流量分析与文件提取系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010915370.3A CN112039904A (zh) 2020-09-03 2020-09-03 一种网络流量分析与文件提取系统及方法

Publications (1)

Publication Number Publication Date
CN112039904A true CN112039904A (zh) 2020-12-04

Family

ID=73591829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010915370.3A Pending CN112039904A (zh) 2020-09-03 2020-09-03 一种网络流量分析与文件提取系统及方法

Country Status (1)

Country Link
CN (1) CN112039904A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014590A (zh) * 2021-03-08 2021-06-22 中电积至(海南)信息技术有限公司 一种加密流媒体网络流量的解密方法和装置
CN113037775A (zh) * 2021-03-31 2021-06-25 上海天旦网络科技发展有限公司 网络应用层全流量向量化记录生成方法和系统
CN113268696A (zh) * 2021-06-16 2021-08-17 广州数智网络科技有限公司 一种四方支付网站识别及用户分析方法
CN113542249A (zh) * 2021-07-08 2021-10-22 昆明学院 一种多协议数据发布系统
CN113660182A (zh) * 2021-08-13 2021-11-16 上海电信科技发展有限公司 流量镜像的数据处理方法及其系统
CN113747470A (zh) * 2021-08-09 2021-12-03 咪咕音乐有限公司 接口流量的分析方法、路由设备及存储介质
CN113992624A (zh) * 2021-12-08 2022-01-28 赛尔网络有限公司 基于地址识别的流量统计方法、装置、设备及介质
CN114499953A (zh) * 2021-12-23 2022-05-13 中国电子技术标准化研究院 一种基于流量分析的隐私信息智慧安防方法及设备
CN114500309A (zh) * 2022-04-13 2022-05-13 南京华飞数据技术有限公司 一种网络应用流量自动化配置识别系统
CN115334178A (zh) * 2022-07-08 2022-11-11 北京天融信网络安全技术有限公司 基于应用层数据分析方法及装置、电子设备、存储介质
CN115529145A (zh) * 2021-06-25 2022-12-27 中国移动通信集团广东有限公司 网络安全入侵检测与防护系统及方法
CN116112399A (zh) * 2022-12-23 2023-05-12 中核武汉核电运行技术股份有限公司 一种工控网络流量解析系统
CN116599780A (zh) * 2023-07-19 2023-08-15 国家计算机网络与信息安全管理中心江西分中心 一种IPv6网络数据流监测技术的分析与测试方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080291912A1 (en) * 2007-05-21 2008-11-27 Electronics And Telecommunications Research Institute System and method for detecting file
CN101783817A (zh) * 2010-03-26 2010-07-21 西南科技大学 一种网页文本还原系统及方法
CN101795230A (zh) * 2010-02-23 2010-08-04 西安交通大学 一种网络流量还原方法
CN102045305A (zh) * 2009-10-20 2011-05-04 中兴通讯股份有限公司 一种多媒体资源传播的监测追踪方法和系统
CN103248606A (zh) * 2012-02-02 2013-08-14 哈尔滨安天科技股份有限公司 一种面向IPv4和IPv6的网络病毒检测方法及系统
CN103281213A (zh) * 2013-04-18 2013-09-04 西安交通大学 一种网络流量内容提取和分析检索方法
CN107592303A (zh) * 2017-08-28 2018-01-16 北京明朝万达科技股份有限公司 一种高速镜像网络流量中外发文件的提取方法及装置
CN109995740A (zh) * 2018-01-02 2019-07-09 国家电网公司 基于深度协议分析的威胁检测方法
CN110912887A (zh) * 2019-11-22 2020-03-24 上海交通大学 一种基于Bro的APT监测系统和方法
CN111030999A (zh) * 2019-11-15 2020-04-17 广州辰河质检技术有限公司 一种基于网络数据包提取文件的方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080291912A1 (en) * 2007-05-21 2008-11-27 Electronics And Telecommunications Research Institute System and method for detecting file
CN102045305A (zh) * 2009-10-20 2011-05-04 中兴通讯股份有限公司 一种多媒体资源传播的监测追踪方法和系统
CN101795230A (zh) * 2010-02-23 2010-08-04 西安交通大学 一种网络流量还原方法
CN101783817A (zh) * 2010-03-26 2010-07-21 西南科技大学 一种网页文本还原系统及方法
CN103248606A (zh) * 2012-02-02 2013-08-14 哈尔滨安天科技股份有限公司 一种面向IPv4和IPv6的网络病毒检测方法及系统
CN103281213A (zh) * 2013-04-18 2013-09-04 西安交通大学 一种网络流量内容提取和分析检索方法
CN107592303A (zh) * 2017-08-28 2018-01-16 北京明朝万达科技股份有限公司 一种高速镜像网络流量中外发文件的提取方法及装置
CN109995740A (zh) * 2018-01-02 2019-07-09 国家电网公司 基于深度协议分析的威胁检测方法
CN111030999A (zh) * 2019-11-15 2020-04-17 广州辰河质检技术有限公司 一种基于网络数据包提取文件的方法
CN110912887A (zh) * 2019-11-22 2020-03-24 上海交通大学 一种基于Bro的APT监测系统和方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014590A (zh) * 2021-03-08 2021-06-22 中电积至(海南)信息技术有限公司 一种加密流媒体网络流量的解密方法和装置
CN113037775B (zh) * 2021-03-31 2022-07-29 上海天旦网络科技发展有限公司 网络应用层全流量向量化记录生成方法和系统
CN113037775A (zh) * 2021-03-31 2021-06-25 上海天旦网络科技发展有限公司 网络应用层全流量向量化记录生成方法和系统
CN113268696A (zh) * 2021-06-16 2021-08-17 广州数智网络科技有限公司 一种四方支付网站识别及用户分析方法
CN115529145A (zh) * 2021-06-25 2022-12-27 中国移动通信集团广东有限公司 网络安全入侵检测与防护系统及方法
CN113542249A (zh) * 2021-07-08 2021-10-22 昆明学院 一种多协议数据发布系统
CN113747470A (zh) * 2021-08-09 2021-12-03 咪咕音乐有限公司 接口流量的分析方法、路由设备及存储介质
CN113660182A (zh) * 2021-08-13 2021-11-16 上海电信科技发展有限公司 流量镜像的数据处理方法及其系统
CN113992624A (zh) * 2021-12-08 2022-01-28 赛尔网络有限公司 基于地址识别的流量统计方法、装置、设备及介质
CN114499953A (zh) * 2021-12-23 2022-05-13 中国电子技术标准化研究院 一种基于流量分析的隐私信息智慧安防方法及设备
CN114500309A (zh) * 2022-04-13 2022-05-13 南京华飞数据技术有限公司 一种网络应用流量自动化配置识别系统
CN115334178A (zh) * 2022-07-08 2022-11-11 北京天融信网络安全技术有限公司 基于应用层数据分析方法及装置、电子设备、存储介质
CN116112399A (zh) * 2022-12-23 2023-05-12 中核武汉核电运行技术股份有限公司 一种工控网络流量解析系统
CN116599780A (zh) * 2023-07-19 2023-08-15 国家计算机网络与信息安全管理中心江西分中心 一种IPv6网络数据流监测技术的分析与测试方法
CN116599780B (zh) * 2023-07-19 2023-10-27 国家计算机网络与信息安全管理中心江西分中心 一种IPv6网络数据流监测技术的分析与测试方法

Similar Documents

Publication Publication Date Title
CN112039904A (zh) 一种网络流量分析与文件提取系统及方法
US9961095B2 (en) System and method for extracting and preserving metadata for analyzing network communications
US20190230095A1 (en) Detection of malware and malicious applications
JP4759389B2 (ja) パケット通信装置
US7486673B2 (en) Method and system for reassembling packets prior to searching
US8180916B1 (en) System and method for identifying network applications based on packet content signatures
US9210090B1 (en) Efficient storage and flexible retrieval of full packets captured from network traffic
US9473380B1 (en) Automatic parsing of binary-based application protocols using network traffic
KR100895102B1 (ko) 파일 탐색 시스템 및 방법
US9917783B2 (en) Method, system and non-transitory computer readable medium for profiling network traffic of a network
KR100548154B1 (ko) 유무선 통신망에서의 패킷 전송 제어 및 패킷 과금 데이터생성을 위한 방법 및 장치
US20210168163A1 (en) Bind Shell Attack Detection
CN110166480B (zh) 一种数据包的分析方法及装置
CN102724317A (zh) 一种网络数据流量分类方法和装置
CN115017502A (zh) 一种流量处理方法、及防护系统
Yang et al. Modelling Network Traffic and Exploiting Encrypted Packets to Detect Stepping-stone Intrusions.
JP4538370B2 (ja) 異常通信探知装置
KR100710047B1 (ko) Ip 네트워크 환경에서의 트래픽 분석장치
JP4416630B2 (ja) 監視装置、通信システム、監視方法、および監視プログラム
Turup et al. network forensics system for ICMP attacks using real time approach
JP2006135885A (ja) 攻撃経路解析装置及び攻撃経路解析方法及びプログラム
Guo et al. Application layer information forensics based on packet analysis
CN113608741A (zh) 一种网络安全服务整合方法及装置
CN114826646A (zh) 一种网络异常行为检测方法、装置及电子设备
JP2018191210A (ja) パケット中継装置及びパケット中継システム

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

Application publication date: 20201204

RJ01 Rejection of invention patent application after publication