📄 managersnmp.java
字号:
/*
*
* The software was developed in UCV (Universidad Central de Venezuela)
* as the final project to obtain the Bachelor of Science (Licenciatura)
* in Computer Science, by:
*
* Gustavo Ayala (gustavoucv@yahoo.com.mx)
* Pablo Poskal (pabloposkal@gmail.com)
*
* Advisor:
*
* Prof. Eric Gamess (egamess@kuaimare.ciens.ucv.ve)
*
* This software uses SNMP4J and Mibble libraries.
* See http://www.snmp4j.org and http://www.mibble.org for information.
*
* To add a new language, you have to:
* - Go to line 81 and follow the instruccions.
*
*/
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.net.*;
//Para importar las mibs
import net.percederberg.mibble.*;
import net.percederberg.mibble.value.*;
import mibblebrowser.MibNode;
import mibblebrowser.MibTreeBuilder;
//Para dibujar el mib browser
import javax.swing.tree.*;
//Para usar las versiones y comandos de snmp
import versiones.SNMPv1.SNMPv1;
import versiones.SNMPv2c.SNMPv2c;
import versiones.SNMPv3.SNMPv3;
import versiones.TrapInform.enviarTrapInform;
import versiones.TrapInform.recibirTrapInform;
import versiones.WALK.walk;
import versiones.GetTable.getTable;
//Para usar los comandos de la biblioteca snmp4j
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 managerSNMP extends JFrame {
private String nombreDelPrograma = "SNMP JManager 1.0";
//////////////////////////////////
private JFrame jframe;
//////////////////////////////////
private JPanel jpanel;
//////////////////////////////////
private JMenuBar jmenubar;
private JMenu jm_archivo,jm_ayuda;
private JMenuItem jmi_salir,jmi_acerca,jmi_ayudaAyuda;
private JOptionPane mensaje;
private JPanel jp_versiones,jp_toolbar;
private JTabbedPane jtp_versiones;
private JLabel jl_snmpv1_sel;
private JComboBox jcb_snmpv1_sel;
private JLabel jl_idioma;
private JButton jb_idiomaEs,jb_idiomaEn;
//private JButton jb_newLanguage; // Here define the name of the button for the language. Then go to line 7118
private String acercaDe="",acercaDeTitulo="";
private String ConfigurarParametros = "Configurar Par醡etros";
private String ComandoGet = "Comando Get";
private String ComandoGetNext = "Comando GetNext";
private String ComandoGetBulk = "Comando GetBulk";
private String ComandoGetTable = "Comando GetTable";
private String ComandoWalk = "Comando Walk";
private String ComandoSet = "Comando Set";
private String EnviarVerTraps = "Enviar/Ver Traps";
///////////////PANEL DEL MIBTREE
private JPanel jp_mibtree;
private JScrollPane jsp_mibtree;
private JButton jb_mibtree;
///////////////////////////////////
private JPanel snmpv1,jp_comSNMPv1,jp_snmpv1_Con,jp_snmpv1_Get,jp_snmpv1_GetNext,jp_snmpv1_Set,jp_snmpv1_Traps,jp_snmpv1_getTable;
private JPanel jp_snmpv1_TrapsSend;
private JComboBox jcb_snmpv1_TrapSel;
private JLabel jl_snmpv1_TrapSndTipo,jl_snmpv1_TrapSndHost,jl_snmpv1_TrapSndVarBin;
private JTextField jtf_snmpv1_TrapSndHostIP,jtf_snmpv1_TrapSndVarBin;
private JTabbedPane jtp_snmpv1;
private String IP = "";
private long pto = 161;
private String comEsc = "private";
private String comLec = "public";
private int inten = 3;
private int timeOut = 1500;
private String OID = "";
private int NonRepeaters = 0;
private int MaxRepetitions = 10;
private String user = "usuario";
private String claveAut = "12345678";
private String clavePriv = "12345678";
//////////////////////////////////////
private OID metAut=AuthMD5.ID;
private OID metPriv=PrivDES.ID;
//----------------Inicio SNMPv1-----------------------------------------------------------------------------------------
///////////////////Pantalla parametros\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JLabel jl_snmpv1_IP,jl_snmpv1_pto,jtf_snmpv1_comEsc,jl_snmpv1_comLec,jl_snmpv1_inten,jl_snmpv1_timeOut, jl_snmpv1_VerCom;
private JTextField jtf_snmpv1_IP,jtf_snmpv1_pto,jtf_snmv1_inten,jtt_snmpv1_timeOut;
private JPasswordField jpf_snmpv1_comEsc, jtf_snmpv1_comLec;
private JButton jb_snmpv1_aplicarPara;
private JComboBox jcb_snmpv1_VerCom;
//////////////////Pantalla de los Traps\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JTextArea jta_snmpv1_traps;
private JScrollPane jsp_snmpv1_traps;
private recibirTrapInform traps = null;
private JTextField jtf_snmpv1_PtoComTxt, jtf_snmpv1_ComTxt, jtf_snmpv1_IntTxt, jtf_snmpv1_TmoutTxt, jtf_snmpv1_EntTxt, jtf_snmpv1_TrapSpcTxt;
private JLabel jl_snmpv1_PtoCom, jl_snmpv1_Com, jl_snmpv1_Int, jl_snmpv1_Timeout, jl_snmpv1_Enter, jl_snmpv1_TrapSpc;
private JButton jb_SndTrap;
//////////////////Pantalla del Get
private JScrollPane jsp_snmpv1_get,jsp_snmpv1_getDescrip,jsp_snmpv1_getResp;
private JButton jb_snmpv1_getImpMib,jb_snmpv1_getGet,jb_snmpv1_add,jb_snmpv1_undo;
private JTextArea jta_snmpv1_getDescrip,jta_snmpv1_getResp;
private JTextField jtf_snmpv1_getGet,jtf_snmpv1_getObjs;
private JLabel jl_snmpv1_getEtiGet,jl_snmpv1_getObjs;
private Vector compuestoGetSNMPv1; //Para pasar los multiples parametros
private Vector compuestoGetSNMPv1Temp;
//////////////////Pantalla del GetNext
private JScrollPane jsp_snmpv1_GetNext,jsp_snmpv1_GetNextDescrip,jsp_snmpv1_GetNextResp;
private JButton jb_snmpv1_GetNextImpMib,jb_snmpv1_GetNextGetNext,jb_snmpv1_GetNext_add,jb_snmpv1_GetNextUndo;
private JTextArea jta_snmpv1_GetNextDescrip,jta_snmpv1_GetNextResp;
private JTextField jtf_snmpv1_GetNextGetNext,jtf_snmpv1_getNextObjs;
private JLabel jl_snmpv1_GetNextEtiGetNext,jl_snmpv1_getNextObjs;
private Vector compuestoGetNextSNMPv1; //Para pasar los multiples parametros
private Vector compuestoGetNextSNMPv1Temp;
//////////////////Pantalla del Set
private JScrollPane jsp_snmpv1_SetDescrip,jsp_snmpv1_SetResp;
private JTextArea jta_snmpv1_SetDescrip,jta_snmpv1_SetResp;
private JTextField jtf_snmpv1_SetSet,jtf_snmpv1_SetSetValor,jtf_snmpv1_SetSetTipo,jtf_snmpv1_setObjs;
private JLabel jl_snmpv1_SetEtiSet,jl_snmpv1_SetEtiSetValor,jl_snmpv1_SetEtiSetTipo, jl_snmpv1_SetEtiTipo,jl_snmpv1_setObjs;
private JButton jb_snmpv1_SetSet,jb_snmpv1_setUndo,jb_snmpv1_setAdd;
private String tipoDatoReconocido=null;
private boolean reconocido=false;
private JComboBox jcb_snmpv1_SetTipo;
private int jtf_snmpv1_SetSetDigitos;
private Vector compuestoSetSNMPv1; //Para pasar los multiples parametros
private Vector compuestoSetSNMPv1TempOID;
private Vector compuestoSetSNMPv1TempDatos;
private Vector compuestoSetSNMPv1TempTipoDatos;
private Variable[] compuestoSetSNMPv1Valores; //Para pasar los multiples parametros
////////////////PANTALLA DEL WALK
private JPanel jp_snmpv1_walk;
private JLabel jl_snmpv1_WalkEti,jl_snmpv1_WalkEtiLimitePregunta,jl_snmpv1_WalkEtiLimite;
private JTextField jtf_snmpv1_WalkOID,jtf_snmpv1_WalkEtiLimite;
private JButton jb_snmpv1_Walk;
private JComboBox jcb_snmpv1_WalkEtiLimitePregunta;
private JScrollPane jsp_snmpv1_WalkResp;
private JTextArea jta_snmpv1_WalkResp;
//////////////PANTALLA DEL GETTABLE
private JLabel jl_snmpv1_getTableEtigetTable;
private JTextField jtf_snmpv1_getTablegetTable;
private JButton jb_snmpv1_getTablegetTable;
private JScrollPane jsp_snmpv1_getTablegetTable;
//----------------Fin SNMPv1---------------------------------------------------------------------------------------------
//----------------Inicio SNMPv2c-----------------------------------------------------------------------------------------
private JLabel jl_snmpv2c_sel;
private JComboBox jcb_snmpv2c_sel;
private JPanel jp_snmpv2c_Con,jp_snmpv2c_Get,jp_snmpv2c_GetNext,jp_snmpv2c_GetBulk,jp_snmpv2c_Set,jp_snmpv2c_Traps,jp_snmpv2c_TrapsSend,jp_snmpv2c_walk,jp_snmpv2c_getTable;
///////////////////Pantalla parametros v2c\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//private JPanel jp_snmpv2c_Con;
private JLabel jl_snmpv2c_IP,jl_snmpv2c_pto,jl_snmpv2c_comLec,jl_snmpv2c_VerCom,jl_snmpv2c_inten,jl_snmpv2c_timeOut,jl_snmpv2c_comEsc,jl_snmpv2c_nonRepe,jl_snmpv2c_maxRep;
private JTextField jtf_snmpv2c_IP,jtf_snmpv2c_pto,jtf_snmv2c_inten,jtt_snmpv2c_timeOut,jtf_snmpv2c_maxRep,jtf_snmpv2c_nonRepe;
private JPasswordField jpf_snmpv2c_comEsc,jtf_snmpv2c_comLec,jtf_snmpv2c_comEsc;
private JComboBox jcb_snmpv2c_VerCom;
private JButton jb_snmpv2c_aplicarPara;
////////////////////Pantalla del Get\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JScrollPane jsp_snmpv2c_getDescrip, jsp_snmpv2c_getResp;
private JTextArea jta_snmpv2c_getDescrip,jta_snmpv2c_getResp;
private JLabel jl_snmpv2c_getEtiGet,jl_snmpv2c_getObjs;
private JTextField jtf_snmpv2c_getGet,jtf_snmpv2c_getObjs;
private JButton jb_snmpv2c_getGet,jb_snmpv2c_getAdd,jb_snmpv2c_getUndo;
private Vector compuestoGetSNMPv2c; //Para pasar los multiples parametros
private Vector compuestoGetSNMPv2cTemp;
/////////////////////////Pantalla del GetNext\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JScrollPane jsp_snmpv2c_GetNextDescrip, jsp_snmpv2c_GetNextResp;
private JTextArea jta_snmpv2c_GetNextDescrip,jta_snmpv2c_GetNextResp;
private JLabel jl_snmpv2c_GetNextEtiGetNext,jl_snmpv2c_getNextObjs;
private JTextField jtf_snmpv2c_GetNextGetNext,jtf_snmpv2c_getNextObjs;
private JButton jb_snmpv2c_GetNextGetNext,jb_snmpv2c_GetNextUndo,jb_snmpv2c_GetNext_add;
private Vector compuestoGetNextSNMPv2c; //Para pasar los multiples parametros
private Vector compuestoGetNextSNMPv2cTemp;
////////////////////////Pantalla del Walk\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JLabel jl_snmpv2c_WalkEtiLimitePregunta,jl_snmpv2c_WalkEtiLimite,jl_snmpv2c_WalkEti;
private JComboBox jcb_snmpv2c_WalkEtiLimitePregunta;
private JTextField jtf_snmpv2c_WalkEtiLimite,jtf_snmpv2c_WalkOID;
private JButton jb_snmpv2c_Walk;
private JScrollPane jsp_snmpv2c_WalkResp;
private JTextArea jta_snmpv2c_WalkResp;
//////////////////////////////////Pantalla del Set\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JScrollPane jsp_snmpv2c_SetDescrip, jsp_snmpv2c_SetResp;
private JTextArea jta_snmpv2c_SetDescrip,jta_snmpv2c_SetResp;
private JLabel jl_snmpv2c_SetEtiSet,jl_snmpv2c_SetEtiTipo,jl_snmpv2c_SetEtiSetValor,jl_snmpv2c_setObjs;
private JTextField jtf_snmpv2c_SetSet,jtf_snmpv2c_SetSetValor,jtf_snmpv2c_setObjs;
private JComboBox jcb_snmpv2c_SetTipo;
private JButton jb_snmpv2c_SetSet,jb_snmpv2c_setUndo,jb_snmpv2c_setAdd;
private int jtf_snmpv2c_SetSetDigitos;
private Vector compuestoSetSNMPv2c; //Para pasar los multiples parametros
private Vector compuestoSetSNMPv2cTempOID;
private Vector compuestoSetSNMPv2cTempDatos;
private Vector compuestoSetSNMPv2cTempTipoDatos;
private Variable[] compuestoSetSNMPv2cValores; //Para pasar los multiples parametros
/////////////////////////Pantalla de los TRAPS\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JScrollPane jsp_snmpv2c_traps;
private JTextArea jta_snmpv2c_traps;
private JLabel jl_snmpv2c_TrapSndHost,jl_snmpv2c_Enter,jl_snmpv2c_Timeout,jl_snmpv2c_Int,jl_snmpv2c_Com,jl_snmpv2c_PtoCom,jl_snmpv2c_TrapSndTipo,jl_snmpv2c_TrpInfSel,jl_snmpv2c_OtroTrp,jl_snmpv2c_Descr,jl_snmpv2c_TpoDtoTrp;
private JTextField jtf_snmpv2c_TrapSndHostIP,jtf_snmpv2c_PtoComTxt,jtf_snmpv2c_ComTxt,jtf_snmpv2c_IntTxt,jtf_snmpv2c_TmoutTxt,jtf_snmpv2c_EntTxt,jtf_snmpv2c_OtroTrp,jtf_snmpv2c_Descr;
private JButton jb_SndTrapv2c;
private JComboBox jcb_snmpv2c_TrapSel,jcb_snmpv2c_TrpInfSel,jcb_snmpv2c_TpoDtoTrp;
////////////////////////Pantalla de GetBulk\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
private JButton jb_snmpv2c_GetBulkGetBulk,jb_snmpv2c_GetBulk_add,jb_snmpv2c_GetBulkUndo;
private JTextField jtf_snmpv2c_GetBulkGetBulk,jtf_snmpv2c_getBulkObjs;
private JScrollPane jsp_snmpv2c_GetBulkResp;
private JTextArea jta_snmpv2c_GetBulkResp;
private JLabel jl_snmpv2c_GetBulkEtiSet,jl_snmpv2c_getBulkObjs;
private Vector compuestoGetBulkSNMPv2c; //Para pasar los multiples parametros
private Vector compuestoGetBulkSNMPv2cTemp;
//////////////PANTALLA DEL GETTABLE
private JLabel jl_snmpv2c_getTableEtigetTable;
private JTextField jtf_snmpv2c_getTablegetTable;
private JButton jb_snmpv2c_getTablegetTable;
private JScrollPane jsp_snmpv2c_getTablegetTable;
//----------------Fin SNMPv2c--------------------------------------------------------------------------------------------
//----------------Inicio SNMPv3------------------------------------------------------------------------------------------
private JLabel jl_snmpv3_sel;
private JComboBox jcb_snmpv3_sel;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -