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

📄 gettable.java

📁 很不错java的SNMP应用例子
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		      if (String.valueOf(response).indexOf("1.3.6.1.6.3.15.1.1.5.0")>=0){
			   	 //walkRealizado = walkRealizado.concat("Error: La clave y/o el algoritmo de autenticaci髇 proporcionados son incorrectos...\n");
			   	 walkRealizado = walkRealizado.concat(erroresGenerales09);
			  }else{
			    if (String.valueOf(response).indexOf("1.3.6.1.6.3.15.1.1.6.0")>=0){
			   	  //walkRealizado = walkRealizado.concat("Error: La clave y/o el algoritmo de encriptaci髇 proporcionados son incorrectos...\n");
			   	  walkRealizado = walkRealizado.concat(erroresGenerales10);
			    }else{
		      	  //System.out.println("Error: Tiempo de espera excedido...\nError 1 - "+response);
				  //walkRealizado = walkRealizado.concat("Error: Tiempo de espera excedido...\n");
				  walkRealizado = walkRealizado.concat(erroresGenerales11);
			    }
		      }	
		    }
		    
			return true;
		}
		boolean finished = false;
		OID lastOID = request.get(0).getOid();
		for (int i=0; (!finished) && (i<response.size()); i++) {
			VariableBinding vb = response.get(i);
			if ((vb.getOid() == null) || (vb.getOid().size() < rootOID.size())|| (rootOID.leftMostCompare(rootOID.size(), vb.getOid()) != 0)) {
				//System.out.println("Error 2 - "+vb.getOid());
				//System.out.println("Error 2 - "+vb.getOid().size());
				//System.out.println("Error 2 - "+rootOID);
				//System.out.println("Error 2 - "+rootOID.size());
				//System.out.println("Error 2 - "+rootOID.leftMostCompare(rootOID.size(), vb.getOid()));
				//System.out.println("Error 2 - "+response);
				if ((rootOID.leftMostCompare(rootOID.size(), vb.getOid()))>0){
				  //System.out.println("Error: El OID especificado es mayor que el mayor OID de la MIB consultada...\nError 2 - "+response);
				  walkRealizado = walkRealizado.concat(erroresGenerales12);
				}
				finished = true;
			} else {
			  if (Null.isExceptionSyntax(vb.getVariable().getSyntax())) {
				walkRealizado = walkRealizado.concat(vb.toString()+"\n");
				//System.out.println(vb.toString());
				//System.out.println("Error 3 - "+response);
				finished = true;
			  }else{
				if (vb.getOid().compareTo(lastOID) <= 0) {
				  //System.out.println("La variable recibida no es sucesora de la requerida:");
				  //System.out.println(vb.toString() + " <= "+lastOID);
				  walkRealizado = walkRealizado.concat(erroresGenerales13);
				  walkRealizado = walkRealizado.concat(vb.toString() + " <= "+lastOID+"\n");
				  //System.out.println("Error 4 - "+response);
				  finished = true;
				  
			    }else{
				  //Aqui se imprime el mensaje ppal
				  //System.out.println("request: "+request);
				  //System.out.println("response: "+response);
				  //System.out.println(vb.getVariable());
				  
				  //walkRealizado = walkRealizado.concat(vb.toString()+"\n");
				  walkRealizado = walkRealizado.concat(String.valueOf(vb.getVariable())+";");
				  lastOID = vb.getOid();
				  
				  //MibValueSymbol  symbolTemp = mib.getSymbolByOid("1.3.6.1.2.1.3.1.1.3");
	      		  //System.out.println("datos de ahora: "+symbolTemp);
	      		  //System.out.println("valor de getName: "+(MibTreeBuilder.getInstance().getNode(symbolTemp)).getName());
				  
			    }
			  }
			}
		}
		if (response.size() == 0) {
			//System.out.println("Error 5 - "+response);
			finished = true;
		}
		if (!finished) {
			//System.out.println("Error 6 - "+response);
			VariableBinding next = response.get(response.size()-1);
			next.setVariable(new Null());
			request.set(0, next);
			request.setRequestID(new Integer32(0));
		}
		return finished;
  }
	
  public int[] pasarOID(String OID){
	  	int digitos=0;
		StringTokenizer Token = new StringTokenizer (OID,".");
		while(Token.hasMoreTokens()){
		  Token.nextToken();
		  digitos++;	
		}
	  	int tama駉=digitos;
	  	int requerimiento[] = new int[tama駉];
		int i=0;
		StringTokenizer Token1 = new StringTokenizer (OID,".");
		while(Token1.hasMoreTokens()){
		  requerimiento[i]=Integer.parseInt(Token1.nextToken());
		  i++;
		}
		return requerimiento;
  }

  private Vector nombreColumnas;
  	
  public Vector getNombreColumnas(){
  	return nombreColumnas;
  }
  
  public void limpiarNombreColumnas(){
  	nombreColumnas=null;
  }

  private String errores = "";
  
  public String getErrores(){
  	return errores;
  }
  
  public void limpiarErrores(){
  	errores = "";
  }

  public Vector getTablev1(String ip, String puerto, String comunidad, int intentos, int tiempoEspera, int[] requerimiento,long limite){
  	Vector respuesta = new Vector();
  	//Vector interno = new Vector();
  	Vector interno;
  	nombreColumnas = new Vector();
  	
  	OID oidPpal = new OID(requerimiento);
  	OID oidEntry = oidPpal;
  	oidEntry.append(1);
  	boolean termino = false;
  	int i=1;
  	
  	while(!termino){
  	  OID oidTemp = oidEntry;
  	  oidTemp.append(i);
  	  walkSNMPv1(ip,puerto,comunidad,intentos,tiempoEspera,oidTemp,limite);
  	  String resultado = getWalkRealizado();
  	  //System.out.println("Columna: "+oidTemp+" valor de i: "+i+" - valores: "+resultado);
  	  limpiarWalkRealizado();
  	  if(resultado.indexOf("Error")!=(-1)){
  	  	termino=true;
  	  	errores=resultado;
  	  	//System.out.println("-error- "+resultado);
  	  }else{
  	  	interno = new Vector();
  	  	//se a馻de el resultado al vector para indicar la columna
  	  	String paraAdd = resultado;
  	  	//System.out.println("Columna "+i+": "+String.valueOf(oidTemp)+": "+paraAdd);
  	  	StringTokenizer Token = new StringTokenizer (paraAdd,";");
		while(Token.hasMoreTokens()){
		  //Se a馻den los datos de la columna al vector columna
		  String dato = String.valueOf(Token.nextToken());
		  //System.out.println("se va a a馻dir un: "+dato);
		  interno.addElement(dato);
		}
		//System.out.println(interno.size());
		//se a馻den las columnas al vector general
  	  	respuesta.addElement(interno);
  	  	//se a馻de el OID de la columna al vector nombre de columnas
  	  	nombreColumnas.addElement(String.valueOf(oidTemp));
  	  	i++;	
  	    oidTemp.removeLast();
  	    //interno.removeAllElements();
  	  }
  	}
  	
	//System.out.println("El tama駉 de l arespuesta es de: "+respuesta.size());
  	return respuesta;
  }
  							
  public Vector getTablev2c(String ip, String puerto, String comunidad, int intentos, int tiempoEspera, int[] requerimiento,long limite){
  	Vector respuesta = new Vector();
  	//Vector interno = new Vector();
  	Vector interno;
  	nombreColumnas = new Vector();
  	
  	OID oidPpal = new OID(requerimiento);
  	OID oidEntry = oidPpal;
  	oidEntry.append(1);
  	boolean termino = false;
  	int i=1;
  	
  	while(!termino){
  	  OID oidTemp = oidEntry;
  	  oidTemp.append(i);
  	  walkSNMPv2c(ip,puerto,comunidad,intentos,tiempoEspera,oidTemp,limite);
  	  String resultado = getWalkRealizado();
  	  //System.out.println("Columna: "+oidTemp+" valor de i: "+i+" - valores: "+resultado);
  	  limpiarWalkRealizado();
  	  if(resultado.indexOf("Error")!=(-1)){
  	  	termino=true;
  	  	errores=resultado;
  	  	//System.out.println("-error- "+resultado);
  	  }else{
  	  	interno = new Vector();
  	  	//se a馻de el resultado al vector para indicar la columna
  	  	String paraAdd = resultado;
  	  	//System.out.println("Columna "+i+": "+String.valueOf(oidTemp)+": "+paraAdd);
  	  	StringTokenizer Token = new StringTokenizer (paraAdd,";");
		while(Token.hasMoreTokens()){
		  //Se a馻den los datos de la columna al vector columna
		  String dato = String.valueOf(Token.nextToken());
		  //System.out.println("se va a a馻dir un: "+dato);
		  interno.addElement(dato);
		}
		//System.out.println(interno.size());
		//se a馻den las columnas al vector general
  	  	respuesta.addElement(interno);
  	  	//se a馻de el OID de la columna al vector nombre de columnas
  	  	nombreColumnas.addElement(String.valueOf(oidTemp));
  	  	i++;	
  	    oidTemp.removeLast();
  	    //interno.removeAllElements();
  	  }
  	}
  	
	//System.out.println("El tama駉 de l arespuesta es de: "+respuesta.size());
  	return respuesta;
  }
  						   
  public Vector getTablev3(String ip, String puerto, String nombreUsuario, String claveAutenticacion, String claveEncriptacion, int SecurityLevel, int intentos, int tiempoEspera, int[] requerimiento,long limite, OID metAut, OID metPriv){
  	Vector respuesta = new Vector();
  	//Vector interno = new Vector();
  	Vector interno;
  	nombreColumnas = new Vector();
  	
  	OID oidPpal = new OID(requerimiento);
  	OID oidEntry = oidPpal;
  	oidEntry.append(1);
  	boolean termino = false;
  	int i=1;
  	
  	while(!termino){
  	  OID oidTemp = oidEntry;
  	  oidTemp.append(i);
  	  			 
  	  walkSNMPv3(ip,puerto,nombreUsuario,claveAutenticacion,claveEncriptacion,SecurityLevel,intentos,tiempoEspera,oidTemp,limite,metAut,metPriv);
  	  String resultado = getWalkRealizado();
  	  //System.out.println("Columna: "+oidTemp+" valor de i: "+i+" - valores: "+resultado);
  	  limpiarWalkRealizado();
  	  if(resultado.indexOf("Error")!=(-1)){
  	  	termino=true;
  	  	errores=resultado;
  	  	//System.out.println("-error- "+resultado);
  	  }else{
  	  	interno = new Vector();
  	  	//se a馻de el resultado al vector para indicar la columna
  	  	String paraAdd = resultado;
  	  	//System.out.println("Columna "+i+": "+String.valueOf(oidTemp)+": "+paraAdd);
  	  	StringTokenizer Token = new StringTokenizer (paraAdd,";");
		while(Token.hasMoreTokens()){
		  //Se a馻den los datos de la columna al vector columna
		  String dato = String.valueOf(Token.nextToken());
		  //System.out.println("se va a a馻dir un: "+dato);
		  interno.addElement(dato);
		}
		//System.out.println(interno.size());
		//se a馻den las columnas al vector general
  	  	respuesta.addElement(interno);
  	  	//se a馻de el OID de la columna al vector nombre de columnas
  	  	nombreColumnas.addElement(String.valueOf(oidTemp));
  	  	i++;	
  	    oidTemp.removeLast();
  	    //interno.removeAllElements();
  	  }
  	}
  	
	//System.out.println("El tama駉 de l arespuesta es de: "+respuesta.size());
  	return respuesta;
  }

	
  public static void main(String[] args){
  	  	
		getTable p = new getTable();
		int requerimiento[] = p.pasarOID(".1.3.6.1.2.1");
		String ip = "192.168.0.5";
		String puerto = "161";
		String comunidad = "public";
		int intentos = 3;
		int tiempoEspera = 1500;
		long limite = 0;
		
		//requerimiento = p.pasarOID(".1.3.6.1.2.1.1");
		//requerimiento = p.pasarOID(".1.3.6.1.2.1.4.22");
		//requerimiento = p.pasarOID("111");
		requerimiento = p.pasarOID(".1.3.6.1.2.1.4.22");
		
		
		//p.walkSNMPv1(ip,puerto,comunidad,intentos,tiempoEspera,requerimiento,100);
		
		p.getTablev1(ip,puerto,comunidad,intentos,tiempoEspera,requerimiento,limite);
		
		//p.walkSNMPv1(ip,puerto,comunidad,intentos,tiempoEspera,requerimiento,limite);
		//System.out.println("\nIMPRESION DE LA VARIABLE WALK REALIZADO: -SNMPv1-\n\n"+p.getWalkRealizado()+"\n\nfin del comando");
		//p.limpiarWalkRealizado();
		
		//p.walkSNMPv2c(ip, puerto, comunidad, intentos, tiempoEspera,requerimiento,10);
		//System.out.println("\n\n\nIMPRESION DE LA VARIABLE WALK REALIZADO: -SNMPv2c-\n\n\n"+p.getWalkRealizado());
		//p.walkSNMPv2c(ip, puerto, comunidad, intentos, tiempoEspera,requerimiento,limite);
		//p.limpiarWalkRealizado();
		
		//String nombreUsuario = "seminario";
		//String claveAutenticacion = "12345678";
		//String claveEncriptacion = "12345678";
				
		//p.walkSNMPv3(ip,puerto,nombreUsuario,claveAutenticacion,claveEncriptacion,SecurityLevel.AUTH_PRIV,intentos,tiempoEspera,requerimiento,limite,AuthMD5.ID,PrivDES.ID);
		//System.out.println("\n\n\nIMPRESION DE LA VARIABLE WALK REALIZADO: -SNMPv3-\n\n\n"+p.getWalkRealizado());
		//p.limpiarWalkRealizado();
		//p.walkSNMPv3(ip,puerto,nombreUsuario,claveAutenticacion,claveEncriptacion,SecurityLevel.AUTH_NOPRIV,intentos,tiempoEspera,requerimiento,limite);
		//System.out.println("\n\n\nIMPRESION DE LA VARIABLE WALK REALIZADO\n\n\n"+p.getWalkRealizado());
		//p.walkSNMPv3(ip,puerto,nombreUsuario,claveAutenticacion,claveEncriptacion,SecurityLevel.AUTH_PRIV,intentos,tiempoEspera,requerimiento,10);
		//System.out.println("\n\n\nIMPRESION DE LA VARIABLE WALK REALIZADO: -SNMPv3 / encriptado-\n\n\n"+p.getWalkRealizado());
		//p.walkSNMPv3(ip,puerto,nombreUsuario,claveAutenticacion,claveEncriptacion,SecurityLevel.AUTH_PRIV,intentos,tiempoEspera,requerimiento,limite);
		//p.limpiarWalkRealizado();

		//System.out.println("\n\n\nIMPRESION DE LA VARIABLE WALK REALIZADO\n\n\n"+p.getWalkRealizado());
  }
}

⌨️ 快捷键说明

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