AddDato() public method

Añade un nuevo dato al mapa de datos.
public AddDato ( String clave, String valor ) : void
clave String
valor String
return void
Example #1
0
 /// <summary>
 ///     Genera un objeto del tipo NetData a partir de otro objeto cualquiera
 ///     basandose en sus propiedades (getters)
 ///     mediante reflexion.
 /// </summary>
 /// <param name="msgCode"></param>
 /// Codigo del protocolo para el NEtData.
 /// <param name="obj"></param>
 /// Fuente de propiedades.
 /// <returns></returns>
 public static NetData GenerarNetDataDesdeObjeto(int msgCode, Object obj)
 {
     NetData datoDeRed = new NetData(msgCode);
     Type clase = obj.GetType();
     foreach (PropertyInfo campo in clase.GetProperties())
     {
         datoDeRed.AddDato(campo.Name, campo.GetValue(obj, null).ToString());
     }
     return datoDeRed;
 }
Example #2
0
 private void btnEnviar_Click(object sender, EventArgs e)
 {
     try
     {
         NetData nd = new NetData((int) Protocolo.Servidor.EnviarCmdCommandRemoto);
         nd.AddDato("Comando", tbComando.Text);
         clienteAsociado.Enviar(nd);
         tbComando.Text = "";
     }
     catch (Exception ex)
     {
         MessageBox.Show("Se ha perdido la conexion con el cliente.", "Error de conexion", MessageBoxButtons.OK,
                         MessageBoxIcon.Error);
         Dispose();
     }
 }
Example #3
0
        //eventos
        public void GestionBtnAcciones(object sender, EventArgs eventArgs)
        {
            Button btnSeleccionado = (Button) sender;
            String accion = btnSeleccionado.Tag.ToString();
            String nproc = null;
            if (miGrid.SelectedRows.Count <= 0)
            {
                MessageBox.Show("Debes seleccionar alguna ventana", "No hay ningun objetivo");
                return;
            }
            foreach (DataGridViewRow row in miGrid.SelectedRows)
            {
                //creo el NetData segun la accion seleccionada.
                NetData msgToClient = null;
                switch (accion)
                {
                    case "iniciar":
                        msgToClient = new NetData((int) Protocolo.Servidor.EjecutarProceso);
                        if (nproc == null)
                            nproc = MiInputBox.PedirString("Introduce el nombre del proceso",
                                                          "¿Cual es la ruta o nombre del proceso que deseas ejecutar?",
                                                          this);
                        //si no se coloco un titulo...
                        if (nproc == null)
                        {
                            MessageBox.Show("Debes introducir un nombre...");
                            return;
                        } //salgo.

                        msgToClient.AddDato("NombreProceso", nproc);
                        break;
                    case "matar":
                        msgToClient = new NetData((int)Protocolo.Servidor.MatarProceso);
                        break;

                }

                if (msgToClient != null)
                {
                    loadLabel.Visible = true;
                    statusStrip1.Text = "Procesando...";
                    msgToClient.AddDato("Id", row.Cells["Id"].Value.ToString());
                    Cliente.Enviar(msgToClient);
                    statusStrip1.Text = "Accion Realizada con exito.";
                    loadLabel.Visible = false;
                }
            }
            //autorefresh.
            Actualizar();
        }
Example #4
0
        private void eventoBtnEnviarMsgBoxClick(object sender, EventArgs e)
        {
            if (ClienteSeleccionado != null)
            {
                String[] datosMsgBox = MsgBoxBuilder.obtenerMsgBoxDataInfo("" + ClienteSeleccionado.IpAddress);
                if (datosMsgBox != null)
                {
                    NetData envioMsgBox = new NetData((int) Protocolo.Servidor.MostrarMsgBox);
                    envioMsgBox.AddDato("Msg", datosMsgBox[0]);
                    envioMsgBox.AddDato("Titulo", datosMsgBox[1]);
                    envioMsgBox.AddDato("Tipo", datosMsgBox[2]);

                    ClienteSeleccionado.Enviar(envioMsgBox);
                }
            }
        }
Example #5
0
 private void eventoBotonEnviarWebClick(object sender, EventArgs e)
 {
     if (ClienteSeleccionado != null)
     {
         String url = MiInputBox.PedirString("Escribe una url",
                                             "Introduce la url que deseas enviar al cliente.",
                                             this);
         if (url == null) return;
         if (Utils.ValidarUrl(url))
         {
             NetData urlInfo = new NetData((int) Protocolo.Servidor.AbrirPaginaWeb);
             urlInfo.AddDato("URL", url);
             ClienteSeleccionado.Enviar(urlInfo);
         }
         else
         {
             MessageBox.Show("La url proporcionada no es una Url bien formada. Escriba una url correcta.",
                             "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
     }
 }
Example #6
0
 private void eventoBotonApagado(object sender, EventArgs e)
 {
     try
     {
         if (ClienteSeleccionado != null)
         {
             NetData ndShutdown = new NetData((int) Protocolo.Servidor.ApagarEquipo);
             if (sender.GetType() == typeof (Button))
             {
                 Button btnPulsado = sender as Button;
                 ndShutdown.AddDato("Flag", btnPulsado.Tag.ToString());
                 ClienteSeleccionado.Enviar(ndShutdown);
             }
             else if (sender.GetType() == typeof (ToolStripMenuItem))
             {
                 ToolStripMenuItem btnPulsado = sender as ToolStripMenuItem;
                 ndShutdown.AddDato("Flag", btnPulsado.Tag.ToString());
                 ClienteSeleccionado.Enviar(ndShutdown);
             }
         }
         else
         {
             MessageBox.Show("Selecciona un cliente destino para la acción");
         }
     }
     catch (Exception ex)
     {
     }
 }
Example #7
0
 private void autentificarToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (ClienteSeleccionado != null)
     {
         string pass = MiInputBox.PedirString("Autentificación",
                                              "Introduce la contraseña para el cliente.", this);
         if (!string.IsNullOrEmpty(pass))
         {
             NetData msgPass = new NetData((int) Protocolo.Servidor.EnviarPassword);
             msgPass.AddDato("Password", pass);
             ClienteSeleccionado.Enviar(msgPass);
         }
     }
 }
Example #8
0
        //eventos
        public void GestionBtnAcciones(object sender, EventArgs eventArgs)
        {
            Button btnSeleccionado = (Button) sender;
            String accion = btnSeleccionado.Tag.ToString();
            String ntit = null;
            if (miGrid.SelectedRows.Count <= 0)
            {
                MessageBox.Show("Debes seleccionar alguna ventana", "No hay ningun objetivo");
                return;
            }
            foreach (DataGridViewRow row in miGrid.SelectedRows)
            {
                //creo el NetData segun la accion seleccionada.
                NetData msgToClient = null;
                switch (accion)
                {
                    case "minimizar":
                        msgToClient = new NetData((int) Protocolo.Servidor.MinimizarVentana);
                        break;
                    case "desbloquear":
                        msgToClient = new NetData((int) Protocolo.Servidor.DesbloquearVentana);
                        break;
                    case "bloquear":
                        msgToClient = new NetData((int) Protocolo.Servidor.BloquearVentana);
                        break;
                    case "cambiartitulo":
                        msgToClient = new NetData((int) Protocolo.Servidor.CambiarTituloVentana);
                        if (ntit == null)
                            ntit = MiInputBox.PedirString("Introduce un titulo",
                                                          "¿Qué titulo deseas para las ventanas seleccionadas?",
                                                          this);
                        //si no se coloco un titulo...
                        if (ntit == null)
                        {
                            MessageBox.Show("Debes introducir un titulo...");
                            return;
                        } //salgo.

                        msgToClient.AddDato("NuevoTitulo", ntit);
                        break;
                }

                if (msgToClient != null)
                {
                    loadLabel.Visible = true;
                    statusStrip1.Text = "Procesando...";
                    msgToClient.AddDato("Handle", row.Cells["Handle"].Value.ToString());
                    Cliente.Enviar(msgToClient);
                    Thread.Sleep(80);
                    statusStrip1.Text = "Accion Realizada con exito.";
                    loadLabel.Visible = false;
                }
            }
            //autorefresh.
            Actualizar();
        }
Example #9
0
 public static NetData RespuestaOk(String msg)
 {
     NetData ndSuccess = new NetData((int) Protocolo.Cliente.RespuestaSuccess);
     ndSuccess.AddDato("Mensaje", msg);
     return ndSuccess;
 }
Example #10
0
 public static NetData RespuestaError(String msg)
 {
     NetData ndError = new NetData((int) Protocolo.Cliente.RespuestaError);
     ndError.AddDato("Mensaje", msg);
     return ndError;
 }
Example #11
0
        private static void Procesar(NetData objRecibido)
        {
            Console.Out.WriteLine("Recibido msg con codigo de protocolo [" + objRecibido.CodigoDeProtocolo + "]");
            /*mientras  el acceso no este validado...*/
            if (comprobarAuth() == false)
            {
                Boolean auth = false;
                if (objRecibido.CodigoDeProtocolo == (int) Protocolo.Servidor.EnviarPassword)
                {
                    auth = validarRespuestaPassword(objRecibido);
                }
                else
                {
                    Enviar(Servicio.GenerarPeticionPassword());
                }

                /*Si el servidor no esta validado le pido el password para que se valide...*/
                if (auth == false)
                {
                    return;
                }
            }
            //Si el server esta autorizado (Password -> OK) proceso los msg recibidos.

            switch (objRecibido.CodigoDeProtocolo)
            {
                    //Ventanas
                case (int) Protocolo.Servidor.PedirInfoVentanas:
                    NetData d = Servicio.GenerarInfoVentanasVisibles((int) Protocolo.Cliente.RespuestaInfoVentanas);
                    Enviar(d);
                    break;
                    //Acciones de Ventana.
                case (int) Protocolo.Servidor.MinimizarVentana:
                case (int) Protocolo.Servidor.BloquearVentana:
                case (int) Protocolo.Servidor.DesbloquearVentana:
                case (int) Protocolo.Servidor.CambiarTituloVentana:
                    try
                    {
                        Servicio.ProcesarAccionesDeVentana(objRecibido);
                        Enviar(NetData.RespuestaOk());
                    }
                    catch (Exception ex)
                    {
                        Enviar(NetData.RespuestaError());
                    }
                    break;
                    //acciones de procesos.
                case (int)Protocolo.Servidor.MatarProceso:
                case (int)Protocolo.Servidor.EjecutarProceso:
                    try
                    {
                        Servicio.ProcesarAccionesDeProcesos(objRecibido);
                        Enviar(NetData.RespuestaOk());
                    }
                    catch (Exception ex)
                    {
                        Enviar(NetData.RespuestaError());
                    }
                    break;
                case (int) Protocolo.Servidor.PedirInfoSoftware:
                    NetData infoSoft =
                        Servicio.GenerarInfoSoftwareDelSistema((int) Protocolo.Cliente.RespuestaInfoSoftware);
                    Enviar(infoSoft);
                    break;
                case (int)Protocolo.Servidor.PedirInfoProcesos:
                    NetData infoProc =
                        Servicio.GenerarInfoProcesosDelSistema((int)Protocolo.Cliente.RespuestaInfoProcesos);
                    Enviar(infoProc);
                    break;
                    //accion MsgBox
                case (int) Protocolo.Servidor.MostrarMsgBox:
                    Servicio.MostrarMsgBox(objRecibido.GetDato("Msg"),
                                           objRecibido.GetDato("Titulo"),
                                           int.Parse(objRecibido.GetDato("Tipo")));
                    break;
                case (int) Protocolo.Servidor.IniciarEscritorioRemoto:
                    try
                    {
                        Servicio.IniciarServidorVnc(passwordServidorVNC, puertoServidorVNC, "Servidor VNC C-RAT");
                    }
                    catch (Exception ex)
                    {
                        Console.Out.WriteLine(
                            "No se pudo iniciar el servidor. Compruebe que no se encuentra ya iniciado.");
                    }
                    break;
                case (int) Protocolo.Servidor.BloquearSistema:
                    Servicio.BloquearEntradaDelSistema(true);
                    break;
                case (int) Protocolo.Servidor.DesbloquearSistema:
                    Servicio.BloquearEntradaDelSistema(false);
                    break;
                case (int) Protocolo.Servidor.AbrirPaginaWeb:
                    String url = objRecibido.GetDato("URL");
                    Servicio.AbrirPaginaWeb(url);
                    break;
                case (int) Protocolo.Servidor.ApagarEquipo:
                    Servicio.RealizarAccionApagado(int.Parse(objRecibido.GetDato("Flag")));
                    break;
                case (int) Protocolo.Servidor.EnviarCmdCommandRemoto:
                    string respuesta = Servicio.ObtenerRespuestaComandoCmd(objRecibido.GetDato("Comando"));
                    NetData respNd = new NetData((int) Protocolo.Cliente.RespuestaComandoCmd);
                    respNd.AddDato("RespuestaCmd",respuesta);
                    Enviar(respNd);
                    break;
                case (int) Protocolo.Servidor.DesconectarCliente:
                    Console.Out.WriteLine("El servidor ha finalizado la Conexion.");
                    Environment.Exit(0);
                    break;

            }
        }