📄 gettable.java
字号:
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 + -