BNF范式 如何用C++实现自动推导

王朝c/c++·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

BNF范式

ATTACK::= ATTACK_NAME { SIGNATURES

MATCH

DESCRIPTION }

ATTACK_NAME::= <字符串>

SIGNATURES::= SIGNATURE SIGNATURES | ε

SIGNATURE::= IP_SIGNATURE | DIR | GET_SIGNATURE |

OPT_SIGATURE | EXP_SIGNATURE | PROTO | ε

PROTO::= tcp | ip | icmp | udp

IP_SIGNATURE::= (sip | dip) IP_ADDR [\ MASK] |ε

IP_ADDR::= <整数>.<整数>.<整数>.<整数> // 大于0小于255的自然数

MASK::= <整数> // 大于1小于32的自然数

OPT_SIGATURE::= opt: OPTS |ε

OPTS::= (OPT | !OPT) OPTS |ε

OPT::= cwr | ecn | urg | ack | push | reset | syn | fin |ε

DIR::= s2d | d2s |ε

EXP_SIGNATURE::= EXP_NAME : EXPS |ε

EXP_NAME::= sport | dport | udplen | tcplen | iplen |

tcpsequence |ε

EXPS::= EXP EXPS | Z

EXP::= <整数> : <整数>

EXP::= EXP (or | and) EXP

EXP::= !EXP

GET_SIGNATURE::= MatchGet

MATCH::= SUBSTR MATCH | Z

SUBSTR::= substr (匹配字符串,匹配起始点,匹配结束点,匹配模式)

匹配模式::= nocase | anamorphosis

DESCRIPTION::= ALARM CONFIDENCE SEVERITY CVE

ALARM::= @alarm=攻击代号,攻击类型

CONFIDENCE::= !Confidence= <整数>

SEVERITY::= !Severity= <整数>

CVE::= <字符串>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航