• No se han encontrado resultados

INVESTIGACIÓN DE LOS PROTOCOLOS

6. CREACIÓN DE LA APLICACION

6.1 INVESTIGACIÓN DE LOS PROTOCOLOS

Para tener una certeza de cómo los protocolos trabajan, además de cómo envían la información y qué tipos de comandos se usan, como están distribuidos en los paquetes, en qué momento usar qué comandos y demás caracterizaciones de la comunicación, se dio a la tarea de grabar el tráfico de la red con un programa especializado para el caso.

Antes que nada había que normalizar la red, hacer una búsqueda de puertos abiertos, en escucha, ocupado sin si quiera tener el cliente oficial abierto quien fuese el usado para la investigación. Luego de esto se cerraron todos los programas que pedían acceso a Internet para tener la red totalmente libre de cualquier información que no necesitara en el momento. Al tener totalmente “silenciosa” la red, se podía dar inicio a la investigación.

Al ejecutar el programa usado para examinar en la red, se provee de ciertos campos a usar en el mismo como por ejemplo: Dirección IP de la fuente, dirección IP del destino, el protocolo que se está usando y la información enviada de un destino a otro. Así cada uno de estos campos da respuestas inmediatas a algunas de las preguntas más grandes que se tienen al momento, las direcciones de los servidores a los cuales se conecta el cliente, además de la forma en la que se envían los paquetes, los comandos a usar y la información que constantemente le pide el servidor al usuario y que en algunos casos no es necesario responder.

En la información que se recopila se aprecian ciertos comandos como USR, CAL, JOI, MSG, entre otros, dichos comandos son para actualizar la ventana de la lista de contactos (conexiones, desconexiones), también los cambios de estado

(conectado, ausente, no disponible) hasta cuando se abre una ventana de conversación con algún contacto aún sin enviar ningún mensaje de texto.

Todo esto comienza a crear un bosquejo de cómo la aplicación debe ser programada, creando clases que manejen los tres diferentes servidores a los cuales se accede y los numerosos comandos que se hallan en la comunicación que se usan durante toda la vida de la conexión, dando lugar a una versión primitiva de la aplicación enviando, recibiendo y respondiendo a los comandos, interactuando con los servidores y corroborando lo aprendido en la investigación de la comunicación y del protocolo del MSN.

En el Anexo I se pueden ver las primeras comunicaciones que ocurren entre el cliente y el servidor, también las direcciones de los diferentes servidores con los que se comunica el cliente para lograr una conexión satisfactoria.

Como nada es perfecto de vez en cuando se encontraron paquetes que por error de comunicación, el programa los enmarcó como paquetes mal formados sin explicación del error (como puede ser visto en el Anexo J) así que se asume que por algún problema de comunicación hubo lugar al error y la comunicación no fue exitosa, hubo que crear una clase que manejara este tipo de excepciones, cuyas pruebas tuvieron lugar a varios días, los cuales se dieron a la reestructuración de la misma clase para aumentar el rango de alcance de los errores captados y evitar un bloqueo de la aplicación.

Al concretarse la conexión, los primeros comandos que se reciben del servidor, son los cambios que toman lugar entre la última conexión realizada y la que se está llevando a cabo, cambios como nuevos correos en la bandeja de entrada, nuevos contactos que han agregado la cuenta entre otros (Véase Anexo K). Cabe mencionar que la mayoría de los comandos recibidos por el MSN no requieren respuesta por parte del cliente es decisión del programador enviar una respuesta o

tomar una acción por los comandos así como también de hacer caso omiso de este, uno de los comandos que requieren una respuesta es el CHALLENGE cuyo comando es CHL, es un comando que el servidor envía a todos los clientes conectados de manera aleatoria para saber si aún siguen conectados. En dado caso que el cliente no lo responda, el servidor dará por terminada la sesión que está activa, así que es prioridad del programador responder cada CHL que sea recibido del servidor.

Una de las curiosidades del protocolo del MSN es que maneja ciertos comandos que no se usan en su totalidad en el cliente oficial. El más común encontrado en la comunicación es el comando JOI que aluce al ingles join en nuestro idioma unirse, en el caso de una conversación uno a uno (el cliente con un solo contacto) este comando se obvia en el cliente oficial por razones desconocidas, el comando tiene lugar cuando el cliente abre una ventana de conversación con un contacto sin enviar algún mensaje previamente. Por lo tanto, si en el cliente implementara el uso de este comando, cualquier usuario conectado al MSN, podría ver quien abre una ventana para hablar pero se arrepiente de hacerlo y la cierra nuevamente. Este comando tiene su uso cuando un cliente comienza una conversación con más de un contacto, al agregar otro contacto a una conversación ya existente, el comando JOI alerta a los dos primeros usuarios de la conversación de la llegada del tercero y así sucesivamente.

En el Anexo L encontramos que el cliente ([email protected]) abre una ventana de conversación con uno de sus contactos ([email protected]) pero aun no envía ningún mensaje.

El envío de los mensajes, en este protocolo también tiene una codificación la cual podemos ver de una manera gráfica en el Anexo M. En ésta conversación tenemos a dos contactos, el cliente ([email protected]) y el contacto ([email protected]), que en la comunicación no podemos observar con

claridad los mensajes que se envían de un contacto a otro, todo esto por el principio básico de seguridad, la privacidad, la cual es uno de los grandes fuertes de este protocolo desde su versión 7.

Luego de obtener esta información durante la investigación, aún se estaba en un estado muy primitivo en el que por codificaciones no se veía con exactitud cómo los comandos eran enviados y para qué servían la mayoría, por eso otra aplicación fue usada como apoyo para dar más exactitud y claridad al protocolo.

En el Anexo N. Se observa con más facilidad la forma como se conecta el mensajero a los servidores de MSN, los comandos más fáciles de diferenciar, además de la sintaxis con la que los comandos son enviados.

En los Anexos O, P Y Q se observa los diferentes comandos usados en el protocolo MSN, para el cliente.

Con toda esta información recopilada, ya se tiene un bosquejo del manejo del cliente con los servidores y se procede a modelar la aplicación.

Documento similar