Snort_manual.pdf 官方文档中文翻译

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指定字符的时候完全忽略其限制。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,273评论 19 139
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,801评论 0 6
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,553评论 6 152
  • 余华的《活着》,只有十几万字,却让人一次次叹息落泪。感慨那么多悲欢离合怎么都集中到一人身上,感慨一个人经受这么多磨...
    杨静相伴要你好看阅读 263评论 0 2
  • 大雪 万山凋敝黯无华,四面嘶鸣晃树杈。 白雪欲求吟咏句,穿枝掠院演梅花。
    梦里寻梦阅读 377评论 0 0