10.29. SNMP 关键词¶
10.29.1. snmp.version¶
SNMP协议版本号(整数)。预期值为1、2(对应版本2c)或3。
snmp.version 使用 32位无符号整数。
语法:
snmp.version:[操作符]<数值>
可通过精确匹配或_操作符_比较版本:
snmp.version:3 # 精确匹配3
snmp.version:<3 # 小于3
snmp.version:>=2 # 大于等于2
规则示例:
alert snmp any any -> any any (msg:"过时的SNMP版本(<3)"; snmp.version:<3; sid:1; rev:1;)
10.29.2. snmp.community¶
SNMP团体字符串相当于SNMPv1和v2c消息的密码。 在版本3中,团体字符串可能被加密。若值不可访问时此关键词不会匹配。
默认只读团体字符串通常为"public",读写团体字符串为"private"。
比对区分大小写。
语法:
snmp.community; content:"private";
规则示例:
alert snmp any any -> any any (msg:"SNMP团体字符串private"; snmp.community; content:"private"; sid:2; rev:1;)
snmp.community
是'粘性缓冲区'。
snmp.community
可用作 fast_pattern
。
10.29.3. snmp.usm¶
SNMP基于用户的安全模型(USM)用于版本3。 对应用户名。
比对区分大小写。
语法:
snmp.usm; content:"admin";
规则示例:
alert snmp any any -> any any (msg:"SNMP USM用户admin"; snmp.usm; content:"admin"; sid:2; rev:1;)
snmp.usm
是'粘性缓冲区'。
snmp.usm
可用作 fast_pattern
。
10.29.4. snmp.pdu_type¶
SNMP PDU类型(整数)。
snmp.pdu_type 使用 32位无符号整数。
常见值包括:
0: GetRequest
1: GetNextRequest
2: Response
3: SetRequest
4: TrapV1 (已废弃,SNMPv1中的旧Trap-PDU)
5: GetBulkRequest
6: InformRequest
7: TrapV2
8: Report
若值不可访问(如加密的SNMPv3消息),此关键词不会匹配。
语法:
snmp.pdu_type:<数值>
规则示例:
alert snmp any any -> any any (msg:"SNMP响应消息"; snmp.pdu_type:2; sid:3; rev:1;)