Anuncio

Colapsar
No hay anuncio todavía.

Introducción a Visual Basic. Origen y desarrollo

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
    • Compartir

    Introducción a Visual Basic. Origen y desarrollo

    [/B]Introducción a Visual Basic. Origen y desarrollo [/B]

    Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar
    hoy en día. Dicho lenguaje nace del BASIC (Beginner´s All-purpose Symbolic Instruction Code) que fue creado en su versión original en el Dartmouth College, con el propósito de servir a aquellas personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció el BASIC estándar.

    La sencillez del lenguaje ganó el desprecio de los programadores avanzados por considerarlo "un lenguaje para principiantes".
    Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce como Visual Basic y la versión más reciente es la 6 que se incluye en el paquete Visual Studio 6 de Microsoft. Esta versión combina la sencillez del BASIC con un poderoso lenguaje de programación Visual que juntos permiten desarrollar robustos programas
    de 32 bits para Windows. Esta fusión de sencillez y la estética permitió ampliar mucho más el monopolio de Microsoft, ya que el lenguaje sólo es compatible con Windows, un sistema operativo de la misma empresa.
    Visual Basic ya no es más "un lenguaje para principiantes" sino que es una perfecta alternativa para los programadores de cualquier nivel que deseen desarrollar
    aplicaciones compatibles con Windows.
    Conceptos Basicos de Cliente Servidor

    Un programa simple es un conjunto de instrucciones que generalmente devuelven un valor al usuario, ya sea numérico o una cadena de letras, este dato es el resultado de la acción del usuario sobre el programa, ya que el usuario fue el que solicitó el dato.

    Al igual que un usuario se comunica con el programa por medio del teclado, dos programas se pueden comunicar entre sí por medio de un control especial que se denomina WinSock Control. Este control esta disponible en el lenguaje Visual Basic, y su nombre proviene de Windows Sockets.

    El Winsock Control como opción predeterminada no se encuentra disponible en la barra de controles estándar de Visual Basic, para acceder a él debemos agregarlo manualmente mediante Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. No es visible en tiempo de ejecución, lo que significa que solo nosotros sabemos que el control se encuentra en nuestra aplicación y cuáles son sus propiedades, aunque también se pueden definir en tiempo de ejecución.
    Este tipo de aplicaciones Cliente/Servidor permiten comunicar programas entre sí, en consecuencia también permiten comunicar varias computadoras, porque habiendo un programa en la computadora llama "Oscar_1" y otro en la computadora llama "Daniel_1" ambos programas se pueden comunicar a través de Internet y compartir información, o adquirir información sin saber que el dueño de la computadora lo autoriza. Esto frecuentemente trae problemas al querer distinguir si un programa esta autorizado por el dueño o el encargado (administrador o sysop) para acceder al sistema. Varios administradores permiten el acceso, pero a la misma vez restringen las carpetas importantes de sus computadoras para no correr el riesgo de perder información vital. Si el programa que se usa para acceder a otra computadora esta autorizado por el encargado de la PC se puede denominar "Herramienta de administración remota", en cambio si el acceso no es permitido o no se avisa que se quiere entrar y se hace a la fuerza el programa recibe el nombre de "Troyano".

    Troyanos 1

    Un troyano es un aplicación "disfrazada" de un programa útil, consta de dos programas, el "Servidor" es el que se encarga de abrir un puerto en la PC a la que se quiere tener acceso y dejar el puerto a la escucha, es decir esperar a que se realice una conexión al puerto para dar el acceso a la máquina.











    Y el "Cliente", este es el programa que se conecta al puerto que el Servidor dejó abierto, solicita que se realice la conexión y después comienza a transmitir información, pidiendo datos de la PC remota, tales como Información del sistema, contraseñas, archivos importantes, etc. Se pueden utilizar de dos formas completamente distintas;

    Como herramienta de administración remota: que permite manipular el sistema a distancia, ideal para personas que necesitan urgente un archivo de la PC de su oficina y se encuentran en su casa. Se puede considerar como tal solo cuando el usuario tenga el acceso permitido a esa PC

    Como herramienta para hackear: (Hackear: penetrar un sistema informático sin acceso) esta es la forma de utilización que prefiere cualquier persona con una conexión a Internet y ganas de espiar lo que hace otra persona conectada a Internet o a su Red privada, también llamada LAN (Local Area Network o Red de Area Local). Pudiendo acceder a sus archivos confidenciales, contraseñas, recursos compartidos, conversaciones que toman lugar en tiempo real, o borrar archivos fundamentales tales como por ejemplo: COMMAND.COM (dejando a la PC "víctima" sin poder arrancar, a menos que el usuario "atacado" sepa iniciar desde un disco de rescate o de inicio.

    Los puertos que se dejan a la escucha generalmente sol altos, es decir puertos que pasan del número 500 o el 1000, para garantizar que ningún otro programa pueda estar usándolos y cancelar la conexión del troyano. El uso de estos programas no es ilegal a menos que el usuario final opte por entrar a la máquina remota sin autorización. En dicho caso se puede proceder legalmente de acuerdo al país en el que se encuentre la PC "hackeada", es decir la computadora a la que se infiltró el hacker. (hacker: persona interesada en el funcionamiento y vulnerabilidad de los sistemas operativos, lenguajes de programación y seguridad informática). Por ejemplo en EEUU se puede condenar a una larga sentencia por hacer eso, pero también hay que conocer la otra cara de la moneda, es el caso de Argentina, todavía no tiene tipificado en el código penal la intrusión en computadoras sin autorización, esto quiere decir que no es un delito condenable. Aquí debajo una lista de los troyanos más conocidos del Underground, es decir de la sociedad hacker, o más bien todo aquello que sea difícil de encontrar para el usuario común. La palabra UnderGround significa debajo de la tierra, lo que para la mayoría significa algo oculto y qué otro ejemplo más conciso que los programas que usa un hacker. Cabe aclarar que el uso de estos programas comunmente denominados "para hackers" no convierte a nadie pero absolutamente nadie en "hacker". El hacker no se hace de la noche a la mañana, es más, el hacker no se hace, nace.

    NetBus: Este "troyano" o "herramienta de administración remota" fue uno de los más difundidos en Internet, ganó un gran número de usuarios adictos al programa por su sencillez de uso y la rapidez del mismo. El tamaño del servidor (el encargado de permitir el acceso a la máquina con o sin autorización) ahora parece grande en comparación con los troyanos nuevos. Tamaño del servidor: 495 KB aproximadamente.

    Back Oriffice 2000: Sin lugar a duda el troyano que más pánico causó en los últimos tiempos. Fue el preferido de todos por ser el primero que salió en Internet con una facilidad de uso impresionante y características que otros troyanos aun no imaginaban.

    Comenzando a programar en WINSOCK

    Protocolos TCP/IP y UDP

    Como anteriormente quedó aclarado dos programas se pueden conectar entre sí a través de internet o de una LAN.
    Internet usa el protocolo TCP/IP que significa "Transmision Control Protocol / Internet Protocol", es el que se encarga de recibir paquetes de información y redirigirlos al usuario











    final que los solicitó. Este protocolo es el preferido por todos ya que posee una característica que UDP le envidia, TCP/IP puede verificar que el paquete de información haya llegado con éxito al destinatario final, concretando así la transacción.
    Por el contrario UDP no puede hacer esto, solo manda el paquete con la información y no verifica que haya llegado satisfactoriamente, poniendo de esta manera en peligro al paquete, ya que puede no llegar entero al destinatario y por lo tanto no sirve si el paquete no llega en su totalidad.
    Todas las máquinas que están conectadas a Internet tienen asignadas un número que se forma con 4 cifras de 3 dígitos (que no pueden superar al número 255). Ejemplo del IP máximo que se puede encontrar: 255.255.255.255

    Propiedades metodos y eventos de WINSOCK

    Propiedades, métodos y eventos de WinSock.

    Una vez que tenemos el WinSock control en nuestra barra de controles en Visual Basic ya podemos comenzar a ver las propiedades, eventos y métodos más importantes del control.

    Para agregarlo manualmente ir a Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. Como mencionamos anteriormente este control no es visible en tiempo de ejecución.
    Primero abrimos un proyecto (EXE Estándar) y colocamos en control en cualquier parte del formulario. Vamos a comenzar por ver las propiedades, estas pueden ser puestas en tiempo de diseño como también en tiempo de ejecución. A continuación las propiedades más importantes;

    Lista de propiedades más importantes

    LocalIP: Devuelve la dirección IP de la máquina local en el formato de cadena con puntos de dirección IP (xxx.xxx.xxx.xxx).

    RemoteHost: Establece el equipo remoto al que se quiere solicitar la conexión.

    LocalPort: Establece el puerto que se quiere dejar a la escucha.

    RemotePort: Establece el número del puerto remoto al que se quiere conectar.

    State: Verifica si el Control WinSock esta siendo utilizado o no.

    Estas son algunas de las propiedades más importantes, y a continuación la sintaxis de cada propiedad.
    Objeto.Propiedad = Valor

    Donde Objeto va el nombre del Control WinSock, el nombre predeterminado cuando lo incluimos en alguna aplicación es "WinSock1". Luego le sigue la propiedad que deseamos asignar y finalmente el valor que la misma tomará.
    Entonces por ejemplo si queremos probar la propiedad LocalIP debemos seguir el ejemplo 1.


    Ejemplo 1

    Crear un Proyecto (EXE Estándar) y agregar el WinSock Control. Luego agregar una etiqueta vacía, es decir un Label. Despues introducimos el siguiente código.

    Private Sub Form_Load()
    Label1.caption = WinSock1.LocalIP
    End Sub


    Este simple ejemplo nos da de forma rápida nuestro IP, aunque no estemos conectados a Internet el IP aparece igual, solo que siempre va a tomar el valor : 127.0.0.1
    Ahora que sabemos manejar las propiedades podemos seguir con los Métodos. A continuación la lista de algunos de los Métodos más importantes del Control WinSock

    Lista de Métodos más importantes

    Accept: Sólo para las aplicaciones de servidor TCP. Este método se utiliza para aceptar una conexión entrante cuando se está tratando un evento ConnectionRequest.

    GetData: Recupera el bloque actual de datos y lo almacena en una variable de tipo Variant.

    Listen: Crea un socket y lo establece a modo de escucha.

    SendData: Envía datos a un equipo remoto.


    Lista de Eventos más importantes

    ConnectionRequest: Se produce cuando el equipo remoto solicita una conexión. Sin este evento no se puede llevar a cabo la conección.

    Connect: Se produce cuando el equipo local se conecta al equipo remoto y se establece una conexión.

    Close: Se produce cuando el equipo remoto cierra la conexión. Las aplicaciones deben usar el método Close para cerrar correctamente una conexión TCP.

    DataArrival: Se produce cuando llegan nuevos datos. Este evento es importante, ya que debemos hacer algo con la información que llega.


    La sintaxis de los métodos y eventos es igual a la sintaxis de las propiedades, por lo cual no vamos a hacer referencia a ella.

    Conociendo las propiedades, métodos y eventos del Control WinSock podemos pasar a la engorrosa labor de la programación.
    Para poder programar la siguiente aplicación necesitan tener el Control WinSock en el formulario, eso siempre es fundamental para que el programa ande.

    Para enterder el correcto funcionamiento del protocolo TCP/IP vamos a empezar por programar la aplicación Servidor a la cual luego se conectará el Cliente.
    Comenzamos por crear un proyecto nuevo (EXE estándar) para el Servidor, y agregamos la siguiente lista de controles al formulario principal. La ubicación de dichos controles es a gusto del programador, siempre tratando de que el usuario final este a gusto con el producto y que se pueda manejar libremente sin problemas por el entorno del mismo.


    - WinSock Control
    - 2 cajas de texto (TextBox)
    - 2 botones.

    A continuación hace falta que cambiemos algunas propiedades de los controles, debajo la lista de controles con las respectivas propiedades a cambiar.

    Control (nombre predeterminado) Propiedad (nuevo valor)
    WinSock1 LocalPort = 888
    Text1 Text =
    Text2 Text =
    Command1 Caption = "Escuchar"

    Para que el ejemplo funcione a la perfección conviene que seguir la ubicación de los controles como esta indicado en la figura 1.

    Una vez hecho esto podemos empezar a tipear código. El sangrado del programa es una cuestión de entendimiento para el programador, algunos recurren a éste como otros no, eso también queda a criterio del que programa.


    En el Evento Click del Command1 incluimos el siguiente código; (sólo lo que esta en NEGRITA, el resto es en modo de ayuda, ya que aparece cuando se hace doble click en algun control).

    Private Sub Command1_Click()
    Winsock1.Listen
    End Sub

    Fuente: http://www.programatium.com
    http://i44.tinypic.com/2euu35u.jpg
    http://www.arribalafoto.com/public/32009/LasPelotas.png
Trabajando...
X