基于签名的NIDS正则表达式匹配

时间:2014-03-18 14:53:57

标签: regex regular-language intrusion-detection

我正在尝试构建一个基于签名的入侵检测系统,但是当将正则表达式与有效负载匹配时,我遇到了一个以插入符号^开头的表达式,这意味着在正则表达式中一行的开头匹配。

我想确定的是,这应该是整个有效载荷的开头还是在换行符\n之后的有效载荷中的任何位置。

1 个答案:

答案 0 :(得分:1)

默认情况下,^代表字符串的开头

因此,假设您将整个有效负载(包括换行符)视为单个字符串,^将表示有效负载的开头。

如果您想要更改此行为,则需要在正则表达式的开头添加m来打开多行标记(?m)(取决于您使用的语言,可能还有其他这样做的方式)。

此标记会使^$匹配的开头和结尾,字符串的开头和结尾变为可用使用\A\Z