今天遇到了一个需求,要把snort规则msg字段的信息拿出来用,想到用C语言去处理,但觉得太烦了。以前看过一点awk的东西,今天想起来了用awk能够很快实现的我需求,在网上查了几分钟资料,了解下awk的语言就完成了。
snort的规则如下:
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"RPC snmpXdmi overflow attempt"; flags:a+; content:"|8000 19a0|"; offset:0; depth:4; content:"|00018799|"; offset: 16; reference:bugtraq,2417; reference:cve,CAN-2001-0236; classtype:attempted-admin; sid:569; rev:1;)
要把msg字段的信息拿出来,只要设置以” ” ”为分隔符,然后第二个字段就是了,把输出重定向到文件中。awk代码如下:
gawk –F “”” ‘/msg/{print &2}’ in_file > out_file
就一句话,短得有点惊讶^_^
还有大量文件要处理,再写一个shell脚本,把上面代码嵌进去就完成了。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7406370/viewspace-975643/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7406370/viewspace-975643/