Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9144
  • 博文数量: 5
  • 博客积分: 115
  • 博客等级: 入伍新兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-19 19:47
文章分类
文章存档

2011年(5)

我的朋友
最近访客

分类: 网络与安全

2011-04-27 16:19:41

    在研究snort过程中,我最感兴趣的就是对payload中内容的匹配,用户在定制规则时包括了content这个关键字后,snort就会在收到的数据包中搜索content指定的内容。无论这些指定的内容在数据包中的哪个位置出现,即,只要数据包中有这些内容(说明是对整个数据包中的数据进行了搜索),snort就会被触发对这些内容的反应。snort可采用几种不同的算法进行匹配。
    content中指定的数据可以有文本和二进制数据类型。二进制数据一般被包在管道符“|”中,由字节码(bytecode)表示。字节码使用16进制数字表示二进制数据。
    content规则的一些修饰符。offset:设置对content内容进行模式匹配时的起始位置。这个规则选项在某些情况下很有用,例如CGI扫描,要搜索的字符串从来不会在数据包的前4个字节出现。注意:设置偏移值一定要小心,它可能会造成漏检!这个规则选项只能和 content规则选项搭配使用。depth:它用来设置最大的搜索深度,以减少无谓的搜索,使snort只在特征码可能出现的区域内搜索,例如如果在一个web绑定(web-bound)包中搜索“cgi-bin/phf",你就不必浪费时间在数据包负载数据的前20个字节之外搜索。表11的规则结合了content、offset、depth。alert tcp any any -> 192.168.1.0/24 80 (content:"cgi-bin/phf";offset:3;depth:22;msg:"CGI-PHF access" )。nocase:nocase使对content进行模式匹配时大小写不敏感。snort将不再区别每个ASCII字符的大小写。格式:nocase;例如:alert tcp any any ->   192.168.1.0/24 21 (content:"USER   root";nocase;msg:"FTP   root   login   attempt" )。
    至于snort是怎么在数据包中进行相对应内容的搜索的,现在还没弄明白,再继续看看源代码。
   
 
以上资料来自自己总结以及互联网,如果侵犯了您的权益,请您告知,经核实后我会及时删除相关内容。   
   
阅读(4360) | 评论(0) | 转发(0) |
0

上一篇:snort的规则定制

下一篇:安装snort过程

给主人留下些什么吧!~~