一种音视频流的过滤方法、系统、设备及存储介质转让专利

申请号 : CN202311483174.3

文献号 : CN117240735B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐靖飚陈龙龙杨白廖浩文陈一骄屈晓阳

申请人 : 湖南戎腾网络科技有限公司

摘要 :

本申请公开了一种音视频流的过滤方法、系统、设备及存储介质,根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接,利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则能够确定该数据流为音视频流,提取该音视频流的第一数据请求报文中的目的IP和目的端口,根据提取到的目的IP和目的端口生成上下行ACL规则,并通过上下行ACL规则对音视频流的第二数据请求报文进行过滤,使得在从海量现网数据流中识别音视频流时,不需要逐包解析每一个报文的内容,从而能够有效地提高从海量现网数据流中过滤出音视频流的效率,以及能够有效地节约设备资源和财力资源。

权利要求 :

1.一种音视频流的过滤方法,其特征在于,包括:

根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接;

利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取所述第一数据请求报文中的目的IP和目的端口,并根据所述目的IP和所述目的端口,生成上下行ACL规则,其中,所述若扫描结果满足预设条件具体为:若所述第一数据请求报文为HTTP报文,且所述第一数据请求报文的URI中包含所述预设特征库中的音视频域名,或者若所述第一数据请求报文为TLS报文,且所述第一数据请求报文的server_name中包含所述预设特征库中的音视频域名,则判定扫描结果满足预设条件;

根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,其中,所述满足预设条件的数据流包括所述第一数据请求报文和所述第二数据请求报文。

2.根据权利要求1所述的音视频流的过滤方法,其特征在于,构建所述预设特征库包括:使用预设工具分析主流音视频应用的域名,得到正则表达式;

将所述正则表达式传入正则表达式引擎进行编译,得到预设特征库。

3.根据权利要求2所述的音视频流的过滤方法,其特征在于,所述根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,包括:根据所述预设特征库指定所述上下行ACL规则的动作表;

根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤。

4.根据权利要求1至3任一项所述的音视频流的过滤方法,其特征在于,在所述利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取所述第一数据请求报文中的目的IP和目的端口,并根据所述目的IP和所述目的端口,生成上下行ACL规则之后,还包括:为所述上下行ACL规则配置老化定时器,并启动所述老化定时器开始计时;

在所述老化定时器的计时时长到达预设老化时长时,删除所述上下行ACL规则。

5.一种音视频流的过滤系统,其特征在于,包括:

预过滤模块,用于根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接;

处理模块,用于利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取所述第一数据请求报文中的目的IP和目的端口,并根据所述目的IP和所述目的端口,生成上下行ACL规则,其中,所述若扫描结果满足预设条件具体为:若所述第一数据请求报文为HTTP报文,且所述第一数据请求报文的URI中包含所述预设特征库中的音视频域名,或者若所述第一数据请求报文为TLS报文,且所述第一数据请求报文的server_name中包含所述预设特征库中的音视频域名,则判定扫描结果满足预设条件;

过滤模块,用于根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,其中,所述满足预设条件的数据流包括所述第一数据请求报文和所述第二数据请求报文。

6.根据权利要求5所述的音视频流的过滤系统,其特征在于,还包括:

构建模块,用于使用预设工具分析主流音视频应用的域名,得到正则表达式,将所述正则表达式传入正则表达式引擎进行编译,得到预设特征库。

7.一种音视频流的过滤设备,其特征在于,包括:处理器、存储器和通信总线;

所述通信总线,用于实现所述处理器和所述存储器之间的连接通信;

所述处理器用于执行所述存储器中存储的音视频流的过滤处理程序,以实现如权利要求1‑4任一项所述音视频流的过滤方法的步骤。

8.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至4任一项所述音视频流的过滤方法的步骤。

说明书 :

一种音视频流的过滤方法、系统、设备及存储介质

技术领域

[0001] 本申请涉及音视频流过滤技术领域,特别是涉及一种音视频流的过滤方法、系统、设备及存储介质。

背景技术

[0002] 随着互联网技术的快速发展,目前各类短视频、直播等应用风靡全网络,使得核心网链路上传输的数据也从之前的文字图片较多和音视频极少的情况,发展到现在核心网链
路上传输的音视频较多的情况,在某些网络安全分析场景中,从海量现网数据流中识别出
音视频流,并将音视频流从现网中完整地过滤输出是十分重要的。
[0003] 现有技术中,从海量现网数据流中识别音视频流的方法,一般采用从现网接收并逐包解析每一个报文的内容,识别出该报文为音视频报文后再把该报文过滤,该方法虽然
能过滤音视频流,但因为需要逐包去解析每一个报文,使得从海量现网数据流中过滤出音
视频流的效率非常低,导致需要耗费大量的设备资源和大量的财力资源。

发明内容

[0004] 有鉴于此,本申请提供了一种音视频流的过滤方法、系统、设备及存储介质,本申请提供的音视频流的过滤方法、系统、设备及存储介质,在从海量现网数据流中识别音视频
流时,不需要逐包解析每一个报文的内容,从而能够有效地提高从海量现网数据流中过滤
出音视频流的效率,以及能够有效地节约设备资源和和财力资源。
[0005] 本申请提供一种音视频流的过滤方法,包括:
[0006] 根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接;
[0007] 利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取所述第一数据请求报文中的目的IP和目的端口,并根据所述目的IP和
所述目的端口,生成上下行ACL规则,其中,所述若扫描结果满足预设条件具体为:若所述第一数据请求报文为HTTP报文,且所述第一数据请求报文的URI中包含所述预设特征库中的
音视频域名,或者若所述第一数据请求报文为TLS报文,且所述第一数据请求报文的
server_name中包含所述预设特征库中的音视频域名,则判定扫描结果满足预设条件;
[0008] 根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,其中,所述满足预设条件的数据流包括所述第一数据请求报文和所述第二数据请求报
文。
[0009] 可选地,构建所述预设特征库包括:
[0010] 使用预设工具分析主流音视频应用的域名,得到正则表达式;
[0011] 将所述正则表达式传入正则表达式引擎进行编译,得到预设特征库。
[0012] 可选地,所述根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,包括:
[0013] 根据所述预设特征库指定所述上下行ACL规则的动作表;
[0014] 根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤。
[0015] 可选地,在所述利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取所述第一数据请求报文中的目的IP和目的端口,并根据
所述目的IP和所述目的端口,生成上下行ACL规则之后,还包括:
[0016] 为所述上下行ACL规则配置老化定时器,并启动所述老化定时器开始计时;
[0017] 在所述老化定时器的计时时长到达预设老化时长时,删除所述上下行ACL规则。
[0018] 本申请还提供一种音视频流的过滤系统,包括:
[0019] 预过滤模块,用于根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接;
[0020] 处理模块,用于利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取所述第一数据请求报文中的目的IP和目的端口,并根据
所述目的IP和所述目的端口,生成上下行ACL规则,其中,所述若扫描结果满足预设条件具
体为:若所述第一数据请求报文为HTTP报文,且所述第一数据请求报文的URI中包含所述预
设特征库中的音视频域名,或者若所述第一数据请求报文为TLS报文,且所述第一数据请求
报文的server_name中包含所述预设特征库中的音视频域名,则判定扫描结果满足预设条
件;
[0021] 过滤模块,用于根据所述上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,其中,所述满足预设条件的数据流包括所述第一数据请求报文和所述第
二数据请求报文。
[0022] 可选地,还包括:
[0023] 构建模块,用于使用预设工具分析主流音视频应用的域名,得到正则表达式,将所述正则表达式传入正则表达式引擎进行编译,得到预设特征库。
[0024] 本申请还提供一种音视频流的过滤设备,包括:处理器、存储器和通信总线;
[0025] 所述通信总线,用于实现所述处理器和所述存储器之间的连接通信;
[0026] 所述处理器用于执行所述存储器中存储的音视频流的过滤处理程序,以实现上述任一项所述音视频流的过滤方法的步骤。
[0027] 本申请还提供一种可读存储介质,所述可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现上述任一项所述音视频流的过滤
方法的步骤。
[0028] 与现有技术相比,本申请提供的一种音视频流的过滤方法,通过根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接,再利用预设特征
库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取第一
数据请求报文中的目的IP和目的端口,并根据目的IP和目的端口,生成上下行ACL规则,其
中,若扫描结果满足预设条件具体为:若第一数据请求报文为HTTP报文,且第一数据请求报
文的URI中包含预设特征库中的音视频域名,或者若第一数据请求报文为TLS报文,且第一
数据请求报文的server_name中包含预设特征库中的音视频域名,则判定扫描结果满足预
设条件,最后根据上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,
其中,满足预设条件的数据流包括第一数据请求报文和第二数据请求报文,本申请中,在利
用预设特征库扫描数据流建立TCP连接后的第一数据请求报文时,若扫描结果满足预设条
件,则能够确定该数据流为音视频流,再提取该音视频流的第一数据请求报文中的目的IP
和目的端口,根据提取到的目的IP和目的端口生成上下行ACL规则,并通过上下行ACL规则
对音视频流的第二数据请求报文进行过滤,使得在从海量现网数据流中识别音视频流时,
不需要逐包解析每一个报文的内容,从而能够有效地提高从海量现网数据流中过滤出音视
频流的效率,以及能够有效地节约设备资源和财力资源。

附图说明

[0029] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
还可以根据这些附图获得其他的附图。
[0030] 图1为本申请实施例中提供的一种音视频流的过滤方法的流程示意图;
[0031] 图2为本申请实施例中提供的一种音视频流的过滤系统的结构示意图;
[0032] 图3为本发明实施例中提供的一种音视频流的过滤设备的结构示意图。

具体实施方式

[0033] 为了使本领域的技术人员更好地理解本申请中的技术方案,下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施
例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性
劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0034] 需要说明的是,当元件被称为“固定于”或“设置于”另一个元件上,它可以直接在另一个元件上或者间接设置在另一个元件上;当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至另一个元件上。
[0035] 需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
[0036] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本申请的描述中,“多个”、“若干个”的含义是两个或两个以上,除非另有明确具体的限定。
[0037] 须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本申请可实施的限定条件,故不具
技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本申请所能
产生的功效及所能达成的目的下,均应仍落在本申请所揭示的技术内容所能涵盖的范围
内。
[0038] 如图1所示,本申请实施例提供一种音视频流的过滤方法,包括:
[0039] S11、根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接;
[0040] 本实施例中,TCAM(ternary content addressable memory,即三态内容寻址存储器)。
[0041] 本实施例中,建立TCP连接是通过三次握手便可建立连接,三次握手建立连接具体为,第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确
认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个
SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入
ESTABLISHED(即建立连接或连接成功)状态,完成三次握手,根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程(即客户端和服务器三次握手过程)中的报文,并在客户端和服务器三次握手后建立TCP连接。
[0042] 根据TCAM规则对输入报文进行预过滤可以为:现网中承载传输音视频流量的应用层协议主要有超文本传输协议HTTP、安全传输层协议TLS,为HTTP协议设计的TCAM预过滤规
则,将提取HTTP所有GET/POST请求消息;TLS协议的TCAM预过滤规则,则提取TLS Handshark
(TLS握手协议)类型为Client Hello(0x01)的报文。
[0043] S12、利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取第一数据请求报文中的目的IP和目的端口,并根据目的IP和目的
端口,生成上下行ACL规则,其中,若扫描结果满足预设条件具体为:若第一数据请求报文为HTTP报文,且第一数据请求报文的URI中包含预设特征库中的音视频域名,或者若第一数据
请求报文为TLS报文,且第一数据请求报文的server_name中包含预设特征库中的音视频域
名,则判定扫描结果满足预设条件;
[0044] 本实施例中,预设特征库为预先构建好的特征库,预设特征库可以是预先构建好的hyperscan特征库,hyperscan特征库是高性能正则表达式引擎;预设条件为预先设置的
条件。
[0045] 本实施例中,ACL(Access Control List,即访问控制列表),ACL是路由器和交换机接口的指令列表,用来控制端口进出的数据包。
[0046] 本实施例中,由于预设特征库的域名支撑动态的加删,因此命中预设特征库的数据请求报文(即扫描结果满足预设条件的报文)可能是该数据流建立TCP连接后的第一个数
据请求报文,也可能是同条数据流的后续数据请求报文,因此,本文中的第一数据请求报文
可以是数据流中的第一个数据请求报文,也可以是包括数据流中的第一个数据请求报文和
第二个数据请求报文。
[0047] 本实施例中,可以根据目的IP和目的端口,自动生成两条上下行ACL规则。
[0048] 本实施例中,HTTP(HyperText Transfer Protocol,即超文本传输协议),URI(Uniform Resource Identifier,即统一资源标识符),TLS(Transport Layer Security,即安全传输层协议),server_name即服务器名称。
[0049] 本实施例中,预设特征库中包括有多个音视频域名,若第一数据请求报文为超文本传输协议报文,且第一数据请求报文的统一资源标识符中包含预设特征库中的音视频域
名,则判定扫描结果满足预设条件,或者若第一数据请求报文为安全传输层协议报文,且第
一数据请求报文的服务器名称中包含预设特征库中的音视频域名,则判定扫描结果满足预
设条件。
[0050] S13、根据上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,其中,满足预设条件的数据流包括第一数据请求报文和第二数据请求报文。
[0051] 本实施例中,第二数据请求报文为满足预设条件的数据流中在第一数据请求报文之后传输的所有报文,即第二数据请求报文为音视频流中在第一数据请求报文之后传输的
所有报文。
[0052] 本实施例中,可以根据由目的IP和目的端口自动生成的两条上下行ACL规则,对音视频流的第二数据请求报文进行过滤。
[0053] 与现有技术相比,本申请提供的一种音视频流的过滤方法,通过根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接,再利用预设特征
库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取第一
数据请求报文中的目的IP和目的端口,并根据目的IP和目的端口,生成上下行ACL规则,其
中,若扫描结果满足预设条件具体为:若第一数据请求报文为HTTP报文,且第一数据请求报
文的URI中包含预设特征库中的音视频域名,或者若第一数据请求报文为TLS报文,且第一
数据请求报文的server_name中包含预设特征库中的音视频域名,则判定扫描结果满足预
设条件,最后根据上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,
其中,满足预设条件的数据流包括第一数据请求报文和第二数据请求报文,本申请中,在利
用预设特征库扫描数据流建立TCP连接后的第一数据请求报文时,若扫描结果满足预设条
件,则能够确定该数据流为音视频流,再提取该音视频流的第一数据请求报文中的目的IP
和目的端口,根据提取到的目的IP和目的端口生成上下行ACL规则,并通过上下行ACL规则
对音视频流的第二数据请求报文进行过滤,使得在从海量现网数据流中识别音视频流时,
不需要逐包解析每一个报文的内容,从而能够有效地提高从海量现网数据流中过滤出音视
频流的效率,以及能够有效地节约设备资源和财力资源。
[0054] 作为一种实施方式,本申请实施例中,构建预设特征库包括:
[0055] S21、使用预设工具分析主流音视频应用的域名,得到正则表达式;
[0056] 本实施例中,预设工具为预先设置的工具,使用预设工具分析现有网络中主流音视频应用的域名作为正则表达式。
[0057] 本实施例中,现有网络中主流音视频应用可以包括腾讯视频、爱奇艺、哔哩哔哩、QQ音乐等,现有网络中主流音视频应用的域名可以包括qqvideo.tc.qq, video.qq(腾讯视
频的域名截取片段)、video.iqiyi(爱奇艺视频的域名截取片段)、bilivideo、
live.bilibili(哔哩哔哩的域名截取片段)、music.tc.qq(QQ音乐的域名截取片段)等。
[0058] S22、将正则表达式传入正则表达式引擎进行编译,得到预设特征库。
[0059] 本实施例中,将正则表达式传入正则表达式引擎(如hyperscan)进行编译,得到编译后的预设特征库(如hyperscan特征库)。
[0060] 本实施例中,步骤S21和S22在步骤S12之前执行。
[0061] 作为一种实施方式,本申请实施例中,步骤S13,包括:
[0062] S131、根据预设特征库指定上下行ACL规则的动作表;
[0063] 上下行ACL规则的动作表可以是丢弃或者转发报文,两条上下行ACL规则的动作表中的具体动作均是由预设特征库指定的。
[0064] S132、根据上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤。
[0065] 本实施例中,通过上下行ACL规则,可以有效地对满足预设条件的数据流的第二数据请求报文进行过滤。
[0066] 作为一种实施方式,本申请实施例中,在步骤S12之后,还包括:
[0067] S31、为上下行ACL规则配置老化定时器,并启动老化定时器开始计时;
[0068] 本实施例中,可以分别为两条上下行ACL规则中的每条上下行ACL规则均配置老化定时器,并启动老化定时器开始计时。
[0069] S32、在老化定时器的计时时长到达预设老化时长时,删除上下行ACL规则。
[0070] 本实施例中,预设老化时长为预先设定的老化时长,在老化定时器的计时时长到达预设老化时长时,删除两条上下行ACL规则。
[0071] 如图2所示,本申请实施例还提供一种音视频流的过滤系统,包括:
[0072] 预过滤模块21,用于根据TCAM规则对输入报文进行预过滤,得到数据流建立TCP连接过程报文,并建立TCP连接;
[0073] 处理模块22,用于利用预设特征库扫描数据流建立TCP连接后的第一数据请求报文,若扫描结果满足预设条件,则提取第一数据请求报文中的目的IP和目的端口,并根据目
的IP和目的端口,生成上下行ACL规则,其中,若扫描结果满足预设条件具体为:若第一数据请求报文为HTTP报文,且第一数据请求报文的URI中包含预设特征库中的音视频域名,或者
若第一数据请求报文为TLS报文,且第一数据请求报文的server_name中包含预设特征库中
的音视频域名,则判定扫描结果满足预设条件;
[0074] 过滤模块23,用于根据上下行ACL规则对满足预设条件的数据流的第二数据请求报文进行过滤,其中,满足预设条件的数据流包括第一数据请求报文和第二数据请求报文。
[0075] 作为一种实施方式,本申请实施例中,还包括:
[0076] 构建模块,用于使用预设工具分析主流音视频应用的域名,得到正则表达式,将正则表达式传入正则表达式引擎进行编译,得到预设特征库。
[0077] 如图3所示,本申请还提供一种音视频流的过滤设备,包括:处理器31、存储器32和通信总线33;
[0078] 通信总线33,用于实现处理器31和存储器32之间的连接通信;
[0079] 处理器31用于执行存储器32中存储的音视频流的过滤处理程序,以实现上述任一项音视频流的过滤方法的步骤。
[0080] 本实施例中,处理器31可以是搭载openwrt操作系统的分流器。
[0081] 本申请还提供一种可读存储介质,可读存储介质中存储有计算机可执行指令,计算机可执行指令被处理器加载并执行时,实现上述任一项音视频流的过滤方法的步骤。
[0082] 应当理解,本申请中如若使用了“系统”、“装置”、“单元”和/或“模块”,仅是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
[0083] 本说明书中各实施例采用递进方式描述,每个实施例重点说明的都是与
[0084] 其他实施例不同之处,各个实施例之间相同或相似部分相互参见即可。
[0085] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。