一种基于制造技术

技术编号:39836553 阅读:9 留言:0更新日期:2023-12-29 16:20
本发明专利技术公开了一种基于

【技术实现步骤摘要】
一种基于DPDK技术的流量过滤的协议解析方法


[0001]本专利技术涉及协议解析
,尤其涉及一种基于
DPDK
技术的流量过滤的协议解析方法


技术介绍

[0002]在数据安全领域,常使用
DPDK

Data Plane Development Kit
,数据平面开发)来进行网络流量的监控

利用
DPDK
技术进行业务流量的高效处理,包括流量采集

协议解析

安全事件检测和异常行为检测等

[0003]随着互联网的普及,流量体系已较大,在硬件能力有限的情况下,很难做到全流量的分析

某些情况下,只对某个业务节点的流量感兴趣,希望能做定向流量的解析,丢弃其他流量;或对某个业务节点的流量不感兴趣,希望能丢弃这部分流量,以免产生干扰数据

某些情况下,希望根据实际情况(安全事件

特殊时间节点),动态调整流量解析对象,进行个别流量的跟踪

在特殊应用中,比如文件重组,需要跟踪某个特定
IP
输出的文件

[0004]目前的流量过滤方法往往使用固定的过滤规则,无法同时满足多种业务需求,应用场景受限

例如,一种在中国专利文献上公开的“流量过滤方法及装置”,其公告号
CN106878074A
,包括:抓取目标网络流量;基于目标协议类型对所述目标网络流量进行报文格式解析,获取该目标网络流量中携带的与文件格式相关联的内容关键字;将所述内容关键字与预设关键字进行匹配,如果所述内容关键字匹配所述预设关键字,过滤并保存携带有所述内容关键字的目标网络流量

该方案采用固定的过滤规则,无法同时满足多种业务需求,应用场景受限


技术实现思路

[0005]本专利技术主要解决现有技术往往使用固定的过滤规则,无法同时满足多种业务需求,应用场景受限的问题;提供一种基于
DPDK
技术的流量过滤的协议解析方法,在对应业务前进行过滤模型的匹配,实时更新过滤规则,能同时满足多种业务的过滤规则

[0006]本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于
DPDK
技术的流量过滤的协议解析方法,包括以下步骤:
S1
:资源初始化,包括定时器库

内存资源和网络接口;
S2
:读取配置过滤文件,构建并更新过滤模型;
S3
:从网络接口采集读取数据报文,循环解析每个数据报文,与过滤模型匹配,过滤符合过滤条件的数据报文,将保留的数据报文导出到数据库中存储

[0007]在对应业务前进行过滤模型的匹配,实时更新过滤规则,能同时满足多种业务的过滤规则

[0008]作为优选,所述的步骤
S2
包括以下过程:
S201
:读取配置过滤文件,判断过滤开关是否打开,若是,则进入下一步,否则,结束读取;
S202
:构建过滤模型,创建定时器对象并启动后结束读取;
S203
:定时器回调时过滤模型中的过滤规则更新;判断过滤规则配置是否更新;若是,则更新过滤模型后等待下次执行;否则直接等待下次执行

[0009]能够根据实际需要,实时更新过滤规则,支持不同应用场景下的过滤规则,支持
IP
地址区间范围的过滤筛选,应用范围广

[0010]作为优选,过滤模型的构建过程为:根据各部分开关配置,读取配置信息;在开关打开时,读取规则个数,根据规则个数创建结构体数组;配置中至少配置一个
IP
地址;根据配置项内容确定匹配模型;按行读取,依次存入结构体数组中;根据
IP
地址和子网掩码位数
mask
计算各配置规则的
IP
地址区间

[0011]作为优选,规则格式包括黑名单和白名单的
IP
地址

子网掩码位数
mask
和网络接口号
port。
[0012]作为优选,所述的过滤模型包括名称

开关值和规则内容;规则内容中包括白名单或黑名单类型

匹配规则和具体内容信息

[0013]根据黑名单,丢弃无关业务的流量;根据白名单,只处理感兴趣的流量

[0014]作为优选,从网络接口读取的数据具体经过以下处理线程处理:从
ring
环批量获取报文包;当报文包个数大于零时,循环解析每个报文,获取包括源
IP、

POTR、
目的
IP、
目的
PORT
和协议类型的五元组信息;过滤模型匹配,若是黑名单符合过滤条件,则释放相关内存资源;若是白名单符合过滤条件,则应用层协议解析后将具有相同五元组信息的解析流转至同一导出线程;返回,继续从
ring
环批量获取报文包;当报文包个数小于等于零时,返回,继续从
ring
环批量获取报文包

[0015]作为优选,过滤模型匹配过程为:根据应用场景选择过滤模型对象;在开关打开时,根据报文的源
IP、

POTR、
目的
IP
和目的
PORT
四元组信息进行匹配;选择源
IP
,判断源
IP
是否在过滤模型的
IP
地址区间范围内,若是,则通过二分法匹配对应的
IP
地址;否则,选择目的
IP
;判断通过二分法是否匹配到对应的
IP
地址,若是,则根据匹配模型进行其他元素的匹配;否则,选择目的
IP
;判断匹配模型的其他元素是否全部匹配,若是,则匹配成功;否则,选择目的
IP
;判断选择的目的
IP
是否在过滤模型的
IP
地址区间范围内,若是,则进一步匹配对应
IP
地址;否则匹配失败;若进一步匹配到对应
IP
地址,则判断其他元素是否全部匹配,否则,匹配失败;若其他元素全部匹配,则匹配成功,否则,匹配失败;若匹配成功且为黑名单,则跳过该报文处理;若匹配成功且为白名单则进行报文处理;
若匹配失败且为黑名单,则处理该报文,若匹配失败且为白名单则跳过该报文处理

[0016]能同时满足多种业务的过滤规则,只需在对应业务前进行过滤模型的匹配;过滤规则配置灵活
:(src)IP/mask/port, (dst)IP/mask/port
,支持至少一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
DPDK
技术的流量过滤的协议解析方法,其特征在于,包括以下步骤:
S1
:资源初始化,包括定时器库

内存资源和网络接口;
S2
:读取配置过滤文件,构建并更新过滤模型;
S3
:从网络接口采集读取数据报文,循环解析每个数据报文,与过滤模型匹配,过滤符合过滤条件的数据报文,将保留的数据报文导出到数据库中存储
。2.
根据权利要求1所述的一种基于
DPDK
技术的流量过滤的协议解析方法,其特征在于,所述的步骤
S2
包括以下过程:
S201
:读取配置过滤文件,判断过滤开关是否打开,若是,则进入下一步,否则,结束读取;
S202
:构建过滤模型,创建定时器对象并启动后结束读取;
S203
:定时器回调时过滤模型中的过滤规则更新;判断过滤规则配置是否更新;若是,则更新过滤模型后等待下次执行;否则直接等待下次执行
。3.
根据权利要求1或2所述的一种基于
DPDK
技术的流量过滤的协议解析方法,其特征在于,过滤模型的构建过程为:根据各部分开关配置,读取配置信息;在开关打开时,读取规则个数,根据规则个数创建结构体数组;配置中至少配置一个
IP
地址;根据配置项内容确定匹配模型;按行读取,依次存入结构体数组中;根据
IP
地址和子网掩码位数
mask
计算各配置规则的
IP
地址区间
。4.
根据权利要求3所述的一种基于
DPDK
技术的流量过滤的协议解析方法,其特征在于,规则格式包括黑名单和白名单的
IP
地址

子网掩码位数
mask
和网络接口号
port。5.
根据权利要求3所述的一种基于
DPDK
技术的流量过滤的协议解析方法,其特征在于,所述的过滤模型包括名称

开关值和规则内容;规则内容中包括白名单或黑名单类型

匹配规则和具体内容信息
。6.
根据权利要求1或2或4或5所述的一种基于
DPDK
技术的流量过滤的协议解析方法,其特征在于,从网络接口读取的数据具体经过以下处理线程处理:从
ring
环批量获取报文包;当报文包个数大于零时,循环解析每个报文,获取包括源
IP、

POTR、
目的
IP、
目的
PORT
...

【专利技术属性】
技术研发人员:邱云翔王思何露朱锦浩陈影刘嘉吴小倩李德智
申请(专利权)人:华信咨询设计研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1