CuteSniffer 使用编辑规则

来源:百度文库 编辑:神马文学网 时间:2024/05/04 10:45:48
编辑规则  
     
   
  --------------------------------------------------------------------------------  
     
   
  CuteSniffer   允许用户设定用于分析网络信息规则.   一旦发现与某一规则相符合信息包,   CuteSniffer   可发出警告信息来通知网络管理人员.   CuteSniffer   规则利用了目前较为流行   Snort规则描述语言(rules   description   language).   这一语言特点是简单,   实用.   很容易为管理人员掌握.   而且有很多公共数据库提供现成规则.   因此管理人员很容易根据自己需要找到解决方案   (如对抗新出现病毒).   利用这种语言使我们不但可对信息来源地址,   端口进行分析;   同时也可对信息内容进行分析   (如是否含有某些关键词).   关于规则解释请访问   www.snort.org.   CuteSniffer   规则由两部分组成,   规则端部和规则设定部.   而规则设定部又由若干个设定单元所组成.   以下是规则一般表达式.    
   
   
  H   (O1;   O2;   ...)  
   
  其中   H   表示规则端部,   括号内是规则设定部,   其中   O1,   O2   等表示设定单元,   单元之间以分号隔开.   以下是二个   CuteSniffer   规则例子:     tcp   any   any   ->   any   21   (msg:"FTP   DELE   overflow   attempt";content:"DELE   ";   nocase;   content:!"|0a|";   within:100;)    
    tcp   any   any   ->   any   21   (msg:"FTP   CWD   ~root   attempt";   content:"CWD   ";   content:"   ~root";   nocase;)    
  用户可利用规则管理器进行规则编辑.   首先点击工具拦中   规则管理器   按键,   或选择   设定   ->   规则管理...   菜单,   来起动规则管理器.   CuteSniffer   将所有规则接功能分为   27   个组,   每个组中含有若干预设规则.   用户可根据自已需要激活某些规则   (点击规则名称前方格).   用户可以新增或修改任一组中规则.   方法是先在左边列表中选择一组规则,   然后按下   新增   或   修改   按钮.   接着在对话窗中设定规则名称,   规则端部和设定部.    
  规则端部  
   
  规则端部定义信息包应有协议,   来源地址,   来源端口,   方向,   终点地址和终点端口.  
   
  1.   协议:   可取值包括:   tcp,   udp,   icmp,   and   ip.      
  2.   IP   地址:   你可在来源地址和终点地址   项目中输入特定   IP   地址.   也可输入   "any"   表示信息包含任何地址都符合本规则对地址要求.   如果你想定义一个地址   范围则可在地址后加一掩码(Mask),   可取掩码有   /24,   指   Class   C   网络;   /16,   指   Class   B   网络.   例如,   216.104.129.100/24   包括了从   216.104.129.1   到   216.104.129.255   所有地址.   如果你想定义数个不相连地址,   则可在   一方括号内将所有地址列出,   地址之间用逗号分开,   如下面例子所示.  
   
  tcp   [216.104.129.0/24,10.1.1.0/24]   any   ->   any   111   (content:   "|00   01   86   a5|";   msg:   "external   mounted   access";)  
  如果你想设定信息包不应含有某些地址,   则可在这地址前加一   '!'   符号.   如下例所示,    
  tcp   !216.104.129.0/24   any   ->   any   any   (flags:S+;   msg:"SYN   packet";symbol:"SYN";)  
  最后你可为常用地址设立一地址变量,   然后直接输入地址变量.   注意地址变量第一个字母必须是   '$'.      
  3.   端口:   你可在来源端口   和终点端口拦目中输入信包应具有端口编号或者   "any"   表示任何端口皆可.   如果你想定义一个端口范围,   则可在两端口编号间加一冒号,   例如:   1:200   表示端口从   1   到   200,   :60   意味着所有小于或等于   60   端口,   500:   则表示所有大于或等于   500   端口.      
  4.   方向:   可取值是   '->'   和   '<>'.   选择   '->'   意味着信息包地址与端口必须与规则相应地址与端口符合,   即信息包来源地址   与规则来源地址符合,   信息包来源端口也须要与规则来源端口符口,   对终点地址和终点端口也有相同要求.   如果方向取值是   '<>'   时则信息包地址和端口要符合以上要求或者反向地符含以义上要求,   即信息包   来源地址与规则终点地址符合,   来源端口和规则终点端口符合,   信息包终点地址与规则来源地址相符含,   而终点端口与规则来源端口一致.      
   
  规则设定  
   
  规则设定部由一个或多个设定单源所组成,   而每一设定单元又由关键词和参数两部分组成,   关键词与参数之间用冒号分开.   每个设定单元必须以分号做为终结.   以下是各个可取关键词及其参数:   1.   msg   -   对规则一个简单描述其参数为一字符串   例如,   msg:   "SYN   packet".      
  2.   ttl   -   检测   IP   端部中     TTL.   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
  3.   tos   -   检测   IP   端部中     TOS.   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
  4.   id   -   检测   IP   端部中     fragment   ID   field.   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.    
  5.   ipoption   -   检测   IP   端部中     IP   option   fields.   以下是其参数可取值:    
  rr   -   Record   route    
  eol   -   End   of   list    
  nop   -   No   op    
  ts   -   Time   Stamp    
  sec   -   IP   security   option    
  lsrr   -   Loose   source   routing    
  ssrr   -   Strict   source   routing    
  satid   -   Stream   identifier    
     
  6.   fragbits   -   test   the   fragmentation   bits   of   the   IP   header.   There   are   three   bits   that   can   be   checked,   the   Reserved   Bit   (R),   More   Fragments   (M)   bit,   and   the   Don't   Fragment   (D)   bit.   You   can   use   '+'   or   '-'   to   indicate   a   bit   is   set   or   no.   You   can   also   test   one   or   more   bits.   For   example,   R+M-   means   to   match   Reserved   Bit   on   and   More   Fragments   bit   off;   D-   matches   Don't   Fragment   bit   is   no   set.      
  7.   dsize   -   检测信息包信息容量   (packet's   payload   size).   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
  8.   flags   -   检测   TCP   端部中TCP   flags   for   certain   values.   There   are   six   bits   that   can   be   checked,    
  F   -   FIN    
  S   -   SYN    
  R   -   RST    
  P   -   PSH    
  A   -   ACK    
  U   -   URG    
  You   can   use   '+'   or   '-'   to   indicate   a   bit   is   set   or   no.   You   can   also   test   one   or   more   bits.   For   example,   F+A-   means   to   match   FIN   Bit   on   and   ACK   bit   off;   P-   matches   PSH   bit   is   no   set.    
     
  9.   seq   -   检测信息包   TCP   序列号   (TCP   sequence   number).   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.    
  10.   ack   -   检测信息包   TCP   确认号   (TCP   acknowledgement).   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.    
  11.   itype   -   检测   ICMP   type   field.   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
  12.   icode   -   检测   ICMP   code   field.   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
  13.   icmp_id   -   检测   ICMP   ECHO   ID.   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
  14.   icmp_seq   -   检测   ICMP   ECHO   序列号   (sequence   number).   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
  15.   content   -   查找信息包中是   否含有某一特定内容.   其参数为一字符串,   内容中如含有二进制数码则应将其转换成六进制并用   (|)   分隔,   例如,   content:"|90C8   C0FF   FFFF|/bin/sh".      
  16.   offset   -   用于   content   之后,   其参数为一数字,   指示查找起始位置.      
  17.   depth   -   用于   content   之后,   其参数为一数字,   指示查找深度.      
  18.   nocase   -   用于   content   之后,   无参数.   指示查找时不区分字母大小写.      
  19.   ip_proto   -   IP   header   协议号码,   其参数为一数字.      
  20.   sameip   -   检测信息包来源地址是否等于其终点地址无参数.      
  21.   distance   -   用于两   content   之间,   指示两字符串之间矩离.   其参数为一数字.      
  22.   within   -   用于两   content   之间,   指示两字符串必须在一定矩离之内.   其参数为一数字.      
  23.   tcpres   -   检测   TCP   reserved   field.   其参数是一数字.   在参数之前可加入以下运算符,   !   (不等),   >   (大于),   <   (小于),   >=   (大于或等于),   <=   (小于或等于).   如无运算符则意味着相等.      
   
   
  告警设定  
   
  用户可以设置告警,   当与某一规则相符合信息包被俘获时,   CuteSniffer   可发出告警声音,   显示告警信息和发出电子邮件.   告警设定可按如下步聚进行.   1.   首先点击工具拦中   规则管理器   按键,   或选择   设定   ->   规则管理...   菜单,   来起动规则管理器.      
  2.   选择你想设置告警规则    
  3.   按下   告警设置   按键    
  4.   在告警对话窗口中输入以下信息:    
  引发告警所须事件发生次数   -   设定在告警发生前,   需要俘获多少与规则符合信息包.    
  最大告警次数   -   在关闭软件前,   最多能为这一规则发多少次告警    
  显示告警信息   -   将告警信息显示在告警视窗中.    
  声音   -   发出告警声音    
  发电子邮件   -   发送电子邮件,   你需要输入以下数据:   电子邮件服务器,   发件和收件地址.