use of org.snmp4j.smi.UdpAddress in project opennms by OpenNMS.
the class MockSnmpAgentIT method sendRequestV1V2.
private PDU sendRequestV1V2(PDU pdu, int version) {
PDU response = null;
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(new UdpAddress(InetAddressUtils.addr("127.0.0.1"), m_agent.getPort()));
target.setVersion(version);
TransportMapping<UdpAddress> transport = null;
Snmp snmp = null;
try {
transport = new DefaultUdpTransportMapping();
snmp = new Snmp(transport);
transport.listen();
ResponseEvent e = snmp.send(pdu, target);
response = e.getResponse();
} catch (final IOException e) {
e.printStackTrace();
} finally {
if (snmp != null) {
try {
snmp.close();
} catch (final IOException e) {
e.printStackTrace();
}
}
if (transport != null) {
try {
transport.close();
} catch (final IOException e) {
e.printStackTrace();
}
}
}
return response;
}
use of org.snmp4j.smi.UdpAddress in project opennms by OpenNMS.
the class BrocadeMibIT method sendRequestV1V2.
private PDU sendRequestV1V2(PDU pdu, int version) throws Exception {
PDU response;
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(new UdpAddress(m_agent.getInetAddress(), m_agent.getPort()));
target.setVersion(version);
TransportMapping<UdpAddress> transport = null;
try {
transport = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transport);
transport.listen();
ResponseEvent e = snmp.send(pdu, target);
response = e.getResponse();
} finally {
if (transport != null) {
transport.close();
}
}
return response;
}
use of org.snmp4j.smi.UdpAddress in project opennms by OpenNMS.
the class MockSnmpAgent method initTransportMappings.
/** {@inheritDoc} */
@Override
protected void initTransportMappings() throws IOException {
s_log.info("MockSnmpAgent: starting initTransportMappings()");
try {
final MockUdpTransportMapping mapping = new MockUdpTransportMapping(new UdpAddress(m_address.get()), true);
mapping.setThreadName("MockSnmpAgent-UDP-Transport");
transportMappings = new TransportMapping<?>[] { mapping };
} catch (final IOException e) {
s_log.info("MockSnmpAgent: initTransportMappings() caught an IoException: " + e.getMessage());
m_failure.set(e);
throw e;
} finally {
s_log.info("MockSnmpAgent: finished initTransportMappings()");
}
}
use of org.snmp4j.smi.UdpAddress in project opennms by OpenNMS.
the class MockAgentTest method testWalkSystem.
public void testWalkSystem() throws IOException {
Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
TableUtils walker = new TableUtils(snmp, new DefaultPDUFactory());
snmp.listen();
Address addr = new UdpAddress(InetAddress.getLocalHost(), 9161);
//Address addr = new UdpAddress(InetAddressUtils.addr("192.168.0.100"), 161);
Target target = new CommunityTarget(addr, new OctetString("public"));
target.setVersion(SnmpConstants.version1);
target.setTimeout(3000);
target.setRetries(3);
// Implements snmp4j API
@SuppressWarnings("rawtypes") List results = walker.getTable(target, new OID[] { new OID("1.3.6.1.2.1.1") }, null, null);
assertNotNull(results);
assertFalse(results.isEmpty());
assertTrue(results.get(results.size() - 1) instanceof TableEvent);
TableEvent lastEvent = (TableEvent) results.get(results.size() - 1);
MockUtil.println("Status of lastEvent is " + lastEvent.getStatus());
assertEquals(TableEvent.STATUS_OK, lastEvent.getStatus());
}
use of org.snmp4j.smi.UdpAddress in project openhab1-addons by openhab.
the class SnmpBinding method listen.
/**
* Configures a {@link DefaultUdpTransportMapping} and starts listening on
* <code>SnmpBinding.port</code> for incoming SNMP Traps.
*/
private void listen() {
UdpAddress address = new UdpAddress(SnmpBinding.port);
try {
if (transport != null) {
transport.close();
transport = null;
}
if (snmp != null) {
snmp.close();
snmp = null;
}
transport = new DefaultUdpTransportMapping(address);
// add all security protocols
SecurityProtocols.getInstance().addDefaultProtocols();
SecurityProtocols.getInstance().addPrivacyProtocol(new Priv3DES());
// Create Target
if (SnmpBinding.community != null) {
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString(SnmpBinding.community));
}
snmp = new Snmp(transport);
transport.listen();
logger.debug("SNMP binding is listening on " + address);
} catch (IOException ioe) {
logger.error("SNMP binding couldn't listen to " + address, ioe);
}
}
Aggregations