public static String getTipoVariavel (String ip, String comunidade, String objeto) throws IOException, NoSuchObjectException, NoSuchInstanceException {
        // Inicia sessaso SNMP
        TransportMapping transport = new DefaultUdpTransportMapping();
        Snmp snmp = new Snmp(transport);
        transport.listen();
        
        // Configura o endereco
        Address endereco = new UdpAddress(ip + "/" + porta);
        
        // Configura target
        CommunityTarget target = new CommunityTarget();
        target.setCommunity(new OctetString(comunidade));
        target.setAddress(endereco);
        target.setRetries(2);
        target.setTimeout(1500);
        target.setVersion(SnmpConstants.version2c);
        
        // Cria PDU (SNMP Protocol Data Unit)
        PDU pdu = new PDU();
        pdu.add(new VariableBinding(new OID(objeto)));
        pdu.setType(PDU.GET);
        
        // Envia PDU
        ResponseEvent responseEvent = snmp.send(pdu, target);
        
        if(responseEvent != null) {
            // Extrai a resposta PDU (pode ser null se ocorreu timeout)
            PDU responsePDU = responseEvent.getResponse();
            
            if(responsePDU != null) {
                int errorStatus = responsePDU.getErrorStatus();
	        int errorIndex = responsePDU.getErrorIndex();
	        String errorStatusText = responsePDU.getErrorStatusText();

	        if (errorStatus == PDU.noError) {
                    Vector <VariableBinding> tmpv = (Vector <VariableBinding>) responsePDU.getVariableBindings();
                    if(tmpv != null) {
                        for(int k=0; k <tmpv.size();k++) {
                            VariableBinding vb = (VariableBinding) tmpv.get(k);
                            if (vb.isException()) {
                                String errorString = vb.getVariable().getSyntaxString();
                                System.out.println("Error:"+errorString);
                                if(errorString.equals("NoSuchObject"))
                                    throw new NoSuchObjectException("No Such Object: " + objeto);
                                if(errorString.equals("NoSuchInstance"))
                                    throw new NoSuchInstanceException("No Such Instance: " + objeto);
                            }
                            else {
                                Variable var = vb.getVariable();
                                OctetString oct = new OctetString(var.toString());
                                String sVar =  oct.toString();
                                
                                snmp.close();
                                return vb.getVariable().getSyntaxString();
                            }
                        }
                    }
	        }
                else {
                    System.out.println("Erro: GET Request Falhou");
	            System.out.println("Status do Erro = " + errorStatus);
	            System.out.println("Index do Erro = " + errorIndex);
	            System.out.println(errorStatusText);
                }
            }
            else {
                System.out.println("Resultado vazio");
                throw new NullPointerException("Null Response");
            }
        }
        else {
            throw new RuntimeException("GET Request Timed Out");
        }
        
        return "";
    }