将特定顺序的数据包内容与 Suricata 匹配?

Matching packet Content in a specific order with Suricata?

我正在尝试创建一个 Suricata 规则,当且仅当找到所有内容并按特定顺序匹配数据包时。

我当前规则的问题是即使数据包内容是test2 test1它也会匹配。

有没有不使用 pcre 就可以实现这个功能的方法?

alert tcp $HOME_NET any -> $EXTERNAL_NET [80,443] (msg:"Test Rule"; flow:established,to_server; content:"test1"; fast_pattern; content:"test2"; distance:0; classtype:web-application-activity; sid:5182976; rev:2;)

我发现我用来测试 Suricata 签名的方法是在某个时候复制测试数据,导致签名始终触发。

关于回答我自己的问题,可以通过在第一个内容匹配后添加距离修饰符来强制执行内容顺序。

见于:

content:"one"; content:"two"; distance:0; content:"three"; distance:0; . . .

据我所知,fast_pattern关键字可以省略。