private static byte[] snmpWalk(Map<String,String> settings) throws Exception {//}, MibLoaderException { String queryParameters = settings.get("query.parameters"); String[] params = queryParameters.split(","); String mibDir = settings.get("mibDir"); MibLoaderHolder holder = new MibLoaderHolder(new File(System.getProperty("base.dir"), mibDir), false); SnmpManager snmpManager = new SnmpUdpV2Manager(holder.getLoader(),ipAddress.toString(),settings.get("community-ro"),3,1000,10,65535,161); snmpManager.init(); //(holder,new UdpTransportMappingFactory(), new DefaultMessageDispatcherFactory()); String address = ipAddress; if (address == null) throw new RuntimeException("Resource Address is null"); Properties parameters = new Properties(); parameters.put(SnmpConfigurator.O_ADDRESS, Arrays.asList(address)); parameters.put(SnmpConfigurator.O_COMMUNITY, Arrays.asList(settings.get("community-ro"))); String version = settings.get("version") == null ? "2c" : settings.get("version"); int retriesInt = settings.get("retries") == null ? 3 : Integer.parseInt(settings.get("retries")); int timeoutInt = settings.get("timeout") == null ? 1200 : Integer.parseInt(settings.get("timeout")); int maxrepetitions = settings.get("max-repetitions") == null ? 100 : Integer.parseInt(settings.get("max-repetitions")); int nonrepeaters = settings.get("non-repeaters") == null ? 10 : Integer.parseInt(settings.get("max-repetitions")); parameters.put(SnmpConfigurator.O_VERSION, Arrays.asList(version)); parameters.put(SnmpConfigurator.O_TIMEOUT, Arrays.asList(timeoutInt)); parameters.put(SnmpConfigurator.O_RETRIES, Arrays.asList(retriesInt)); parameters.put(SnmpConfigurator.O_MAX_REPETITIONS, Arrays.asList(maxrepetitions)); parameters.put(SnmpConfigurator.O_NON_REPEATERS,Arrays.asList(nonrepeaters)); Node root = snmpManager.snmpWalk(params); SnmpXmlPrinter snmpXmlPrinter = new SnmpXmlPrinter(holder.getLoader(),root); String xml = snmpXmlPrinter.printTreeAsXML(); return xml.getBytes(); } private synchronized void doPause() {
snmpManager = new SnmpUdpV2Manager(mibLoaderHolder.getLoader()); snmpManager = new SnmpUdpV2Manager(mibLoaderHolder.getLoader());
public SnmpManager create(Map<String, String> snmpConnParams) { String version = snmpConnParams.get("version"); String protocol = snmpConnParams.get("protocol"); SnmpManager snmpManager = null; if ("3".equals(version) && "udp".equals(protocol)) { snmpManager = new SnmpUdpV3Manager(mibLoaderHolder.getLoader()); } else if ("3".equals(version) && "tcp".equals(protocol)) { snmpManager = new SnmpTcpV3Manager(mibLoaderHolder.getLoader()); } else if ("2".equals(version) && "udp".equals(protocol)) { snmpManager = new SnmpUdpV2Manager(mibLoaderHolder.getLoader()); } else if ("2c".equals(version) && "udp".equals(protocol)) { snmpManager = new SnmpUdpV2Manager(mibLoaderHolder.getLoader()); } else if ("2".equals(version) && "tcp".equals(protocol)) { snmpManager = new SnmpTcpV2Manager(mibLoaderHolder.getLoader()); } else if ("2c".equals(version) && "tcp".equals(protocol)) { snmpManager = new SnmpTcpV2Manager(mibLoaderHolder.getLoader()); } else if ("1".equals(version) && "udp".equals(protocol)) { snmpManager = new SnmpTcpV1Manager(mibLoaderHolder.getLoader()); } else if ("1".equals(version) && "tcp".equals(protocol)) { snmpManager = new SnmpTcpV1Manager(mibLoaderHolder.getLoader()); } else { logger.info("Unsupported combination of protocol: " + protocol + " and version " + version); throw new RuntimeException("Unsupported combination of protocol: \" + protocol + \" and version \" + version"); } //TODO CHECK ipAddress Parameter and if name try to convert it first to an address!!! snmpManager.setParameters(snmpConnParams); return snmpManager; }
if (community != null) { if ("udp".equals(protocol)){ snmpManager = new SnmpUdpV2Manager(mibLoaderHolder.getLoader(),address,community,retriesInt,timeoutInt,65535,maxRepetitionsInt,portInt);
SnmpManager snmpUdpv2Manager = new SnmpUdpV2Manager(mibLoaderHolder.getLoader(), "195.218.195.228", "public", 1, 1000, 65535,10, 161); String oid1 = "1.3.6.1.2.1.1.1.0"; snmpUdpv2Manager.init();