Yaml文件的构造
在准备说下面代码所干的事情之前,我准备介绍一下suricata.yaml文件。介绍引用自百度百科Yaml
概念
YAML(IPA: /ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达资料序列的编程语言,
YAML是一种很简单的类似于XML的数据描述语言,语法比XML简单很多。
YAML是一种很简单的类似于XML的数据描述语言,语法比XML简单很多。
诞生
Clark Evans在2001年5月在首次发表了这种语言[2],另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。
命名
YAML是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递归缩写。
在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言),但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。
功能
YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。
它使用空白符号缩排和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
尽管它比较适合用来表达阶层式(hierarchical model)的数据结构,不过也有精致的语法可以表示关联性(relational model)的资料。
由于YAML使用空白字符和分行来分隔资料,使的他特别适合用grep、Python、Perl、Ruby操作。
其让人最容易上手的特色是巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在巢状结构时会变得复杂而难以辨认。
Suricata.yaml
suricata的整个配置都是通过Yaml来配置的,在我认为它也就是一种key-value的形式。通过不同的缩进来区分孩子。classification-file: /etc/suricata/classfication.config //这是对classification.config的配置路径
reference-config-file: /etc/suricata/reference.config //这是对reference.config的配置路径
magic-file: /usr/share/file/magic //这是对magic文件的配置路径