snort 的 TCP Stream reassembly 模块源码?

问题描述

TCPStreamreassembly是snort预处理中stream5的一部分,按理说这块应该由两块组成:流监视、流重组。通过学习代码,我发现流的监视部分调用是在detect.c文件的Preprocess函数中,PreprocEvalFuncNode*idx=policy->preproc_eval_funcs;为获得所有预处理模块入口函数的链表头,idx->func(p,idx->context);对于TCPstream来说实际的函数为Stream5Process。接下来应该是reassembly部分,但是几天来,实际定义在什么地方实现的?还是找不到reassembly的实现代码,是我代码理解错了还是什么?熟悉这里的朋友能否帮个忙,万分感谢呀?snort版本是2.8.6

解决方案

解决方案二:
重组用的是frag3插件。

时间: 2024-10-24 16:57:23

snort 的 TCP Stream reassembly 模块源码?的相关文章

Spark SQL Columnar模块源码分析

概述 本文介绍Spark SQL增加的Columnar模块代码实现. 首先介绍Columnar内的代码结构和实现,然后介绍在SqlContext里的使用方式. Columnar InMemoryColumnarTableScan 实现 InMemoryColumnarTableScan类是SparkPlan LeafNode的实现,即是一个物理执行计划. private[sql] case class InMemoryColumnarTableScan(attributes: Seq[Attri

使用Python3中的gettext模块翻译Python源码以支持多语言_python

你写了一个Python 3程序,还想要它适用于其他语言.你能复制全部代码库,然后刻意地检查每个.py文件,替换掉所有找到的文本字符串.但这意味着你有两份你代码的独立副本,每当你要做出个改动或修复个bug,你的工作量会加倍.而且如果你想要程序还适用于其他语言,就更糟了. 幸运的是,Python给了一个解决办法,就是用gettext模块.一个Hack解法 你应该把你自己的解决办法统一改变.例如,你可以把你程序中的每个字符串替换为一个函数调用(函数名简单些,比如像_()一样),这会返回被翻译为该正确语

require() 源码解读

2009年,Node.js 项目诞生,所有模块一律为 CommonJS 格式. 时至今日,Node.js 的模块仓库 npmjs.com ,已经存放了15万个模块,其中绝大部分都是 CommonJS 格式. 这种格式的核心就是 require 语句,模块通过它加载.学习 Node.js ,必学如何使用 require 语句.本文通过源码分析,详细介绍 require 语句的内部运行机制,帮你理解 Node.js 的模块机制. 一.require() 的基本用法 分析源码之前,先介绍 requir

《Android的设计与实现:卷I》——第1章 1.3Android源码下载和编译

1.3 Android源码下载和编译 Android源码的开发需要Linux环境,读者可以安装Ubuntu 10.04及其后续版本,推荐安装Ubuntu的10.04或者12.04这两个LTS(长期技术支持)版本.本书基于Jelly Bean(Android 4.1)分析源代码,该部分源代码的编译需要64位操作系统环境.本节将介绍如何在Ubuntu 12.04(LTS)-64bit上搭建Android源码开发所需环境,这是保障后续步骤能够顺利进行的前提条件,必须准确无误.Android源码分成上层

Node.js中 require() 源码详细讲解

时至今日,Node.js 的模块仓库 npmjs.com ,已经存放了15万个模块,其中绝大部分都是 CommonJS 格式. 这种格式的核心就是 require 语句,模块通过它加载.学习 Node.js ,必学如何使用 require 语句.本文通过源码分析,详细介绍 require 语句的内部运行机制,帮你理解 Node.js 的模块机制. 一.require() 的基本用法 分析源码之前,先介绍 require 语句的内部逻辑.如果你只想了解 require 的用法,只看这一段就够了.

【原创】源码分析 TCP 协议中的 SYN queue 和 accept queue 处理

若要理解本文意图说明的问题,可能需要以下知识背景:  listen 系统调用的 backlog 参数含义,以及与 net.core.somaxconn 参数的关系: SYN flood 攻击与防护: SYN queue 和 accept queue 的用途,以及在不同 linux 版本中的实现差异: ----  在 SYN queue 未满的情况下,在收到 SYN 包后,TCP 协议栈自动回复 SYN,ACK 包,之后在收到 ACK 时,根据 accept queue 状态进行后续处理: 若 S

使用Android源码编译c模块生成可执行文件

问题描述 使用Android源码编译c模块生成可执行文件 5C 使用的是海思的SDK,这个应该跟Android的编译环境差不多吧.各位大侠 我的问题是这样的写了个helloworld的测试程序,是可以编译成可执行程序然后在机器上运行打印出来的.但是呢,在编译模块的时候遇到问题了.按照之前的方式,在development下创建一个文件夹moudle,然后把所有需要的.c .h .so文件都搬了过来,写了个Android.mk,但是呢 在里面添加一句LOCAL_SHARED_LIBRARIES +=

Mongoose源码剖析:核心处理模块

引言 前面我们介绍了 Mongoose所有的几个主要的数据结构mg_context.mg_connection.mg_request_info,还有Mongoose的 生命主线.有了这些基础就可以来看看Mongoose的核心处理工作是怎样的.如果你还没有阅读前面的文章,你可以通过下面的隧道直通: Mongoose源码剖析:外篇之web服务器 Mongoose源码剖析:Introduction and Installation Mongoose源码剖析:数据结构篇 Mongoose源码剖析:mon

app-求手机APP源码。功能:连接wifi模块并实现双向通信

问题描述 求手机APP源码.功能:连接wifi模块并实现双向通信 eclipse安卓开发环境下,开发一个安卓APP,与wifi模块连接,并通过此wifi模块与PC机实现双向通信.求大神指点. 解决方案 就是socket传输吗,很多框架可用,比如netty,或者自己用原生的socket 解决方案二: 友盟 容联 都有 IM通信 去看下demo 解决方案三: 友盟 容联 都有 IM通信 去看下demo 解决方案四: 友盟 容联 都有 IM通信 去看下demo 解决方案五: 友盟 容联 都有 IM通信