lunes, 24 de mayo de 2010

Cuestión 1

Udp.exe. Este sencillo programa para MS Windows nos permitirá enviar y recibir paquetes
UDP, especificando también su contenido, a un número de puerto y una IP destinos
especificados para comprobar el funcionamiento de este protocolo.

a) Utilizar el programa udp.exe para realizar un envío de datos al puerto 7 (eco) o al puerto 13 (hora y día) del servidor Linux1 (10.3.7.0). Para ello basta especificar la dirección IP y el puerto del servidor, colocar algún texto en la ventana y pulsar el botón "Envía UDP". Con el monitor de red, analiza la secuencia de paquetes UDP que se desencadenan cuando se envía como datos una palabra, por ejemplo “hola”. Utiliza el filtro adecuado en el Monitor de Red (direcciones y protocolos).

Envío de datos al puerto 7:



Cuando realizamos la peticion al puerto 7, el servidor nos devuelve un echo respuesta con los mismos datos que se le han enviado.


Envío de datos al puerto 13:




En este caso, cuando realizamos la peticion al puerto 13, el servidor nos devuelve el día y hora.


b) Prueba de nuevo udp.exe, pero enviando un texto mucho más grande (sobre 2Kbytes). Esto se puede hacer copiando parte de algún fichero de texto en la ventana de udp.exe. ¿Se produce fragmentación IP de los paquetes UDP? Estudia las longitudes del paquete UDP y las de los paquetes IP que aparecen. Detalla los paquetes (fragmentados o no) que observas en el Monitor (indica el valor del identificador, flags, tamaño, etc…)

Sí q se produce fragmentación.


nº paquetes              length                identificador     flag       offset

1(echo request)        2109(1500)           0x4688      0x01            0

2(fragmented ip)     649(con cabecera)    0x4688       0x00        1480

3(echo response)       2109 (500)           0x0121       0x01           0

4(fragmented ip)            500                  0x0121        0x01        480

5(fragmented ip)             500                 0x0121        0x01         960

6(fragmented ip)            500                  0x0121        0x01       1440

7(fragmented ip)            209                 0x0121         0x00       1920







sábado, 15 de mayo de 2010

Cuestión 2

Rexec. Remote Shell es un servicio presente en un S.O. UNIX con TCP/IP que atiende el puerto TCP 512 en espera de peticiones de ejecución de comandos desde procesos remotos clientes.

Utiliza TCP, por lo que trabaja con conexión. Para las prácticas se dispondrá de un programa para MS Windows (rexec.exe) que actúa como cliente. En una sesión de rexec.exe se pide inicialmente un nombre de usuario y password en la máquina servidora, y tras introducir estos, se pueden ejecutar comandos UNIX en dicha máquina. Nos servirá para estudiar una conexión TCP. Dentro de una máquina UNIX, el cliente es un programa de línea de comandos con esta sintaxis básica:


rsh . .


Emplear el programa rexec para ejecutar el comando ‘ls –l’ en la maquina con dirección 172.20.43.232 (Linux2). Utiliza para ello el usuario ‘alumnos’ y la clave ‘alumnos’. Con el monitor de red, analizar y estudiar la secuencia de paquetes TCP intercambiados en el establecimiento de la conexión entre la máquina del alumno y la 172.20.43.232. Utilizar para ello el filtro adecuado (direcciones y protocolos).

a) Comprueba las secuencias de conexión-desconexión TCP. ¿Son similares a las que se detallan en la figura 6? (Puede que observes que el cliente contesta a una solicitud de SYN del servidor con un RST. Esto ocurre porque el servidor trata de autentificar al cliente, algo que no permite el PC).

Captura del monitor de red:

Las secuencias sí que son similares.

b) Comprueba el valor de los puertos utilizados. Indica su valor.
Puerto destino 512
Puerto origen : 2386






Cuestión 3

Utiliza el programa rexec para ejecutar el comando ‘cat 1720intf.txt’ en el servidor 172.20.43.232 (Linux2). La información recibida es de varios miles de bytes y se recibirá en segmentos TCP de gran tamaño. ¿IP ha fragmentado estos segmentos? ¿Por qué ocurre esto? ¿Cuál es el tamaño de los segmentos TCP?



TCP no fragmenta ya que es seguro y fiable; por lo que si dejara que el nivel inferior (IP) fragmentara ya no sería fiable.

Teniendo en cuenta que el MTU=1500
El tamaño de los segmentos TCP es:
MTU-cabecera IP - cabecera TCP =1500-20-20=1460 bytes


viernes, 14 de mayo de 2010

Cuestión 4

Utiliza el programa rexec para ejecutar el comando ‘cat ifconfig.txt’ en el servidor 10.3.7.0. ¿Qué valor de MSS se negocia entre los extremos de la comunicación? ¿Cuál es el tamaño de los segmentos TCP transportados dentro de los paquetes IP? ¿Qué diferencia existe respecto al caso anterior?

Petición: 1460 bytes
Respuesta: 460 bytes

Tamaño de los segmentos TCP transportados dentro de los paquetes IP es 480, ya que son 20 más de la cabecera

La única diferencia con la cuestión 3 es que la MSS que se determina es mas pequeña(460) ya que la MTU es más pequeña (500).

Cuestión 5

Realiza una conexión FTP a la máquina de un compañero de clase. ¿Qué obtienes en el Monitor de Red al intentar realizar esta conexión?







Como podemos observar en el monitor de red, ha intentado conectarse 3 veces sin obtener respuesta.

Cuestión 6

Dictada por el profesor:

1º: Cambiar la ruta para ir a Linux 1

Route delete 172.20.41.241
Route add 172.20.41.241 172.20.43.231

2º: c:\ ftp 172.20.41.241
Ejecutamos una serie de comandos que se pueden visualizar en la siguiente imagen:


En el Monitor de red podemos observar como empieza con una MSS de 460 pero le da error ya que el próximo “host” tiene una MTU máxima de 400; por eso a continuación cambia a una MSS de 360 en los próximos envíos.

lunes, 10 de mayo de 2010

Cuestión 1. Sobre mensajes ICMP del “Ping”

Inicia el programa Monitor de Red en modo captura. A continuación ejecuta el comando:

C:\>ping –n 1 172.20.43.230 (…la opción –n especifica el número de peticiones “echo” que se lanzan al medio)



Detener la captura en el Monitor de Red (filtrar únicamente tramas del alumno) y visualizar los paquetes capturados. En base a los paquetes capturados determinar:

1.a. ¿Cuántos y qué tipos de mensajes ICMP aparecen? (tipo y código)

Aparecen 2, los cuales se muestran a continuación: