(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210976983.7
(22)申请日 2022.08.15
(71)申请人 杭州安恒信息技 术股份有限公司
地址 310051 浙江省杭州市滨江区西兴街
道联慧街18 8号
(72)发明人 王加旺 韩思
(74)专利代理 机构 成都君合集专利代理事务所
(普通合伙) 51228
专利代理师 尹新路
(51)Int.Cl.
H04L 9/40(2022.01)
(54)发明名称
一种基于sflow的防火墙流量检测方法、 系
统、 设备及 介质
(57)摘要
本发明提出一种基于sflow的防火墙流量检
测方法、 系统、 设备及介质, 首先将内嵌于交换机
或者路由器等转发设备的sFlow Agent通过特定
的采样技术获取网络设备上的流量转发统计并
实时地通过sFlow数据报文发送到sFlow
Collector以供sFlow Collector进行分析, 将防
火墙作为sFlow Collector, 对sFlow Agent采样
收集的sflow报文进行安全审计; 本发明防火墙
审计防护的都是sflow采样报文, 相比于通过镜
像的方式审计所有流量, 防火墙性能的消耗有了
极大的改善, 通过采样比的方式对sflow agent
发送的报文进行按比例采样, 提升了防火墙旁路
部署审计流量的效率。
权利要求书4页 说明书19页 附图7页
CN 115361191 A
2022.11.18
CN 115361191 A
1.一种基于sflow的防火墙流量检测方法, sflow系统包括流量采样代理sFlow Agent、
流量采样收集器sFl ow collector, 其特 征在于, 包括以下步骤:
步骤1: 将内嵌于交换机或路由器等转发设备的流量采样代理sFlow Agent对流经网络
设备的数据包进行周期性采样, 得到网络流量信息, 并将网络流量信息按照设定的格式发
送至流量采样收集器sFl ow Collector;
步骤2: 将防火墙作为流量采样收集器sFlow Collector接收流量采样代理sFlow
Agent发送的sFl ow报文, 对sFl ow报文进行解析, 并对解析后的sFl ow报文进行流量分析;
步骤3: 将解析后 的sFlow报文与 防火墙的DFI/DPI检测进行匹配, 生成安全审计生成
表。
2.如权利 要求1所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤1
具体包括以下步骤:
步骤11: 转发设备启动 后, 初始化sFl ow系统;
步骤12: 配置sFl ow命令行;
步骤13: 根据配置后的sFl ow命令行, 将sFl ow报文入队封装;
步骤14: 将封装好的sFlow报文放在循环队列中, 发送sFlow报文线程, 并发送封装好的
sFlow报文。
3.如权利要求2所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
11具体包括以下步骤:
步骤111: 初始化sFl ow全局变量;
步骤112: 初始化sFl ow循环队列;
步骤113: 初始化sFl ow发送函数;
步骤114: 注册sFlow热插拔调用的回调函数;
步骤115: 注册sFlow系统调用的回调函数;
步骤116: 注册sFlow报文处理函数。
4.如权利要求3所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
111的具体操作为: 将agent数据初始化为无效值、 将collector port数据初始化为6343、 将
sampling_rate初始化为默认值、 将cou nter_interval初始化为默认值、 将采样方向初始化
为无效值。
5.如权利要求4所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
112的具体操作为: 将循环队列每个节点大小初始化为512, 并根据转发设备实际槽数的多
少初始化Buf fer的大小。
6.如权利要求2所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
12的具体步骤为:
步骤121: 输入命令, 打开数据库, 获取记录个数和记录结果集, 并逐条记录查询该接口
信息, 判断接口记录是否存在, 若存在, 则更新数据库接口数据, 下发关闭或修改接口sFlow
功能指令到内核; 若不存在, 继续判断接口记录数是否大于最大值, 若是, 在接口下输出接
口数已达 到最大, 若不是, 更新数据库添加接口数据, 下发添加接口指令 到内核;
步骤122: 内核态根据命令行下发的开启接口sFlow功能指令、 修改接口sFlow功能参数
指令、 关闭接口sFl ow功能指令做出反应, 将采集到的sFl ow报文入队封装。权 利 要 求 书 1/4 页
2
CN 115361191 A
27.如权利要求6所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
122中内核态 根据命令行下发的开启接口sFlow功能指 令做出反应的具体过程为: 首先建立
槽号与发送Buffer的映射关系, 然后创建sFlow报文发送线程, 给驱动下发接口采样消 息,
驱动采样报文后, 初始化counter报文采样定 时器, 周期性获取counter报文, 设置counter
报文采样 定时器超时时间, 定时进入counter处理函数; 判断是否为带有sFlow标记的报文,
若不是, 不处理; 若 是, 继续向下判断; 继续判断循环队列是否能继续存放报文, 如果队列已
满, 则报文不作处理, 丢弃报文数加一; 如果队列还能继续填充, 分别生成Flow sample报
文、 Expanded Flow sample报文、 Cou nter sample报 文、 Expanded Counter sample报 文, 并
插入循环队列。
8.如权利要求6所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
122中内核态 根据命令行下发的修改接口sFlow功能参数指 令做出反应的具体过程为: 首先
判断是否为 驱动所需要参数, 若不是, 则存入全局配置; 若是则下发给驱动; 初始化counter
报文采样 定时器, 周期性获取counter报文, 设置counter报文采样 定时器超时时间, 定时进
入counter处理函数; 然后判断是否为sFlow报文, 若不是, 不处理; 若是, 继续向下判断; 继
续判断循环队列是否能继续存放报文, 如果队列已满, 则报文不作处理, 丢弃报文数加 一;
如果队列还能继续填充, 分别生成Flow sample报文、 Expanded Flow sample报 文、 Counter
sample报文、 Expanded Counter sample报文, 并插 入循环队列。
9.如权利要求6所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
122中内核态 根据命令行下发的开启sFlow指令做出反应的具体过程为: 首先判断此接口所
在槽位是否为最后一个开启sFlow功能的接口, 如果是, 删除映射关系并关闭接口sFlow功
能, 若不是, 映射关系总数减一, 关闭当前接口sFlow功能; 继续 向下判断, 判断当前接口是
否是唯一开启sFlow功能的接口, 如果不是, 不做处理; 如果是, 关闭counter报文采样定时
器, 不再产生counter报文。
10.如权利要求2所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述配置
sflow命令行具体包括配置sflow agent ip命令、 配置sflow collector ip命令、 配置
sflow collector port命令、 配置sflow enable命令、 配置sflow sampling‑rate命令、 配
置sflow counter ‑interval、 配置no sflow enable命令、 配置no sflow counter ‑
interval命令、 配置no sflow agent ip A.B.C.D命令、 配置no sflow collector ip
A.B.C.D命令 。
11.如权利要求2所述的一种基于sflow的防火墙流量检测方法, 其特征在于, 所述步骤
13具体包括以下步骤:
步骤131: 首先将循环队列的每个节点向下挪动一个节点, 然后标记置位节点头部, 最
后标记节点头部报文类型;
步骤132: 依次填充flow sample报文字段头部、 Raw packet header报文字段、
Ethernet Frame Data报文字段、 IPV4 Data报文字段、 Extended Router Data报文字段、
Extended Switch Data报文字段;
步骤133: 首先根据net_device结构体指针获取接口信息, 然后根据dev ‑>get_stats()
获取设备状态信息, 最后按照字段信息依次填充Expanded Counters sample头字段、
Generic Interface Counters字段、 Ethernet Interface Counters字段、 Processor 权 利 要 求 书 2/4 页
3
CN 115361191 A
3
专利 一种基于sflow的防火墙流量检测方法、系统、设备及介质
文档预览
中文文档
31 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共31页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:27:16上传分享