AC自动机多模式匹配
Aho–Corasick算法是由Alfred V. Aho和Margaret J.Corasick 发明的字符串搜索算法,用于在输入的一串字符串中匹配有限组“字典”中的子串。它与普通字符串匹配的不同点在于同时与所有字典串进行匹配。
Aho–Corasick算法是由Alfred V. Aho和Margaret J.Corasick 发明的字符串搜索算法,用于在输入的一串字符串中匹配有限组“字典”中的子串。它与普通字符串匹配的不同点在于同时与所有字典串进行匹配。
FlowWorker线程模块的处理函数为FlowWorker
,主要包括五部分功能,分别是Flow处理、应用层协议识别、特征检测、输出、tcp segment清理。这里简单记录flow的处理。
suricata中receive和decode两个模块总是在一个线程中,而且每种receive模块都对应一个自己的decode模块,因此这里记录在一起。这两个模块的主要目标是根据收取的数据包填充合适的Packet结构,交由flowworker进行后续处理。decode阶段同时做了分片数据包重组、隧道数据包解封装等处理。