我必须检查snmp v3是否在通过snmp4j管理的设备上可用。如果没有,我必须使用snmp v2c。但是如何通过snmp4j检查可用性?有完成的方法或标准方法吗?
我想到了类似的东西:
private Target getTarget()
{
Address targetAddress = GenericAddress.parse(ip);
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString(community));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(1000);
//Check here (with if)
if(snmpv3_is_available)
target.setVersion(SnmpConstants.version3);
else
target.setVersion(SnmpConstants.version2c);
return target;
}
希望有人知道答案!
答案 0 :(得分:2)
对于每个已知的IP地址,您可以发送SNMP v3发现消息(它支持GET / GET-BULK等),
启用SNMP v3的实体必须根据标准对其进行响应。
因此对于snmp4j,您应该看看是否只有一种方法可以这样做。