[[PageOutline]] = 正規表示法 Rules = Edited by Waue, NCHC 2008-07-15 == 規則 == {{{ || [^w] || 不要有w的字串 || || ^word || 待搜尋的字串(word)在行首 || || word$ || 待搜尋的字串(word)在行尾 || || . || 代表『任意一個』字符,一定是一個任意字符 || || \ || 跳脫字符,將特殊符號的特殊意義去除 || || * || 重複零個或多個的前一個 RE 字符 || || {n,m} || 連續 n 到 m 個的『前一個 RE 字符』 || || [] || 字元集合的 RE 特殊字符的符號 || || + || 重複『一個或一個以上』的前一個 RE 字符 || || ? ||『零個或一個』的前一個 RE 字符 || || | || 用或( or )的方式找出數個字串 || || ( ) || 找出『群組』字串 || }}} == 範例 == {{{ 找tast 或 test: t[ae]st 不想要 oo 前面有 g: [^g]oo oo 前面不想要有小寫字元: [^a-z]oo 取得有數字的那一行 : [0-9] 只列出在行首的 the : ^the 不想要開頭是英文字母:^[^a-zA-Z] 行尾結束為小數點 (.) 的那一行 : \.$ 該行並沒有輸入任何資料:^$ 任意一個字元 .,如找good,gxxd,... :g..d 重複字元 * ,如找o,oo,oo...o:oo* 找出 g 開頭與 g 結尾的字串:g.*g 找出 g 後面接 2 到 5 個 o ,然後再接一個 g 的字串:go{2,5}g }}} --------- == Snort Log 範例 == '''[**] [1:2189:3] BAD-TRAFFIC IP Proto 103 PIM [**]''' '''[Classification: Detection of a non-standard protocol or event] [Priority: 2] ''' '''07/08-14:58:56.295033 140.110.138.253 -> 224.0.0.13''' '''PIM TTL:1 TOS:0xC0 ID:11423 IpLen:20 DgmLen:54''' '''[Xref => http://cve.mitre.org/cgi-bin/cvename.cgi?name=2003-0567][Xref => http://www.securityfocus.com/bid/8211]''' * 開發工具 : [http://www.waterproof.fr/products/RegExpEditor/ Regular Expression Editor] ----------- === [**] [1:2189:3] BAD-TRAFFIC IP Proto 103 PIM [**] === * 正規表示式 (in [http://www.waterproof.fr/products/RegExpEditor/ Regular Expression Editor]): {{{ ^\[\**\] \[([1-9]*):([1-9]*):([1-9]*)\] ([^\[]*)\[\*\*\]$ }}} * Java ( '''\''' -> '''\\''' ) {{{ ^\\[\\**\\] \\[([1-9]*):([1-9]*):([1-9]*)\\] ([^\\[]*)\\[\\**\\]$ }}} * 結果: || 1 || [**] [1:2189:3] BAD-TRAFFIC IP Proto 103 PIM || || 2 || 1 || || 3 || 2189 || || 4 || 3 || || 5 || BAD-TRAFFIC IP Proto 103 PIM || === [Classification: Detection of a non-standard protocol or event] [Priority: 2] === * 正規表示式 (in [http://www.waterproof.fr/products/RegExpEditor/ Regular Expression Editor]): {{{ ^\[Classification: ([^]]*)\] \[Priority: ([1-9]*)\] }}} * Java {{{ }}} * 結果: || 1 || [Classification: Detection of a non-standard protocol or event] [Priority: 2] || || 2 || Detection of a non-standard protocol or event || || 3 || 2 || === 07/08-14:58:56.295033 140.110.138.253 -> 224.0.0.13 === * 正規表示式: {{{ (^[0-9]*)\/([0-9]*)\-([0-9]*)\:([0-9]*)\:([0-9]*)\.[0-9]* ([^ ]*) -> ([^$]*) }}} * 結果: || 1 || 07/08-14:58:56.295033 140.110.138.253 -> 224.0.0.13 || || 2 || 07 || || 3 || 08 || || 4 || 14 || || 5 || 57 || || 6 || 56 || || 7 || 140.110.138.253 || || 8 || 224.0.0.13 || === PIM TTL:1 TOS:0xC0 ID:11423 IpLen:20 DgmLen:54 === * 正規表示式: {{{ ([^ ]*) TTL:([^ ]*) TOS:([^ ]*) ID:([^ ]*) IpLen:([^ ]*) DgmLen:([^ ]*) }}} * 結果: || 1 || PIM TTL:1 TOS:0xC0 ID:11423 IpLen:20 DgmLen:54 || || 2 || PIM || || 3 || 1 || || 4 || 0xC0 || || 5 || 11078 || || 6 || 20 || || 7 || 54 || === [Xref => http://cve.mitre.org/cgi-bin/cvename.cgi?name=2003-0567][Xref => http://www.securityfocus.com/bid/8211] === * 正規表示式: {{{ \[Xref => ([^]]*)\] }}} * 注意:只能找出第一個 [Xref => 的連結 * 結果: || 1 || [Xref => http://cve.mitre.org/cgi-bin/cvename.cgi?name=2003-0567] || || 2 || http://cve.mitre.org/cgi-bin/cvename.cgi?name=2003-0567 ||