📜 ⬆️ ⬇️

Java is easy! Java and SNMP

I looked at the not too voluminous blog JAVA and decided that it was necessary to raise its rating. In addition, many manufacturers complain that "Habr is not the same." There was an idea to write a series of articles promoting the idea that JAVA is easy! I work in the environment of integrators (we take ready-made “fat” systems, connect them into a single complex and sell), and often there is a situation when something cannot be solved by means of integrable systems. Then colleagues set the searchlight in the night sky and I go to help them :). Therefore, it is often necessary to use java in various aspects. Let's start with working with SNMP . SNMP is used to manage the network.

/*
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
  /* 
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
/*
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
  /* 
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
/*
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
  /* 
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
/*
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
  /* 
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
/*
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
  /* 
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
/*
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }
  /* 
:
SNMP - .
:
snmp4j :
*/
import java.io.IOException; import org.snmp4j.CommandResponder; import org.snmp4j.CommandResponderEvent; import org.snmp4j.CommunityTarget; import org.snmp4j.PDU; import org.snmp4j.Snmp; import org.snmp4j.TransportMapping; import org.snmp4j.mp.SnmpConstants; import org.snmp4j.smi.Address; import org.snmp4j.smi.GenericAddress; import org.snmp4j.smi.OctetString; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class snmpt extends Thread{ /* , .*/ private Snmp snmp = null; private Address targetAddress = GenericAddress.parse("udp:127.0.0.1/162"); private TransportMapping transport = null; /* SNMP . .*/ public snmpt() throws Exception{ transport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); CommandResponder trapPrinter = new CommandResponder() { public synchronized void processPdu(CommandResponderEvent e){ PDU command = e.getPDU(); /* (.1234567890). PDU SNMP .*/ if (command != null) { System.out.println(" : " +command.toString()); } } }; snmp.addNotificationListener(targetAddress, trapPrinter); } /* . targetAddress.*/ public void send(){ // setting up target CommunityTarget c_target = new CommunityTarget(); c_target.setCommunity(new OctetString("public")); c_target.setAddress(targetAddress); c_target.setRetries(2); c_target.setTimeout(1500); c_target.setVersion( SnmpConstants.version2c); PDU pdu = new PDU(); pdu.setType(PDU.INFORM); pdu.add(new VariableBinding(SnmpConstants.snmpTrapEnterprise)); pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress)); try { snmp.send(pdu, c_target, transport); } catch (IOException ex2) { ex2.printStackTrace(); } } /* , , .*/ public static void main(String[] args) throws Exception{ snmpt s = new snmpt(); s.start(); s.send(); System.out.println(0); } /* . trapPrinter*/ public void run() { while(true) try{ this.sleep(1000000); }catch (Exception e) { e.printStackTrace(); } } }

Just delighted with the logic of JAVA and its functionality!
The “listener” pattern is used, so our code is almost identical to the code when working with events in the GUI. And this is one of the greatest virtues of this language - strict adherence to certain patterns in all its aspects. Everything is laid out on the shelves and ready to use. Such an order in the standard libraries you want, you don't want to force developers to also write the "correct" code. Therefore, most frameworks are also implemented as a concise extension of the functions and principles of JavaEE.

To be continued…

')

Source: https://habr.com/ru/post/39643/


All Articles