LABORATORIO Cliente/Servidor

2. Desarrollo

Para la primera parte correremos los dos script en la misma PC.

Ejecute primero la aplicacion del servidor. (3. Servidor codigo)

Una vez hecho esto podemos verificar la conexion donde vemos que el puerto se encuentra escuchando

Podemos utilizar netstat tanto en linux como en windows.

tip para windows: Como no contamos con el comando GREP en windows, para facilitar la tareas, podemos copiar la salida de netstar al bloc de notas, y luego buscar ":puerto", de esa manera nos evitamos la busqueda linea por linea.

A medida que vamos utilizando las opciones vamos visualizando los paquetes mediante Wireshark, para poder obtener una captura más limpia utilizaremos el pre-filtro port utilizando el puerto que acabamos de abrir.

Los scripts están realizados utilizando la librería de python socket https://docs.python.org/es/3/library/socket.html


Al ejecutar la aplicacion de cliente(4. Cliente codigo). y tenemos el siguiente menu:

  • Primeramente debemos realizar la conexion mediante la opcion 1. (si ejecutamos la conexion y el servidor no se encuentra ejecutando veremos en wireshark un paquete de RST, pruebe esto)
  • Luego podemos enviar mensajes utilizando las opciones 2 y 3
  • Para cerrar la conexion tenemos las opciones 4 y 5

Tareas a realizar
  • Realice una captura de paquetes utilizando Wireshark
  • Identifique los paquetes intercambiados y compare con lo dado en teoría, guarde captura y comente sobre la inicializacion de la comunicación TCP (three-way handshake).
  • Identifique y guarde captura de los paquetes de datos enviados.
  • Identifique y guarde captura de los paquetes enviados para finalizar la transmision, que diferencias puede notar entre las opcions 4 y 5 de la aplicación, a cual corresponde cada una segun lo dado en teoria?

Conexion en dos ordenadores

  • Pruebe ahora correr los scripts en diferentes PC y vea si se pueden comunicar las aplicaciones. que consideraciones debe tener en cuenta?