Snort_manual.pdf 官方文档中文翻译

96
小天是我见过最单纯善良的人
2015.09.01 09:03* 字数 645

Snort

3.5.7 depth

depth

3.5.26 pcre

pcre能够让采用perl兼容的正则表达式来书写规则,关于pcre正则表达式的更多细节,请查阅 PCRE网址


  • i 大小写敏感
  • s

  • A
  • E
  • G

格式
pcre:[!]"(/<regex>/|m<delim><regex><delim>)[ismxAEGRUBPHMCOIDKYS]";
Note
Example
此例是要大小写不敏感的匹配HTTP URL foo.php?id=<some numbers>
alert tcp any any -> any 80 (content:"/foo.php?id="; pcre:"/\/foo.php?id=[0-9]{1,10}/iU";)

Note

最好将pcre和content配合使用。这将会使得fast-pattern 匹配程序去过滤掉那些不符合的包从而使pcre不至于去匹配所有经过网口的包。

Note

Snort使用pcre不支持对于多个URI的匹配,如果不和uricontent配合使用 的话,PCRE只会去匹配第一个URI。为了使pcre去检查所有的URI,需要使用content或者uricontent。


  • R 从最近一次匹配结果的末尾开始匹配
  • U 匹配被预处理器解码后的URI(类似于uricontent和http_url)。这个修饰符不能与非格式化的HTTP请求URI缓存(I)修饰同一个content。
  • I 匹配未规范化(也就是未被预处理器处理的)的原始HTTP请求URI(类似http_raw_uri)。这个修饰符不能与(U)修饰同一个content。
  • P 匹配未规范化的HTTP请求体(类似于http_client_body)。对于SIP消息,匹配SIP请求或者相应的消息体(类似于sip_body)。
  • H 匹配规范化的HTTP请求或者响应头部(类似于http_header)。这个修饰符不能和(D)修饰同一个content。对于SIP消息,匹配SIP请求或者响应头部(类似于sip_header)。
  • D 匹配未规范化的HTTP请求或者响应头部(类似于http_raw_header)。这个修饰符不能和(H)修饰同一个content。
  • M 匹配规范化的HTTP请求方法(类似于http_method)。
  • C 匹配规范化的HTTP请求或者响应的cookie(类似于http_cookie)。此修饰符不能和(K)修饰同一个content。
  • K 匹配未规范化的HTTP请求或者响应的cookie(类似于http_raw_cookie)。此修饰符不能和(C)修饰同一个content。
  • S 匹配HTTP响应状态码(类似于http_stat_code)。
  • Y 匹配HTTP响应状态消息(类似于http_stat_msg)。
  • B 不使用解码缓存(类似rawbytes)。
  • O 不管已经配置的pcre匹配限制和pcre匹配在这个表达式的递归限制(参见2.1.3)。它在评估pcre指定字符的时候完全忽略其限制。
Snort入侵检测