开源IDS/IPS-suricata框架之分组流水线模型

2024-01-05 06:18

本文主要是介绍开源IDS/IPS-suricata框架之分组流水线模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 分组流水线模型
稍微有些过时的“auto”运行模式示例。

2 初始化
Suricata具有多种运行模式,每种模式都会初始化与操作关联的线程,队列和管道。这些模式通常与所选择的捕获设备(比如一个抓包接口eth0)、IDS或IPS有关。捕获设备有:pcap、pcap文件、nfqueue、ipfw,或者一个专有的捕获设备。启动时只选择一种运行模式,-i选项用于pcap设备,-r选项用于pcap文件,-q用于nfqueue。
模块用于封装具有生命周期回调(比如,init、deinit)的某个主要功能。分组流水线模型中每个线程都是模块的实例,这些线程由runmodes.c文件定义的runmode初始化。runmode也初始化用于在模块和队列之间移动数据包的队列和数据包处理程序。
初始化用于在模块和队列之间移动数据包的队列和数据包处理程序。 在runmode初始化所有步骤完成后,线程被标记为可运行。
管理线程用于执行数据包管道之外的任务。 管理线程的更多细节应该放在这里。

3 流水线模型基本组成
本文介绍重点pcap设备runmode。

3.1 捕获模块(Capture Module)
pcap设备使用提供的,诸如“eth0”这样的名称初始化。设备一旦初始化,它就会开始收集数据包并传递给Suricata。然后,Suricata会对数据做一层薄封装,使它与链接类型解码器兼容。

3.2 解码模块(Decode Module)
解码是获取缓冲区数据,并将其转换为Suricata所支持的数据结构的过程。这些缓冲区被传递到指定的连接类型解码器。当前支持的连接类型如下:LINKTYPE_LINUX_SLL、LINKTYPE_ETHERNET、LINKTYPE_PPP、LINKTYPE_RAW。

3.3 流模块(Stream Module)
3.4 探测模块(Detect Module)
探测模块负责多个复杂的任务:加载所有的规则,初始化探测插件,创建数据包路由的探测组,最后使用所有应用的规则检测数据包。

文章译自:https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Packet_Pipeline
翻译权译者所有,转发请注明出处,谢谢。

这篇关于开源IDS/IPS-suricata框架之分组流水线模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/571917

相关文章

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Java中的stream流分组示例详解

《Java中的stream流分组示例详解》Java8StreamAPI以函数式风格处理集合数据,支持分组、统计等操作,可按单/多字段分组,使用String、Map.Entry或Java16record... 目录什么是stream流1、根据某个字段分组2、按多个字段分组(组合分组)1、方法一:使用 Stri

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils