⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snmpv3.java

📁 很不错java的SNMP应用例子
💻 JAVA
字号:
/*
 *		SNMPv3 - Status: LISTO!!!
 */
package versiones.SNMPv3;
 
import java.io.*;
import java.util.*;
 
import org.snmp4j.*;
import org.snmp4j.event.*;
import org.snmp4j.log.*;
import org.snmp4j.mp.*;
import org.snmp4j.security.*;
import org.snmp4j.smi.*;
import org.snmp4j.asn1.*;
import org.snmp4j.test.*;
import org.snmp4j.tools.console.*;
import org.snmp4j.transport.*;
import org.snmp4j.util.*;

public class SNMPv3{

  private String erroresGenerales04 = "\n Tiempo de espera excedido...\n";
  private String erroresGenerales29 = " Error: El usuario no se encuentra en el Agente...\n";
  private String erroresGenerales30 = " Error: La clave y/o el algoritmo de autenticaci髇 proporcionados son incorrectos...\n";
  private String erroresGenerales31 = " Error: La clave y/o el algoritmo de encriptaci髇 proporcionados son incorrectos...\n";

  public void cambiarIdiomaAMensajes(String s04,String s29,String s30,String s31){
  	erroresGenerales04 = s04;
  	erroresGenerales29 = s29;
    erroresGenerales30 = s30;
    erroresGenerales31 = s31; 
  }
	
  private Snmp snmp = null;
  private static String dato;  
  
  public String getBulkv3(String ip, String puerto, String nombreUsuario, String claveAutenticacion, String claveEncriptacion, int SecurityLevel,int intentos, int tiempoEspera, Vector requerimiento,int NonRepeaters, int MaxRepetitions, OID metAut, OID metPriv){
    
    String respuesta = "";
    try{
	    Address targetAddress = GenericAddress.parse("udp:"+ip+"/"+puerto);
	    TransportMapping transport = new DefaultUdpTransportMapping();
	   	snmp = new Snmp(transport);
	   	USM usm = new USM(SecurityProtocols.getInstance(),new OctetString(MPv3.createLocalEngineID()), 0);
	   	SecurityModels.getInstance().addSecurityModel(usm);
	   	transport.listen();
	   		
	   	// a馻dir el usuario al USM
	   	//snmp.getUSM().addUser(new OctetString("default"),new UsmUser(new OctetString("default"),AuthMD5.ID,new OctetString("12345678"),PrivDES.ID,new OctetString("MD5DESUserPrivPassword")));
	   	//snmp.getUSM().addUser(new OctetString("seminario"),new UsmUser(new OctetString("seminario"),AuthMD5.ID,new OctetString("12345678"),PrivDES.ID,new OctetString("12345678")));
	   	//snmp.getUSM().addUser(new OctetString("seminario"),new UsmUser(new OctetString("seminario"),AuthMD5.ID,new OctetString("12345678"),null,null));
/*	   	if (claveEncriptacion==null){
	   	  snmp.getUSM().addUser(new OctetString(nombreUsuario),new UsmUser(new OctetString(nombreUsuario),AuthMD5.ID,new OctetString(claveAutenticacion),null,null));	
	   	}else{
	   	  snmp.getUSM().addUser(new OctetString(nombreUsuario),new UsmUser(new OctetString(nombreUsuario),AuthMD5.ID,new OctetString(claveAutenticacion),PrivDES.ID,new OctetString(claveEncriptacion)));
	   	}*/
	   	if (claveEncriptacion==null){
	   	  snmp.getUSM().addUser(new OctetString(nombreUsuario),new UsmUser(new OctetString(nombreUsuario),metAut,new OctetString(claveAutenticacion),null,null));	
	   	}else{
	   	  snmp.getUSM().addUser(new OctetString(nombreUsuario),new UsmUser(new OctetString(nombreUsuario),metAut,new OctetString(claveAutenticacion),metPriv,new OctetString(claveEncriptacion)));
	   	}	   	
	   	
	   	// establecer los parametros
		UserTarget target = new UserTarget();
		target.setAddress(targetAddress);
		target.setRetries(intentos);
		target.setTimeout(tiempoEspera);
		target.setVersion(SnmpConstants.version3);
		target.setSecurityLevel(SecurityLevel);
		//target.setSecurityLevel(SecurityLevel.AUTH_PRIV);
		target.setSecurityName(new OctetString(nombreUsuario));
		
		// creando la PDU
		PDU pdu = new ScopedPDU();
		for (int i=0;i<(requerimiento.size());i++){
      	  //System.out.println("dato"+i+": "+String.valueOf(requerimiento.get(i)));	
      	  pdu.add(new VariableBinding(new OID(String.valueOf(requerimiento.get(i)))));
    	}
	    pdu.setType(PDU.GETBULK);
	    pdu.setNonRepeaters(NonRepeaters);//0 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -