CN113596050B - 异常流量的分离过滤方法、系统、存储介质及电子设备 - Google Patents
异常流量的分离过滤方法、系统、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113596050B CN113596050B CN202110892512.3A CN202110892512A CN113596050B CN 113596050 B CN113596050 B CN 113596050B CN 202110892512 A CN202110892512 A CN 202110892512A CN 113596050 B CN113596050 B CN 113596050B
- Authority
- CN
- China
- Prior art keywords
- session
- abnormal
- packet
- filtering
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明涉及数据处理领域,尤其涉及一种异常流量的分离过滤方法、系统、存储介质及电子设备。该方法包括:根据读取热配置文件中过滤后网络流量速度判定是否进行首次流量过滤;若判定结果为进行首次流量过滤,则,获取异常流量统计时间窗口,并统计所述异常流量统计时间窗口内的第一单包信息集;对所述第一单包信息集进行处理,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;根据所述异常会话集设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,根据所述第一实时网络流量速度完成热配置文件的更新。本发明能够达到尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性的效果。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种异常流量的分离过滤方法、系统、存储介质及电子设备。
背景技术
目前在工业控制的网络环境中,遇见流量突然异常增大的场景,通常的处理方式是通过人工分析定位到造成流量异常的具体网络会话,并将其加入黑名单,或者是通过程序分析出流量异常的会话并将其加入黑名单。然后利用防火墙将黑名单中的会话过滤掉,如果流量异常的会话发现的频率较高,需要频繁地更新黑名单并重启防火墙,费时费力且无法满足及时过滤异常流量会话的需求。
发明内容
本发明所要解决的技术问题是提供一种异常流量的分离过滤方法、系统、存储介质及电子设备。
本发明解决上述技术问题的技术方案如下:一种异常流量的分离过滤方法,包括:
步骤1,根据读取热配置文件中过滤后网络流量速度判定是否进行首次流量过滤;
步骤2,若判定结果为进行首次流量过滤,则,获取异常流量统计时间窗口,并统计所述异常流量统计时间窗口内的第一单包信息集;
步骤3,对所述第一单包信息集进行处理,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;
步骤4,根据所述异常会话集设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,根据所述第一实时网络流量速度完成热配置文件的更新。
本发明的有益效果是:通过上述方法可以自动监测设备流量大小以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,步骤1具体为:
读取热配置文件中的过滤后网络流量速度,判断所述过滤后网络流量速度是否为0,若不为0,则,进行第n次流量过滤,若为0,则,进行所述首次流量过滤,其中,n≥2。
进一步,步骤1之前还包括:
实时获取设备的网络流量速度以及待处理网络包个数,并判断是否需要进行过滤,判定方法包括:判断实时网络流量速度是否超过处理流量阈值以及待处理网络包个数是否超过处理网络包个数阈值,若二者均超过所述阈值,则判定为需要进行过滤;
或根据是否收到网络包预处理进程发送的过滤通知判定是否进行过滤,若收到通知,则判定为需要进行过滤。
进一步,步骤3具体为:
将所述第一单包信息集的信息进行统计,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;其中,所述第一会话字典包括m个会话,每个会话由一个键值对key-value组成,其中,key为四元组,所述四元组包括:源IP地址、目的IP地址、源端口以及目的端口,value为在所述第一单包信息集中所有四元组的字节数和所有四元组的包数进行合并之后的值。
进一步,步骤4具体为:
根据所述异常会话集中每个异常会话的四元组信息设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,将所述第一实时网络流量速度更新至所述热配置文件中的过滤后网络流量速度,并将所述热配置文件中的过滤次数更新为1。
进一步,所述第n次过滤处理具体过程为:
统计所述异常流量统计时间窗口内的第n单包信息集,对所述第n单包信息集中每个会话的原value进行累加处理,将累加处理结果替换原value,得到新的第n单包信息集,根据所述新的第n单包信息集生成第n会话字典,以第n会话字典中每个会话的value为条件对第n会话字典进行降序排列,提取排序后的第n会话字典中第一个会话的四元组信息,根据所述第一个会话的四元组信息生成本次初始抓包过滤条件,将所述第n-1抓包过滤条件与所述本次初始抓包过滤条件合并生成第n抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第n实时网络流量速度,将所述第n实时网络流量速度更新至所述热配置中的过滤后网络流量速度,并将所述热配置文件中的过滤次数加1。
本发明解决上述技术问题的另一种技术方案如下:一种异常流量的分离过滤系统,包括:
获取模块,用于根据读取热配置文件中过滤后网络流量速度判定是否进行首次流量过滤;
判定模块,用于若判定结果为进行首次流量过滤,则,获取异常流量统计时间窗口,并统计所述异常流量统计时间窗口内的第一单包信息集;
处理模块,用于对所述第一单包信息集进行处理,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;
更新模块,用于根据所述异常会话集设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,根据所述第一实时网络流量速度完成热配置文件的更新。
本发明的有益效果是:通过上述方法可以自动监测设备流量大小以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
进一步,获取模块具体用于:
读取热配置文件中的过滤后网络流量速度,判断所述过滤后网络流量速度是否为0,若不为0,则,进行第n次流量过滤,若为0,则,进行所述首次流量过滤,其中,n≥2。
进一步,还包括:
判断模块用于实时获取设备的网络流量速度以及待处理网络包个数,并判断是否需要进行过滤,判定方法包括:判断实时网络流量速度是否超过处理流量阈值以及待处理网络包个数是否超过处理网络包个数阈值,若二者均超过所述阈值,则判定为需要进行过滤;
或根据是否收到网络包预处理进程发送的过滤通知判定是否进行过滤,若收到通知,则判定为需要进行过滤。
进一步,处理模块具体用于:
将所述第一单包信息集的信息进行统计,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;其中,所述第一会话字典包括m个会话,每个会话由一个键值对key-value组成,其中,key为四元组,所述四元组包括:源IP地址、目的IP地址、源端口以及目的端口,value为在所述第一单包信息集中所有四元组的字节数和所有四元组的包数进行合并之后的值。
进一步,更新模块具体用于:
根据所述异常会话集中每个异常会话的四元组信息设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,将所述第一实时网络流量速度更新至所述热配置文件中的过滤后网络流量速度,并将所述热配置文件中的过滤次数更新为1。
进一步,所述第n次过滤处理具体过程为:
统计所述异常流量统计时间窗口内的第n单包信息集,对所述第n单包信息集中每个会话的原value进行累加处理,将累加处理结果替换原value,得到新的第n单包信息集,根据所述新的第n单包信息集生成第n会话字典,以第n会话字典中每个会话的value为条件对第n会话字典进行降序排列,提取排序后的第n会话字典中第一个会话的四元组信息,根据所述第一个会话的四元组信息生成本次初始抓包过滤条件,将所述第n-1抓包过滤条件与所述本次初始抓包过滤条件合并生成第n抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第n实时网络流量速度,将所述第n实时网络流量速度更新至所述热配置中的过滤后网络流量速度,并将所述热配置文件中的过滤次数加1。
本发明解决上述技术问题的另一种技术方案如下:一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述任一项所述的一种异常流量的分离过滤方法。
本发明的有益效果是:通过上述方法可以自动监测设备网络流量速度以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
本发明解决上述技术问题的另一种技术方案如下:一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,所述处理器执行所述程序时实现如上述任一项所述的一种异常流量的分离过滤方法。
本发明的有益效果是:通过上述方法可以自动监测设备网络流量速度以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
附图说明
图1为本发明一种异常流量的分离过滤方法实施例提供的流程示意图;
图2为本发明一种异常流量的分离过滤系统实施例提供的系统框架图。
具体实施方式
以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种异常流量的分离过滤方法,包括:
步骤1,根据读取热配置文件中过滤后网络流量速度判定是否进行首次流量过滤;
步骤2,若判定结果为进行首次流量过滤,则,获取异常流量统计时间窗口,并统计所述异常流量统计时间窗口内的第一单包信息集;
步骤3,对所述第一单包信息集进行处理,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;
步骤4,根据所述异常会话集设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,根据所述第一实时网络流量速度完成热配置文件的更新。
在一些可能的实施方式中,通过上述方法可以自动监测设备网络流量速度以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
需要说明的是,本发明实施例并不限定判断是否进行过滤的方式,例如,可通过检查待处理网络包个数以及实时网络流量速度的方式进行判定,也可由网络包预处理程序发送进行过滤的消息通知,可根据实际应用需求进行设置;本发明实施例也不限定判定进行第几次过滤的方式,例如,可通过读取热配置文件中过滤后网络流量速度进行判定,也可通过读取数据库的方式进行判定,可根据实际应用需求进行选择。本实施例中采用获取待处理网络包个数以及实时网络流量速度的方式判定是否进行流量过滤。
在工作环境中部署的设备dev1,其上有一个常驻进程process1,用于监测设备dev1的实时网络流量速度(packet_pps)以及待处理的网络包个数(packet_count),根据所述设备的实时网络流量速度以及待处理的网络包个数决定是否进行流量过滤。进程启动后,首先获取待处理的网络包文件存储目录中待处理的网络包个数(packet_count)以及实时网络流量速度,并判断待处理网络包个数是否超过处理网络包个数阈值(packet_threshold)以及实时网络流量速度是否超过处理流量阈值。如果待处理网络包个数超过处理网络包个数阈值以及实时网络流量速度超过处理流量阈值,则,判定为需要进行流量过滤。随即,读取热配置文件中的过滤后网络流量速度,根据过滤后网络流量速度判定进行第几次过滤。若读取的过滤后网络流量速度为0,表示之前未进行过流量过滤,本次即是首次流量过滤;若不为0,表示之前已经进行过过滤,本次是第n次流量过滤,其中,n≥2。
需要说明的是,待处理网络包为存储在待处理网络包存储目录中的网络包文件,由抓包程序抓取并存储于预设待处理网络包存储目录,并且在预设网络包预处理程序处理完成后转移至其他目录,其中,预设网络包预处理程序为对待处理网络包进行预处理,并将处理完成的网络包文件移动至其他目录的程序,并且在处理网络包压力过大时,向流量过滤进程发送进行流量过滤通知的程序。本发明实施例并不限定具体的预设待处理网络包存储目录,可以理解的是,预设待处理网络包存储目录可以为存储介质(如硬盘)中的一个文件目录,可根据实际应用需求进行设置;本发明实施例也不限定实施抓包的具体方式,例如可通过tshark抓包程序进行抓包,也可通过镜像网口进行抓包,可根据实际应用需求进行选择;本发明实施例还不限定所述各项阈值的具体值,可根据实际应用需求进行设置。
首次流量过滤的具体操作流程可参考实施例1进行辅助理解。
实施例1,进行首次流量过滤时,首先读取热配置中的异常流量统计时间窗口(time_interval),然后通过redis订阅原始网络包解析程序解析后的单包信息集(packet_list),以其中每个单包信息的四元组(源IP地址,目的IP地址,源端口,目的端口)组成key,接收或发送的字节数和包数组成value,key和value组成一个会话(session)放入会话字典中(session_dict)。在统计时间窗口内,根据单包信息的四元组信息(key),确定是哪一个会话,若会话字典已经记录过该会话,则从会话字典中取出上一次该会话接收或发送字节数和包数,即上一次记录的value。然后将上一次的字节数加上本次的字节数,上一次的包数+1作为最新的value,然后用最新的value替换掉上一次记录的value。当统计时间窗口结束后,对所述会话字典进行K-Means聚类计算,以每一个会话(session)的字节数和包数(value)为基准,将记录的所有会话分为两批,一批为流量正常的会话,一批为流量异常的会话(abnormal_session_list),将流量异常的一批会话作为异常会话集。然后根据异常会话集中每个会话(abnormal_session)的四元组信息设置tshark抓包程序的过滤条件,例如“not(ip host 192.168.0.1and ip host 192.168.0.2and port 8000)”即代表不抓取“192.168.0.1”和“192.168.0.2”两个IP间通过8000端口通信的网络包,设置完成过滤条件后,设置过滤条件计数(filter_condition_num)为异常会话集的元素个数,然后将过滤条件作为tshark抓包程序的启动参数重启tshark抓包程序,即可进行抓包过滤。重启抓包程序后计算过滤后的实时网络流量速度(filter_pps),将其值写入热配置中的过滤后网络流量速度(packet_pps),并将热配置中的过滤次数(filter_count)置为1。
优选地,在上述任意实施例中,步骤1具体为:
读取热配置文件中的过滤后网络流量速度,判断所述过滤后网络流量速度是否为0,若不为0,则,进行第n次流量过滤,若为0,则,进行所述首次流量过滤,其中,n≥2。
需要说明的是,第n次流量过滤的具体处理流程可参考实施例2进行辅助理解。
优选地,在上述任意实施例中,步骤1之前还包括:
实时获取设备的网络流量速度以及待处理网络包个数,判断实时网络流量速度是否超过处理流量阈值以及待处理网络包个数是否超过处理网络包个数阈值,若二者均超过所述阈值,则判定为需要进行过滤;或根据是否收到网络包预处理进程发送的过滤通知判定是否进行过滤,若收到通知,则判定为需要进行过滤。
优选地,在上述任意实施例中,步骤3具体为:
将所述第一单包信息集的信息进行统计,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;其中,所述第一会话字典包括m个会话,每个会话由一个键值对key-value组成,其中,key为四元组,所述四元组包括:源IP地址、目的IP地址、源端口以及目的端口,value为在所述第一单包信息集中所有四元组的字节数和所有四元组的包数进行合并之后的值。
需要说明的是,本发明并不限定对第一会话字典进行聚类计算采用的聚类算法,例如可采用K-Means聚类算法,也可采用均值漂移聚类算法,可根据实际应用需求进行选择。
优选地,在上述任意实施例中,步骤4具体为:
根据所述异常会话集中每个异常会话的四元组信息设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,将所述第一实时网络流量速度更新至所述热配置文件中的过滤后网络流量速度,并将所述热配置文件中的过滤次数更新为1。
需要说明的是,根据四元组信息设置第一抓包过滤条件可以参考下例:“not(iphost 192.168.0.1 and ip host 192.168.0.2 and port 8000)”即代表不抓取“192.168.0.1”和“192.168.0.2”两个IP间通过8000端口通信的网络包,设置完成过滤条件后,设置过滤条件计数(filter_condition_num)为异常会话集的元素个数,然后将过滤条件作为tshark抓包程序的启动参数重启tshark抓包进程,即可进行抓包过滤。
优选地,在上述任意实施例中,所述第n次流量过滤具体过程为:
统计所述异常流量统计时间窗口内的第n单包信息集,对所述第n单包信息集中每个会话的原value进行累加处理,将累加处理结果替换原value,得到新的第n单包信息集,根据所述新的第n单包信息集生成第n会话字典,以第n会话字典中每个会话的value为条件对第n会话字典进行降序排列,提取排序后的第n会话字典中第一个会话的四元组信息,根据所述第一个会话的四元组信息生成本次初始抓包过滤条件,将所述第n-1抓包过滤条件与所述本次初始抓包过滤条件合并生成第n抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第n实时网络流量速度,将所述第n实时网络流量速度更新至所述热配置中的过滤后网络流量速度,并将所述热配置文件中的过滤次数加1。
需要说明的是,第n次流量过滤的具体处理流程可参考实施例2进行辅助理解。
实施例2,第一次过滤完成并且热配置更新后,再次读取热配置中的过滤后网络流量速度(packet_pps),此时packet_pps不为0,表示之前已经进行过过滤,然后计算设备dev1实时网络流量速度,并且与热配置中的处理流量阈值(pps_threshold)对比,如果实时网络流量速度大于处理流量阈值,延时1秒,如果不大于阈值,说明之前设置的过滤条件已经起效,延时60秒。随后检查当前待处理的网络包个数(packet_count)是否超过处理网络包个数阈值(packet_threshold),如果超过该阈值,说明当前设备负荷仍然较高,再次计算实时网络流量速度并与处理流量阈值(pps_threshold)对比,如果实时网络流量速度仍大于处理流量阈值,说明当前设备dev1的网络流量确实比较高,需要进一步过滤。如果实时网络流量速度不大于处理流量阈值,则保持当前过滤条件不变,继续监测设备实时网络流量速度以及网络包处理情况。
当需要进一步过滤时,仍然是先读取热配置的异常流量统计事件窗口(time_interval),然后通过Redis订阅单包信息集(packet_list),与实施例1中一样,以每个单包的四元组作为key,接收或发送的字节数和包数作为value,以key和value组成一个会话(session)并放入会话字典中(session_dict)中,在统计时间窗口内对会话字典中每个会话的value进行累加。统计时间窗口结束后不再对会话字典进行K-Means聚类计算,而是根据会话字典中每个会话的value对会话字典进行降序排序,取排序后第一个会话作为本次计算出的异常会话(abnormal_session),并取该会话的key(四元组信息),在上一次设置的过滤条件的基础上加上本次异常会话的四元组过滤条件,过滤条件计数(filter_condition_num)加1,然后重启tshark抓包程序。随后计算过滤后的实时流量(filter_pps)并写入热配置中的过滤后网络流量速度(packet_pps),并将热配置中的过滤次数(filter_count)增加一次。
需要说明的是,因tshark的过滤条件有数量限制,不能无限增加过滤条件,多次过滤时,需检查过滤条件计数(filter_condition_num)是否大于tshark过滤条件个数阈值(缺省设置为20,可根据设备性能调节)。若大于,说明已经设置的过滤条件对应的会话(session)可能存在部分失效的(失效可能是不再出现该会话的网络包,也可能是该会话的网络包流量有明显降低),可以清理掉设置的过滤条件。此时将tshark过滤条件重置为初始状态,即不存在任何过滤条件,并且将过滤条件计数置为0,将热配置中过滤后网络流量速度(packet_pps)、过滤次数(filter_count)置为0,然后重启tshark抓包进程并进入新的过滤流程,具体处理流程可参考实施例3进行辅助理解。
实施例3,此实例中,待处理网络包个数阈值设定为3(个),tshark过滤条件个数阈值设定为10(个),设备处理流量阈值设定为2000(pps)。
在程序启动后,监测到设备网络流量速度为3500pps,随即检查待处理网络包个数,发现待处理网络包为2(个),认为不满足过滤条件,延时10秒继续本步骤。
某一次监测到设备网络流量速度为4072pps,随即检查待处理网络包个数,发现待处理网络包为5(个),满足过滤条件。然后从redis订阅60秒内处理过的网络包信息队列,随后判断本次是第一次进行过滤,将订阅的网络包信息队列进行K-Means聚类计算,计算结果为该段时间的网络包数据中,有六个会话(以网络包四元组信息认作一个会话)属于异常大流量会话,将过滤条件计数设为6。根据这六个异常会话的四元组信息增加tshark过滤条件并重启tshark抓包进程,延时60秒后再次重复对设备网络流量速度的监测。
随后,监测到设备网络流量速度为3122pps,继续检查待处理网络包个数,发现待处理网络包个数为4(个),即首次流量过滤后流量仍然较大,于是进行第二次过滤。订阅60秒内处理过的网络包信息队列,并以该队列中每个会话总的字节数与包数为依据进行降序排序,取出流量最大(字节数和包数综合计算最大)的一个会话,将过滤条件计数+1。检查过滤条件计数,发现过滤条件计数未超过过滤条件个数阈值,判定为可以继续增加tshark过滤条件。然后根据该会话的四元组信息,增加tshark过滤条件,随后重启tshark,延时60秒后继续重复对设备网络流量速度的监测。
期间经过4次过滤,此时,若监测到设备网络流量速度为2254pps,并且待处理网络包个数为4(个),说明经过4次过滤后流量仍然较大,依旧订阅60秒内处理过的网络包信息队列并排序取出流量最大的会话,将过滤条件计数+1。检查过滤条件计数,发现当前过滤条件计数为11,高于过滤条件个数阈值(10),说明已经设置的过滤条件对应的会话可能存在部分失效的,可以清除现有的过滤条件。此时将tshark过滤条件重置为初始状态,并且将过滤条件计数置为0,随后重启tshark抓包进程,延时1秒继续重复对设备网络流量速度的监测。
实施例4,在实例3最后重启tshark抓包进行新一轮过滤后,经过一段时间,thread2线程监测到设备流量为1852pps,检查待处理的网络包个数为1(个),检查热配置中网络流量速度不为0,说明对异常大流量会话的过滤已经有了很明显的效果,当前设备网络流量已经低于处理流量阈值,且待处理网络包低于处理网络包个数阈值,判定为可以取消对异常会话的过滤。遂重置tshark过滤条件为初始状态,将过滤条件计数置为0,并将热配置中的过滤次数以及过滤后网络流量速度置为0,然后重启tshark抓包进程并休眠30分钟后继续检查是否需要取消过滤条件。在运行以上流程的线程(thread1)之外另有一线程(thread2),其作用是每30分钟检查设备流量以及待处理网络包个数,并结合热配置中过滤次数判断是否需要取消过滤。具体描述如下:
如果实时流量小于热配置中处理流量阈值(pps_threshold),且待处理的网络包个数(packet_count)小于热配置中的网络包处理个数阈值(packet_threshold),并且过滤次数大于0,说明进行过滤后设备负荷有明显下降,设备流量较小,可以清除tshark过滤条件以便抓取更多的网络包。此时重置tshark过滤条件为初始状态并将过滤条件计数(filter_condition_num)置为0,将热配置中的过滤后网络流量速度(packet_pps)、过滤次数(filter_count)两项置为0,然后重启tshark抓包进程。若过滤次数为0,则无需做任何操作,休眠30分钟后再次检查是否需要取消过滤。
如图2所示,一种异常流量的分离过滤系统,包括:
获取模块100,用于根据读取热配置文件中过滤后网络流量速度判定是否进行首次流量过滤;
判定模块200,用于若判定结果为进行首次流量过滤,则,获取异常流量统计时间窗口,并统计所述异常流量统计时间窗口内的第一单包信息集;
处理模块300,用于对所述第一单包信息集进行处理,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;
更新模块400,用于根据所述异常会话集设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,根据所述第一实时网络流量速度完成热配置文件的更新。
在一些可能的实施方式中,通过上述方法可以自动监测设备网络流量速度以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
优选地,在上述任意实施例中,获取模块100具体用于:
读取热配置文件中的过滤后网络流量速度,判断所述过滤后网络流量速度是否为0,若不为0,则,进行第n次流量过滤,若为0,则,进行所述首次流量过滤,其中,n≥2。
优选地,在上述任意实施例中,还包括:
判断模块用于实时获取设备的网络流量速度以及待处理网络包个数,并判断是否需要进行过滤,判定方法包括:判断实时网络流量速度是否超过处理流量阈值以及待处理网络包个数是否超过处理网络包个数阈值,若二者均超过所述阈值,则判定为需要进行过滤;
或根据是否收到网络包预处理进程发送的过滤通知判定是否进行过滤,若收到通知,则判定为需要进行过滤。
优选地,在上述任意实施例中,处理模块300具体用于:
将所述第一单包信息集的信息进行统计,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;其中,所述第一会话字典包括m个会话,每个会话由一个键值对key-value组成,其中,key为四元组,所述四元组包括:源IP地址、目的IP地址、源端口以及目的端口,value为在所述第一单包信息集中所有四元组的字节数和所有四元组的包数进行合并之后的值。
优选地,在上述任意实施例中,更新模块400具体用于:
根据所述异常会话集中每个异常会话的四元组信息设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,将所述第一实时网络流量速度更新至所述热配置文件中的过滤后网络流量速度,并将所述热配置文件中的过滤次数更新为1。
优选地,在上述任意实施例中,所述第n次流量过滤具体过程为:
统计所述异常流量统计时间窗口内的第n单包信息集,对所述第n单包信息集中每个会话的原value进行累加处理,将累加处理结果替换原value,得到新的第n单包信息集,根据所述新的第n单包信息集生成第n会话字典,以第n会话字典中每个会话的value为条件对第n会话字典进行降序排列,提取排序后的第n会话字典中第一个会话的四元组信息,根据所述第一个会话的四元组信息生成本次初始抓包过滤条件,将所述第n-1抓包过滤条件与所述本次初始抓包过滤条件合并生成第n抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第n实时网络流量速度,将所述第n实时网络流量速度更新至所述热配置中的过滤后网络流量速度,并将所述热配置文件中的过滤次数加1。
本发明解决上述技术问题的另一种技术方案如下:一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述任一项所述的一种异常流量的分离过滤方法。
在一些可能的实施方式中,通过上述方法可以自动监测设备网络流量速度以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
本发明解决上述技术问题的另一种技术方案如下:一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,所述处理器执行所述程序时实现如上述任一项所述的一种异常流量的分离过滤方法。
在一些可能的实施方式中,通过上述方法可以自动监测设备网络流量速度以及网络包处理能力,在设备流量过大且网络包处理不过来时自动进行过滤,在设备流量正常且网络包处理正常时自动恢复正常,从而保证尽可能抓取更多的网络数据包而不丢包,提高系统运行的稳定性。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种异常流量的分离过滤方法,其特征在于,包括:
步骤1,根据读取热配置文件中过滤后网络流量速度判定是否进行首次流量过滤;
步骤2,若判定结果为进行首次流量过滤,则,获取异常流量统计时间窗口,并统计所述异常流量统计时间窗口内的第一单包信息集;
步骤3,对所述第一单包信息集进行处理,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;
步骤4,根据所述异常会话集设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,根据所述第一实时网络流量速度完成热配置文件的更新;
步骤3具体为:
将所述第一单包信息集的信息进行统计,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;其中,所述第一会话字典包括m个会话,每个会话由一个键值对key-value组成,其中,key为四元组,所述四元组包括:源IP地址、目的IP地址、源端口以及目的端口,value为在所述第一单包信息集中所有四元组的字节数和所有四元组的包数进行合并之后的值,所述得到异常会话集的过程为:以每一个会话(session)的字节数和包数(value)为基准,将流量异常的一批会话作为异常会话集;
步骤4具体为:
根据所述异常会话集中每个异常会话的四元组信息设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,将所述第一实时网络流量速度更新至所述热配置文件中的过滤后网络流量速度,并将所述热配置文件中的过滤次数更新为1。
2.根据权利要求1所述的一种异常流量的分离过滤方法,其特征在于,步骤1具体为:
读取热配置文件中的过滤后网络流量速度,判断所述过滤后网络流量速度是否为0,若不为0,则,进行第n次流量过滤,若为0,则,进行所述首次流量过滤,其中,n≥2。
3.根据权利要求1所述的一种异常流量的分离过滤方法,其特征在于,步骤1之前还包括:
实时获取设备的网络流量速度以及待处理网络包个数,并判断是否需要进行过滤,判定方法包括:判断实时网络流量速度是否超过处理流量阈值以及待处理网络包个数是否超过处理网络包个数阈值,若二者均超过所述阈值,则判定为需要进行过滤;
或根据是否收到网络包预处理进程发送的过滤通知判定是否进行过滤,若收到通知,则判定为需要进行过滤。
4.根据权利要求2所述的一种异常流量的分离过滤方法,其特征在于,所述第n次流量过滤具体过程为:
统计所述异常流量统计时间窗口内的第n单包信息集,对所述第n单包信息集中每个会话的原value进行累加处理,将累加处理结果替换原value,得到新的第n单包信息集,根据所述新的第n单包信息集生成第n会话字典,以第n会话字典中每个会话的value为条件对第n会话字典进行降序排列,提取排序后的第n会话字典中第一个会话的四元组信息,根据所述第一个会话的四元组信息生成本次初始抓包过滤条件,将第n-1抓包过滤条件与所述本次初始抓包过滤条件合并生成第n抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第n实时网络流量速度,将所述第n实时网络流量速度更新至所述热配置中的过滤后网络流量速度,并将所述热配置文件中的过滤次数加1。
5.一种异常流量的分离过滤系统,其特征在于,包括:
获取模块,用于根据读取热配置文件中过滤后网络流量速度判定是否进行首次流量过滤;
判定模块,用于若判定结果为进行首次流量过滤,则,获取异常流量统计时间窗口,并统计所述异常流量统计时间窗口内的第一单包信息集;
处理模块,用于对所述第一单包信息集进行处理,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;
更新模块,用于根据所述异常会话集设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,根据所述第一实时网络流量速度完成热配置文件的更新;
处理模块具体包括:
将所述第一单包信息集的信息进行统计,得到第一会话字典,对所述第一会话字典进行聚类计算,得到异常会话集;其中,所述第一会话字典包括m个会话,每个会话由一个键值对key-value组成,其中,key为四元组,所述四元组包括:源IP地址、目的IP地址、源端口以及目的端口,value为在所述第一单包信息集中所有四元组的字节数和所有四元组的包数进行合并之后的值,所述得到异常会话集的过程为:以每一个会话(session)的字节数和包数(value)为基准,将流量异常的一批会话作为异常会话集;
更新模块具体包括:
根据所述异常会话集中每个异常会话的四元组信息设置第一抓包过滤条件,完成抓包过滤后,获取抓包过滤后的第一实时网络流量速度,将所述第一实时网络流量速度更新至所述热配置文件中的过滤后网络流量速度,并将所述热配置文件中的过滤次数更新为1。
6.根据权利要求5所述的一种异常流量的分离过滤系统,其特征在于,获取模块具体用于:
读取热配置文件中的过滤后网络流量速度,判断所述过滤后网络流量速度是否为0,若不为0,则,进行第n次流量过滤,若为0,则,进行所述首次流量过滤,其中,n≥2。
7.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1至4中任一项所述的一种异常流量的分离过滤方法。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的一种异常流量的分离过滤方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110892512.3A CN113596050B (zh) | 2021-08-04 | 2021-08-04 | 异常流量的分离过滤方法、系统、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110892512.3A CN113596050B (zh) | 2021-08-04 | 2021-08-04 | 异常流量的分离过滤方法、系统、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596050A CN113596050A (zh) | 2021-11-02 |
CN113596050B true CN113596050B (zh) | 2023-06-30 |
Family
ID=78255048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110892512.3A Active CN113596050B (zh) | 2021-08-04 | 2021-08-04 | 异常流量的分离过滤方法、系统、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596050B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116208431B (zh) * | 2023-04-28 | 2023-08-11 | 国家工业信息安全发展研究中心 | 一种工控网络流量异常检测方法、系统、装置和可读介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130800A (zh) * | 2011-04-01 | 2011-07-20 | 苏州赛特斯网络科技有限公司 | 基于数据流行为分析的网络访问异常检测装置及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1145318C (zh) * | 2001-06-26 | 2004-04-07 | 华为技术有限公司 | 一种因特网服务提供者安全防护的实现方法 |
US7454499B2 (en) * | 2002-11-07 | 2008-11-18 | Tippingpoint Technologies, Inc. | Active network defense system and method |
CN101056273B (zh) * | 2007-06-13 | 2010-06-09 | 中兴通讯股份有限公司 | 基于会话的网络限速方法及装置 |
CN101572701B (zh) * | 2009-02-10 | 2013-11-20 | 中科信息安全共性技术国家工程研究中心有限公司 | 针对DNS服务器的抗DDoS安全网关系统 |
CN101505218B (zh) * | 2009-03-18 | 2012-04-18 | 杭州华三通信技术有限公司 | 攻击报文的检测方法和装置 |
CN103873381B (zh) * | 2014-03-25 | 2017-12-19 | 安一恒通(北京)科技有限公司 | 网络流量限速方法和装置 |
CN106254259B (zh) * | 2015-06-09 | 2019-11-29 | 中兴通讯股份有限公司 | 一种流量控制的方法及装置 |
CN109962860A (zh) * | 2017-12-22 | 2019-07-02 | 南京欣网互联网络科技有限公司 | 一种应用于电信运营商电子渠道的软件系统访问限流方法 |
CN108282497B (zh) * | 2018-04-28 | 2020-01-03 | 电子科技大学 | 针对SDN控制平面的DDoS攻击检测方法 |
CN111901284B (zh) * | 2019-05-06 | 2023-07-21 | 阿里巴巴集团控股有限公司 | 流量控制方法及系统 |
CN110661717A (zh) * | 2019-10-25 | 2020-01-07 | 上海燕汐软件信息科技有限公司 | 一种限流方法、装置及电子设备 |
-
2021
- 2021-08-04 CN CN202110892512.3A patent/CN113596050B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130800A (zh) * | 2011-04-01 | 2011-07-20 | 苏州赛特斯网络科技有限公司 | 基于数据流行为分析的网络访问异常检测装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113596050A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8001601B2 (en) | Method and apparatus for large-scale automated distributed denial of service attack detection | |
EP1471685B1 (en) | Network manager SNMP trap suppression | |
US9130982B2 (en) | System and method for real-time reporting of anomalous internet protocol attacks | |
JP5201415B2 (ja) | ログ情報発行装置、ログ情報発行方法およびプログラム | |
CN112468488A (zh) | 工业异常监测方法、装置、计算机设备及可读存储介质 | |
CN113596050B (zh) | 异常流量的分离过滤方法、系统、存储介质及电子设备 | |
CN113518057B (zh) | 分布式拒绝服务攻击的检测方法、装置及其计算机设备 | |
CN104794399A (zh) | 一种基于海量程序行为数据的终端防护系统及方法 | |
CN104660552A (zh) | 一种wlan网络入侵检测系统 | |
CN108566363A (zh) | 基于流式计算的暴力破解确定方法和系统 | |
CN113676490A (zh) | 一种哑终端安全检测方法、装置、设备及可读存储介质 | |
AU2016393663B2 (en) | Method and system for compression and optimization of in-line and in-transit information security data | |
CN111741007B (zh) | 一种基于网络层报文解析的金融业务实时监控系统及方法 | |
CN110489969B (zh) | 基于soar处置主机挖矿病毒的系统和电子设备 | |
CN113010367A (zh) | 针对java进程垃圾回收的监控方法及监控系统 | |
JP4216223B2 (ja) | ネットワーク攻撃検知装置および方法ならびにプログラム | |
CN110995500A (zh) | 节点日志管控方法、系统及相关组件 | |
CN114006803B (zh) | 一种基于AS及prefix的netflow流量的突发告警方法 | |
US11949570B2 (en) | Methods, systems, and computer readable media for utilizing machine learning to automatically configure filters at a network packet broker | |
CN114866316B (zh) | 安全防护方法、装置、设备、存储介质 | |
CN114338189B (zh) | 基于节点拓扑关系链的态势感知防御方法、装置及系统 | |
CN111431895B (zh) | 系统异常处理方法、装置及系统 | |
CN112788044A (zh) | 一种分布式集群的旁路检测方法、装置及设备 | |
CN117762728A (zh) | 数据采集方法、装置及电子设备 | |
CN117714264A (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 |