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 código).
Una vez hecho esto podemos verificar la conexión 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 netstat al bloc de notas, y luego buscar ":puerto", de esa manera nos evitamos la búsqueda línea por línea.
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 aplicación de cliente (4. Cliente código) y tenemos el siguiente menú:
- Primeramente debemos realizar la conexión mediante la opcion 1. (si ejecutamos la conexión 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 conexión tenemos las opciones 4 y 5.
Tareas a realizar
- Realice capturas de paquetes utilizando Wireshark!
- Identifique los paquetes intercambiados y compare con lo dado en teoría, guarde captura de pantalla y comente sobre la inicialización 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 transmisión, queédiferencias puede notar entre las opciones 4 y 5 de la aplicación, a cuál corresponde cada una según lo dado en teoría?
Conexion en dos ordenadores
- Pruebe ahora correr los scripts en diferentes PC y vea si se pueden comunicar las aplicaciones.
- ¿Qué consideraciones debe tener en cuenta?