domingo, 23 de mayo de 2010

Cuestión 6


*El camino Rojo es la Ruta predefinida que posee nuestro PC para Acceder a Internet.
Esta es la nueva cuestión y los comandos para realizarlos y la explicación por que pasa así.

Al intentar enviar el archivo, manda un paquete de 1460 bytes. Despues recibe un error con el nuevo tamaño del MTU para que la maquina vuelva a enviar nuevos paquetes con ese nuevo tamaño. Tras esto comienza a existir un tráfico contínuo.

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?

Para ello realizamos el comando FTP xx.xx.xx.xx de la máquina servidor que nos proporciona una conexión de tipo FTP.

obtenemos la siguiente captura de paquetes donde vemos los intentos de conexión que realiza el comando hasta que obtenemos un error.

Cuestión 4

Utiliza el programa rexec para ejecutar el comando ‘cat file1.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?

El máximo tamaño de segmento es de 1460 bytes. Pero este tamaño se negocia, ya que el servidor contesta diciendo que el tamaño máximo debe ser 460 bytes.

Por lo que en primera instancia tendríamos nuestro paquete que es de 1500Bytes de MTU 1460 de MSS pero el servidor nos dice que lo tenemos que reducir a 460 de MSS (500 MTU).

La diferencia con el anterior apartado es que para este caso cambia el enrutamiento de los datos, por lo que se ve obligado en la red de enlace entre el Cisco 2513 y la máquina Linux 1 a ser un MSS de 460, ver Topología.

Cuestión 3

Utiliza el programa rexec para ejecutar el comando ‘cat file1.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?

No lo ha fragmentado debido a que está el bit de DON'T FRAGMENT activo, esto es debido a que el protocolo TCP exige seguridad en la comunicación por lo que no se fragmenta.

El tamaño máximo de los segmentos será de 1460bytes.

viernes, 21 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).

  • 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).
Se puede decir que si hay una estructura similar a la de la figura 6 en cuanto a las conexiones que se establecen.

  • Comprueba el valor de los puertos utilizados. Indica su valor.

Local es el 1127 y el puerto del servidor el 512.

  • Analizar los valores de la ventana de receptor. ¿Cuál es más grande?

Los valores de ventana más grandes los tienen las tramas de conexión/desconexión.

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.

1.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).


Captura 1, el programa udp.exe nos ha respondido:

10.3.7.0 :>Mon May 3 09:05:47 2010 DA


Captura 2:

10.3.7.0 :>hola, esto es una prueba de UDP por el puerto 7 (ECO)


Este es el mensaje que lleva el puerto ECO.


1.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…)

Mensaje enviado:

“hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO) DA hola, esto es una prueba de UDP por el puerto 7 (ECO)”

Según el programa udp.exe este texto posee 4096Bytes con un tiempo de 2,34seg en llegar la respuesta.


Enviamos el paquete eco, el cual posee dos fragmentos adicionales, los dos primeros poseen una longitud total de 1514bytes con 1480 bytes de Datos, el último fragmento posee una longitud de 1184Bytes con 1150 de datos. 4110 bytes de datos en total.

SRC: 172.20.43.210, DST: 10.3.7.0


Tabla expecificativa.

Identification

Flags

Protocol

Tamaño

1

0xa11e (41246)

0x02 (More Fragments)

UDP

1514

2

0xa11e (41246)

0x02 (More Fragments)

UDP

1514

3

0xa11e (41246)

0x00 (No More)

UDP

1184


Recibimos la respuesta del ECO, y 8 paquetes fragmentados

De 514Bytes, pero con un total de 480 Bytes de datos y 20 de cabecera. Salvo el último que posee 264 bytes de datos y una longitud de trama total de 298.


Tabla.

Identification

Flags

Protocol

Tamaño

1

0x013d (317)

0x02 (More Fragments)

UDP

514

2

0x013d (317)

0x02 (More Fragments)

UDP

514

3

0x013d (317)

0x02 (More Fragments)

UDP

514

4

0x013d (317)

0x02 (More Fragments)

UDP

514

5

0x013d (317)

0x02 (More Fragments)

UDP

514

6

0x013d (317)

0x02 (More Fragments)

UDP

514

7

0x013d (317)

0x02 (More Fragments)

UDP

514

8

0x013d (317)

0x02 (More Fragments)

UDP

514

9

0x013d (317)

0x02 (More Fragments)

UDP

298


jueves, 20 de mayo de 2010

Cuestión 7 - Teórica

7.a Dada la dirección de clase B 145.65.0.0, se desean 6 subredes. ¿Cuántos bits se tendrán que reservar para crear las subredes? Indica el valor decimal de las subredes, así como el valor de la nueva máscara de subred.
Se necesitan reservar 3 bit, porque con 2 solo podríamos dividirla en 4 subredes. Esto es debido a la siguiente relación: 2^n. por lo que para los 3 bits que poseemos estas serían las subredes posibles.

145.65.0.0 - 11111111.11111111.000 00000.00000000
145.65.32.0 - 11111111.11111111.001 00000.00000000
145.65.64.0 - 11111111.11111111.010 00000.00000000
145.65.96.0 - 11111111.11111111.011 00000.00000000
145.65.128.0 - 11111111.11111111.100 00000.00000000
145.65.160.0 - 11111111.11111111.101 00000.00000000
145.65.192.0 - 11111111.11111111.110 00000.00000000
145.65.224.0 - 11111111.11111111.111 00000.00000000

De estas 8 subredes podemos elegir las 6 que más nos interesen.

7.b Sea la dirección de red IP 125.145.64.0 con máscara asociada 255.255.254.0. Ampliar la máscara de subred en dos bits, indicando el nuevo valor. Determina el rango de direcciones IP que puede emplearse para numerar máquinas en cada una de las subredes obtenidas en la ampliación.


125.145.64.0 – 11111101.10010001.01000000.00000000

255.255.254.0 – 11111111.11111111.11111110.00000000

11111111.11111111.1111111X.X0000000
Solo podemos modificar los valores determinados con las X, siendo las posibilidades:

A - 0.0 que corresponde con la IP: 125.145.64.0
B - 0.1 que corresponde con la IP: 125.145.64.128
C - 1.0 que corresponde con la IP: 125.145.65.0
D - 1.0 que corresponde con la IP: 125.145.65.128

Rango de IP’s para las subredes teniendo en cuenta la que debemos de guardar para la denominación de las propia subred, y de la dirección de “broadcast”

A:
125.145.64.1
125.145.64.126
B:
125.145.64.129
125.145.64.254
C:
125.145.65.1
125.145.65.126
D:
125.145.65.129
125.145.65.254

Cuestión 6 - ICMP “Fragment Reassembly Time Exceeded”

En esta cuestión se analizará el mensaje ICMP tipo 11 código 1. Para ello, se va a intentar “saturar” a una determinada máquina del laboratorio enviándole un número elevado de peticiones Ping. Este elevado número de peticiones puede producir un error si la máquina destino tiene que realizar un reensamblado excesivo de de paquetes en un tiempo limitado. Iniciar el programa monitor de red. A continuación ejecutar el comando “Ping” en varias ventanas (en paralelo) de MSDOS, así lograrás mayor número de peticiones:
C:\>ping -n 80 -l 20000 10.3.7.0 Detener la captura y determinar:
6.a. ¿De que máquina proceden los mensajes ICMP “Fragment Reassembly Time Exceded”? (identifica la máquina en la topología del anexo)


Como bien se puede observar en la ilustración superior el elemento de Red que nos envia el mensaje es:

La dirección IP - 10.3.7.0 que en la topología es la Máquina Linux 1


6.b. ¿Por qué crees que pueden proceder de esa máquina y no de otra?


Por que se trata de esta máquina la que intenta recomponer los paquetes y al no tener capacidad para ello envía este mensaje de error.




Cuestión 5 - ICMP “Time Exceeded”

Dentro del mensaje ICMP Time Exceeded se analizará el de código 0: Time to Live exceeded in Transit (11/0). En primer lugar, inicia el monitor de red para capturar paquetes IP relacionados con la máquina del alumno y ejecuta el comando:
C:\> ping –i 1 –n 1 10.3.7.0
5.a. Finaliza la captura e indica máquina que envía el mensaje “ICMP Time to Live exceeded in Transit”… ¿Puedes saber su IP y su MAC? (identifica la máquina en la topología del anexo)

Dentro del paquete podemos ver gracias al protocolo Ethernet las MAC que han tomado parte y las direcciones IP gracias a su protocolo y podemos saber gracias a esto que son:


El router Cisco_8c:8c:ff - 172.20.43.230


Inicia de nuevo la captura y ejecuta a continuación el comando:

C:\> ping –i 2 –n 1 10.3.7.0

5.b. Finaliza la captura y determina qué máquina envía ahora el mensaje “ICMP Time to Live exceded in Transit”… Averigua y anota la IP y la MAC origen de este mensaje de error. ¿Pertenecen ambas direcciones a la misma máquina? (identifica las máquinas en la topología del anexo)


Responde el Cisco_8c:8c:ff – 10.4.2.5

No responde la misma Máquina y eso lo podemos ver en la dirección IP desde donde se responde. Que posea la misma MAC que en el apartado anterior quiere decir que el ultimo mensaje que se ha enviado ha sido desde esa dirección, pero no ha sido ella quien lo ha enviado. Esto es por que le hemos añadido más posibles saltos al paquete ping.



Por último, inicia de nuevo la captura y realiza un ping a la siguiente dirección:

C:\> ping –i 50 –n 1 10.3.7.12

5.c. Finaliza la captura y observa el mensaje de error ICMP que aparece en el monitor de red. ¿Qué tipo y código tiene asociado ese mensaje? ¿Qué crees que está sucediendo al intentar conectarte a esa máquina y obtener ese mensaje de error? ¿En qué subred estaría ubicada?


Aquí tenemos una ilustración con los mensajes que nos reenvian.

Este paquete tiene Tipo 11 con Código 0.


Creo que lo que está sucediendo es que esa dirección esta en una red que está ubicada bajo un gran número de putos intermedios y que nuestra petición de ping no es capaz de resolverlo. Ya que está limitada a un tiempo de vida de 50.

miércoles, 19 de mayo de 2010

Cuestión 4 - ICMP "Redirect"

Inicia el Monitor de Red. A continuación ejecutar los comandos:

C:\>route delete 10.4.2.1 (si ya ha sido borrada la ruta, avisa con un error)

C:\>ping -n 1 10.4.2.1

(antes de contestar debes confirmar que en MSDOS el resultado del Ping es correcto: paquetes enviados:1 , paquetes recibidos:1, sino debes repetir los dos comandos anteriores y el proceso de captura en el Monitor de Red)

En base a los paquetes capturados, filtra sólo los datagramas que contengan tu dirección IP y contesta a las siguientes preguntas:


4.a. ¿Cuántos datagramas IP están involucrados en todo el proceso? Descríbelos(tipo, código y tamaño)


Datagrama nº

Tipo y código ICMP

Tamaño del paquete ICMP

Origen IP Destino IP

1

Type: 8 Code: 0

32 Bytes

172.20.43.200 - 10.4.2.1

2

Type: 5 Code: 1 Type: 8 Code: 0

-

172.20.43.230 - 172.20.43.207

3

Type: 0 Code: 0

32 Bytes

10.4.2.1 – 172.20.43.200



4.b.
¿Las direcciones MAC e IP de todas las tramas capturadas con el Monitor de Red hacen referencia al mismo interfaz de red? Indica en qué casos la respuesta es afirmativa y en que casos la dirección IP especifica un interfaz de red que no se corresponde con el mismo interfaz indicado por la MAC.

*Según la tabla de ARP esta MAC correspondería a la dirección 172.20.43.231


De todas formas en esta comunicación faltaría un paquete que sería el de la copia "petición ICMP" que es el paquete que se reenvia.


4.c. ¿Qué máquina o interfaz de red envía el mensaje ICMP Redirect?

Nos responde el router que corresponde a nuestra puerta de enlace predeterminado.

4.d. ¿Qué dato importante para tu PC transporta en su interior ese mensaje de Redirect?

Type: 5 (Redirect)

Code: 1 (Redirect for host)

Gateway address: 172.20.43.231 (172.20.43.231)


Finalmente el dato más importante es el último que te dice la nueva dirección que debe de tomar los paquetes.


4.e. Observa los campos “Identificación”, “TTL” y “Cheksum” del datagrama que se envió originalmente. A continuación, analiza el contenido del mensaje Redirect. ¿Puedes encontrar la misma identificación dentro de los datos (no cabecera) del mensaje ICMP Redirect? ¿Qué ocurre con los campos TTL y Cheksum del datagrama transportado por el Redirect?


Si, podemos encontrar los mismo campos pero vemos como se han visto modificados el Time To Live reduciendose en este caso si pudieramos ver el paquete que en el apartado b hemos dicho que se suprimía veríamos como el TTL se ha reducido en uno. Las sucesivas respuestas desde el Router 1 y desde la máquina final se ve como tanto el Cheksum y el TTL son totalmente distintos entre ellos.