摘要: 语法 YAML 使用可打印的 Unicode 字符,可使用 UTF-8 或 UTF-16。 使用空白字符为文件缩进来表示结构;不过不能使用跳格字符 (TAB)。 注解由井字号( # )开始,可以出现在一行中的任何位置,而且范围只有一行(也就是一般所谓的单行注解) 每个清单成员以单行表示,并用短杠 + 阅读全文
posted @ 2022-04-22 14:46 6c696e 阅读(130) 评论(0) 推荐(0)
摘要: 1. 生成新协议的解析模板 scripts文件夹下 setup-app-layer.py 文件适用于python3, setup-app-layer-python2.py 适用于python2 cd suricata-6.0.3 python scripts/setup-app-layer.py P 阅读全文
posted @ 2022-04-22 14:25 6c696e 阅读(843) 评论(1) 推荐(1)
摘要: SMTP协议 ​ SMTP协议中一共规定了18条命令,发送一封电子邮件的过程通常只需要其中的6条命令即可,下表按照发送命令的先后顺序列出了这6条命令,并描述了其语法及功能说明,其中,代表空格,代表回车和换行。 SMTP命令格式 说明 ehlo ehlo命令是SMTP邮件发送程序与SMTP邮件接收程序 阅读全文
posted @ 2022-04-22 14:22 6c696e 阅读(107) 评论(0) 推荐(0)
摘要: 注册协议解析器 SMTP模块的初始化和其他的应用层协议一样,是由 AppLayerSetup -> AppLayerParserRegisterProtocolParsers 调用 RegisterSMTPParsers 函数来注册SMTP协议解析器。截取其中一组比较重要的函数(解析入口) Regi 阅读全文
posted @ 2022-04-22 14:21 6c696e 阅读(503) 评论(0) 推荐(0)
摘要: 注:以下分析基于了解flow engine的前提,请先阅读上篇《流管理引擎flow engine》 配置初始化 协议解析模块配置信息的初始化,和flow engine的初始化在同一层的函数调用中,即SuricataMain* -> PostConfLoadedSetup*(包含一些配置被加载后需要运 阅读全文
posted @ 2022-04-22 14:18 6c696e 阅读(1000) 评论(0) 推荐(1)
摘要: 初始化 flow engine的初始化主要分为两部分,线程的初始化和配置的初始化,都在SuricataMain* -> PostConfLoadedSetup*(包含一些配置被加载后需要运行的代码)中 线程初始化 函数调用堆栈: -> RegisterAllModules*(注册了suricata所 阅读全文
posted @ 2022-04-22 14:17 6c696e 阅读(678) 评论(0) 推荐(0)
摘要: 规则加载之前的数据获取 程序调用LoadYamlConfig 函数从 suricata.yaml 的配置文件中,获取到所有配置保存到节点树中,其中加载规则需要用到的包括:规则文件的默认路径default-rule-path,以及每个规则文件的名字rule-files ParseCommandLine 阅读全文
posted @ 2022-04-22 14:14 6c696e 阅读(456) 评论(0) 推荐(0)