Java 如何检查snmp4j是否提供snmp v3
我必须检查snmp v3是否在通过snmp4j管理的设备上可用。如果没有,我必须使用snmp v2c。但是如何通过snmp4j检查可用性?是否有一个完整的方法或标准的方法来做这件事 我想到了这样的事情:Java 如何检查snmp4j是否提供snmp v3,java,snmp,snmp4j,Java,Snmp,Snmp4j,我必须检查snmp v3是否在通过snmp4j管理的设备上可用。如果没有,我必须使用snmp v2c。但是如何通过snmp4j检查可用性?是否有一个完整的方法或标准的方法来做这件事 我想到了这样的事情: private Target getTarget() { Address targetAddress = GenericAddress.parse(ip); CommunityTarget target = new CommunityTarget(); target.se
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;
}
希望有人知道答案 对于每个已知的IP地址,您可以发送SNMP v3发现消息(它支持GET/GET-BULK等) 启用SNMP v3的实体必须根据标准对此作出响应 所以对于snmp4j,您应该看看是否有一种方法可以做到这一点