org.snmp4j.Target Java Examples
The following examples show how to use
org.snmp4j.Target.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SNMPClient.java From mysql_perf_analyzer with Apache License 2.0 | 6 votes |
/** * This method returns a Target, which contains information about * where the data should be fetched and how. * @return */ private Target getTarget() { if("3".equals(this.version))return getTargetV3(); Address targetAddress = GenericAddress.parse(address); CommunityTarget target = new CommunityTarget(); //logger.info("snmp version "+this.version+", community: "+this.community); if(this.community == null || this.community.isEmpty()) target.setCommunity(new OctetString("public")); else target.setCommunity(new OctetString(this.community)); target.setAddress(targetAddress); target.setRetries(2); target.setTimeout(5000); target.setVersion(this.getVersionInt()); return target; }
Example #2
Source File: SNMPClient.java From mysql_perf_analyzer with Apache License 2.0 | 6 votes |
private Target getTargetV3() { //logger.info("Use SNMP v3, "+this.privacyprotocol +"="+this.password+", "+this.privacyprotocol+"="+this.privacypassphrase); OID authOID = AuthMD5.ID; if("SHA".equals(this.authprotocol)) authOID = AuthSHA.ID; OID privOID = PrivDES.ID; if(this.privacyprotocol == null || this.privacyprotocol.isEmpty()) privOID = null; UsmUser user = new UsmUser(new OctetString(this.username), authOID, new OctetString(this.password), //auth privOID, this.privacypassphrase!=null?new OctetString(this.privacypassphrase):null); //enc snmp.getUSM().addUser(new OctetString(this.username), user); Address targetAddress = GenericAddress.parse(address); UserTarget target = new UserTarget(); target.setAddress(targetAddress); target.setRetries(2); target.setTimeout(1500); target.setVersion(this.getVersionInt()); if(privOID != null) target.setSecurityLevel(SecurityLevel.AUTH_PRIV); else target.setSecurityLevel(SecurityLevel.AUTH_NOPRIV); target.setSecurityName(new OctetString(this.username)); return target; }
Example #3
Source File: SNMPHelper.java From SuitAgent with Apache License 2.0 | 5 votes |
/** * 获取指定OID的 get * * @param snmp * @param target * @param oid * @return * @throws IOException */ public static PDU snmpGet(Snmp snmp, Target target, String oid) throws IOException { ScopedPDU pdu = new ScopedPDU(); pdu.setType(PDU.GET); pdu.add(new VariableBinding(new OID(oid))); ResponseEvent responseEvent = snmp.send(pdu, target); PDU response = responseEvent.getResponse(); if(response == null){ log.warn("response null - error:{} peerAddress:{} source:{} request:{}", responseEvent.getError(), responseEvent.getPeerAddress(), responseEvent.getSource(), responseEvent.getRequest()); } return response; }
Example #4
Source File: SNMPHelper.java From OpenFalcon-SuitAgent with Apache License 2.0 | 5 votes |
/** * 获取指定OID的 get * * @param snmp * @param target * @param oid * @return * @throws IOException */ public static PDU snmpGet(Snmp snmp, Target target, String oid) throws IOException { ScopedPDU pdu = new ScopedPDU(); pdu.setType(PDU.GET); pdu.add(new VariableBinding(new OID(oid))); ResponseEvent responseEvent = snmp.send(pdu, target); PDU response = responseEvent.getResponse(); if(response == null){ log.warn("response null - error:{} peerAddress:{} source:{} request:{}", responseEvent.getError(), responseEvent.getPeerAddress(), responseEvent.getSource(), responseEvent.getRequest()); } return response; }
Example #5
Source File: SNMPHelper.java From SuitAgent with Apache License 2.0 | 4 votes |
/** * walk方式获取指定的oid value * * @param snmp * @param target * @param oid * @return * @throws IOException */ public static List<PDU> snmpWalk(Snmp snmp, Target target, String oid) throws IOException { List<PDU> pduList = new ArrayList<>(); ScopedPDU pdu = new ScopedPDU(); OID targetOID = new OID(oid); pdu.add(new VariableBinding(targetOID)); boolean finished = false; while (!finished) { VariableBinding vb = null; ResponseEvent respEvent = snmp.getNext(pdu, target); PDU response = respEvent.getResponse(); if (null == response) { break; } else { vb = response.get(0); } // check finish finished = checkWalkFinished(targetOID, pdu, vb); if (!finished) { pduList.add(response); // Set up the variable binding for the next entry. pdu.setRequestID(new Integer32(0)); pdu.set(0, vb); } } return pduList; }
Example #6
Source File: ProcessMessage.java From mts with GNU General Public License v3.0 | 4 votes |
public void onResponse(ResponseEvent re) { // Always cancel async request when response has been received // otherwise a memory leak is created! Not canceling a request // immediately can be useful when sending a request to a broadcast // address. try { Object source = re.getSource(); // test to ignore REPORTS from DISCOVERY messages in SNMPv3 if (!(source instanceof Snmp)) return; ((Snmp) source).cancel(re.getRequest(), this); //create the SnmpMsg received MsgSnmp msg = new MsgSnmp(listenpoint.getStack()); msg.setPdu(re.getResponse()); //TODO: how to know the version here to set communityTarget or UserTarget Target target = new CommunityTarget(); // ((CommunityTarget)target).setCommunity(new OctetString(re.getStateReference().getSecurityName())); target.setAddress(re.getPeerAddress()); msg.setTarget((AbstractTarget)target); UdpAddress add = (UdpAddress) re.getPeerAddress(); msg.setRemotePort(add.getPort()); msg.setRemoteHost(add.getInetAddress().getHostAddress()); msg.setListenpoint(listenpoint); StackFactory.getStack(StackFactory.PROTOCOL_SNMP).receiveMessage(msg); } catch (Exception ex) { } }
Example #7
Source File: SNMPHelper.java From OpenFalcon-SuitAgent with Apache License 2.0 | 4 votes |
/** * walk方式获取指定的oid value * * @param snmp * @param target * @param oid * @return * @throws IOException */ public static List<PDU> snmpWalk(Snmp snmp, Target target, String oid) throws IOException { List<PDU> pduList = new ArrayList<>(); ScopedPDU pdu = new ScopedPDU(); OID targetOID = new OID(oid); pdu.add(new VariableBinding(targetOID)); boolean finished = false; while (!finished) { VariableBinding vb = null; ResponseEvent respEvent = snmp.getNext(pdu, target); PDU response = respEvent.getResponse(); if (null == response) { break; } else { vb = response.get(0); } // check finish finished = checkWalkFinished(targetOID, pdu, vb); if (!finished) { pduList.add(response); // Set up the variable binding for the next entry. pdu.setRequestID(new Integer32(0)); pdu.set(0, vb); } } return pduList; }
Example #8
Source File: SNMPHelper.java From SuitAgent with Apache License 2.0 | 2 votes |
/** * 获取指定OID的 getNext * * @param snmp * @param target * @param oid * @return * @throws IOException */ public static PDU snmpGetNext(Snmp snmp, Target target, String oid) throws IOException { ScopedPDU pdu = new ScopedPDU(); pdu.setType(PDU.GETNEXT); pdu.add(new VariableBinding(new OID(oid))); ResponseEvent responseEvent = snmp.send(pdu, target); return responseEvent.getResponse(); }
Example #9
Source File: SNMPHelper.java From OpenFalcon-SuitAgent with Apache License 2.0 | 2 votes |
/** * 获取指定OID的 getNext * * @param snmp * @param target * @param oid * @return * @throws IOException */ public static PDU snmpGetNext(Snmp snmp, Target target, String oid) throws IOException { ScopedPDU pdu = new ScopedPDU(); pdu.setType(PDU.GETNEXT); pdu.add(new VariableBinding(new OID(oid))); ResponseEvent responseEvent = snmp.send(pdu, target); return responseEvent.getResponse(); }