使用Java进行SNMP编程
代码说明:
使用SNMP4J进行SNMPv3编程的步骤如下: 1) 创建Snmp对象snmp 2) 创建USM对象,并创建User,添加到USM对象中。 创建User是需要指定securityName,认证协议MD5/SHA1,认证密钥,加密算法DES/AES,加密密钥。 添加User到USM对象中时候,可以指定engineID也可以不指定。 3) 创建UserTarget对象target,并指定version, address, timeout, retry等参数,这些和SNMPv1/v2相同。 另外还必须指定SNMPv3特有的两个参数SecurityLevel和SecurityName。 SNMP4J会根据这个SecurityName到USM的UserTable中查找匹配的User,用这个User的信息进行认证加密处理。 查找的时候必须同时匹配SecurityName和engineID,但是如果添加User到USM对象中时候,没有指定engineID,那么SecurityName相同即匹配成功。 4) 创建ScopedPDU对象pdu,并指定操作类型(GET/GETNEXT/GETBULK/SET), 添加VariableBinding(也就是待操作的OID), 如果是GETBULK操作,还可以指定MaxRepetitions和NonRepeaters。 注意一定要指定MaxRepetitions,默认值是0,那样不会返回任何结果。 如果agent上设定的contextEngineId和snmpEngineId不一致,那么需要调用ScopedPDU.setContextEngineID()方法设定contextEngineId。 如果agent上设定了contextName,那么需要调用ScopedPDU.setContextName()方法设定contextName。 5) 调用snmp.send(pdu, target)方法,发送请求请返回结果
下载说明:请别用迅雷下载,失败请重下,重下不扣分!