lab1

9
Laboratorio 1: Redes de Telecomunicaciones Juan Carlos Trujillo Quintero 22 de octubre de 2013 Resumen En el presente laboratorio se explican las capas que se manifiestan en el protocolo Ethernet e ICMP de los paquetes que se capturaron en la red inalámbrica establecida en clase con el enrutador TRENDNET. 1. Introducción Inicialmente, se conecta al enrutador con una IP privada 192.168.1.1 y a partir de éste, todos en el salón se conectaron al host fuente con dirección IP 192.168.1.104 y número de máquina. Al ejecutar la prueba de ping se capturan paquetes de la red y se pueden estimar los tiempos de solicitud y de acuse de recibo de la red. El objetivo es identificar y explicar qué se envía y qué se recibe con el protocolo ICMP en la capa de red del protocolo Ethernet. 2. Marco Teórico A continuación se revisa la teoría detrás del laboratorio realizado en clase para poder entender los protocolos y las capas del modelo OSI de Ethernet. 2.1. Ping Una vez conectados a la red inalámbrica, se ejecuta la herramienta ping que es una utilidad de aministración de redes de computadoras que permite probar la accesibilidad a un host en una red con protocolo de Internet y medir los tiempos de retardo de ida y vuelta para mensajes enviados desde un host origen hasta un host destino. El principio de funcionamiento del ping es similar a como funciona un radar o un sonar, una señal es enviada hacia un objeto y se mide el tiempo que dura la señal en volver a su fuente para medir los tiempos y alcances. El comando que se ejecuta en clase es user-PC@user$ ping 192.168.1.104 Que es la IP del host al cual se quería interrogar (mi máquina). Una vez se ejecuta este comando en la consola, se inicia la captura en Wireshark, obteniendo un archivo que se denominó lab1arp, y luego se aborta la interrogación del host. La forma de operar de Ping es enviar un eco de paquetes de interrogación bajo el protocolo ICMP (Internet Control Message Protocol, por sus siglas en ingleś) hasta el host objetivo (especificado con la dirección IP insertada en la terminal) y espera por una respuesta bajo ICMP. En el proceso se mide el tiempo desde la transmisión hasta la recepción (round-trip time) y reporta cualquier pérdida de paquetes. El tiempo que se reporta en Wireshark es el tiempo desde que se inició la captura hsta donde se captura un paquete de respuesta o de interrogación. En consola en cambio se muestra el tiempo medio de ida y vuelta que le toma a un paquete de interrogación en ser respondido. 2.2. ICMP El Protocolo de Control de Mensajes de Internet (Internet Control Message Protocol, por sus siglas en inglés) es usado por los dispositivos en red como enrutadores, para enviar mensajes que indican que un servicio requerido (interrogado) no está disponible o que un host o enrutador no es posible alcanzarlo. ICMP puede ser usado también para retransmitir mensajes de interrogación. La operación de la Internet es monitoreada por los enrutadores, cuando algún error inesperado ocurre durante el procesamiento de paquetes en un router, el evento es reportado al transmisor por el ICMP [2]. 1

Upload: juan-carlos-trujillo

Post on 24-Oct-2015

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lab1

Laboratorio 1: Redes de TelecomunicacionesJuan Carlos Trujillo Quintero

22 de octubre de 2013

ResumenEn el presente laboratorio se explican las capas que se manifiestan en el protocolo Ethernet e ICMP de los

paquetes que se capturaron en la red inalámbrica establecida en clase con el enrutador TRENDNET.

1. IntroducciónInicialmente, se conecta al enrutador con una IP privada 192.168.1.1 y a partir de éste, todos en el salón se

conectaron al host fuente con dirección IP 192.168.1.104 y número de máquina. Al ejecutar la prueba de ping secapturan paquetes de la red y se pueden estimar los tiempos de solicitud y de acuse de recibo de la red. El objetivoes identificar y explicar qué se envía y qué se recibe con el protocolo ICMP en la capa de red del protocolo Ethernet.

2. Marco TeóricoA continuación se revisa la teoría detrás del laboratorio realizado en clase para poder entender los protocolos y

las capas del modelo OSI de Ethernet.

2.1. PingUna vez conectados a la red inalámbrica, se ejecuta la herramienta ping que es una utilidad de aministración de

redes de computadoras que permite probar la accesibilidad a un host en una red con protocolo de Internet y medirlos tiempos de retardo de ida y vuelta para mensajes enviados desde un host origen hasta un host destino. Elprincipio de funcionamiento del ping es similar a como funciona un radar o un sonar, una señal es enviada hacia unobjeto y se mide el tiempo que dura la señal en volver a su fuente para medir los tiempos y alcances. El comandoque se ejecuta en clase es

user-PC@user$ ping 192.168.1.104

Que es la IP del host al cual se quería interrogar (mi máquina). Una vez se ejecuta este comando en la consola,se inicia la captura en Wireshark, obteniendo un archivo que se denominó lab1arp, y luego se aborta la interrogacióndel host. La forma de operar de Ping es enviar un eco de paquetes de interrogación bajo el protocolo ICMP (InternetControl Message Protocol, por sus siglas en ingleś) hasta el host objetivo (especificado con la dirección IP insertadaen la terminal) y espera por una respuesta bajo ICMP. En el proceso se mide el tiempo desde la transmisión hastala recepción (round-trip time) y reporta cualquier pérdida de paquetes. El tiempo que se reporta en Wireshark es eltiempo desde que se inició la captura hsta donde se captura un paquete de respuesta o de interrogación. En consolaen cambio se muestra el tiempo medio de ida y vuelta que le toma a un paquete de interrogación en ser respondido.

2.2. ICMPEl Protocolo de Control de Mensajes de Internet (Internet Control Message Protocol, por sus siglas en inglés)

es usado por los dispositivos en red como enrutadores, para enviar mensajes que indican que un servicio requerido(interrogado) no está disponible o que un host o enrutador no es posible alcanzarlo. ICMP puede ser usado tambiénpara retransmitir mensajes de interrogación. La operación de la Internet es monitoreada por los enrutadores, cuandoalgún error inesperado ocurre durante el procesamiento de paquetes en un router, el evento es reportado al transmisorpor el ICMP [2].

1

Page 2: Lab1

Tipo de Mensaje Descripción

Destination unreachable El paquete no pudo ser enviadoTime exceeded Campo de tiempo de vida en 0

Parameter problem Campo de header inválidoSource quench Paquete en choque

Redirect Enseña a un router la geografíaEcho and reply Comprueba si una máquina vive

Timestamp request/reply Lo mismo que echo pero con timestampRouter advertisement/solicitation Encuentra un reuter cercano

Tabla 1: Los tipos principales de mensajes ICMP.

Bits 0–7 8–15 16–23 24–31 32–· · ·

0 Tipo Código Checksum Resto del encabezado (datos)

Tabla 2: Formato del encabezado de ICMP.

2.2.1. Estructura de ICMP

Existen cerca de na docena de tipos de mensajes ICMP que son encapsulados en un paquete IP. Los mensajesmás importantes de ICMP se muestran en la tabla 1.

Los mensajes que más nos interesan son ECHO y ECHO REPLY que son enviados por hosts para ver si undestino dado es alcanzable y actualmente opera (vive). Cuando se recibe el mensaje ECHO, se espera que el destinoenvíe de vuelta un mensaje ECHO REPLY. Estos mensajes son usados en la utilidad ping para comprobar si unhost está activo y en la Internet [2].

Una vez definido el protocolo ICMP, se procede a describir el formato de los datagramas que se reciben y envían.Todos los paquetes ICMP tienen un encabezado (header) de 8 bytes y una sección de datos de tamaño variable,como se meuestra en la tabla 2.

Los primeros 4 bytes son consistentes. El primer byte del encabezado es para el tipo de ICMP. El segundo bytees utilizado para el código de ICMP. El tercero y cuarto byte son checksum del mensaje entero ICMP. El contenidode los 4 bytes que quedan del encabezado varían dependiendo del tipo y el código de ICMP. Los mensajes de errorICMP contienen una sección de datos que incluye el encabezado IP completo junto a los 8 primeros bytes de losdatos desde el paquete IP que causó el mensaje de error.El paquete ICMP es encapsulado en un nuevo paquete IP[3].

3. Procedimental3.1. Descripción General de ICMP (Utilidad ping)

El objetivo del laboratorio ya descrito es entender el mecanismo de interrogación/respuesta en las que intervienenlas capas física, de enlace de datos y de red en el modelo OSI de Ethernet, cuando la conexión se establece en elrouter TRENDNET con dirección IP 192.168.0.1. A continuación, se interroga la red para poder enviar informaciónal host destino, pero no se conoce el número de máquina del host al que se desea comunicar la información, por locual se ejecuta el Protocolo de Resolución de Direcciones ARP.

Posteriormente, se puede ejecutar el ping y se capturan en wireshark los mensajes que envía la fuente porbroadcast hacia los hosts de la red. El primer bloque de mensajes se muestra en la figura 1. El mecanismo funcionade la siguiente manera: se desea enviar un mensaje desde un host hacia otro, en este caso los demás hosts de la reddesean enviar un mensaje de ping hacia el destino (mi host). El mensaje, que está en la capa de red del host quedesea enviar, pasa su mensaje (datagrama con dirección de fuente y dirección destino) a la capa de enlace para que loenvíe a través de su capa física, sin embargo, no se conoce el número de máquina (dirección destino en el datagrama)pero sí se conoce la dirección IP del nodo al que se desea enviar el mensaje. Entonces, el host fuente debe resolver

2

Page 3: Lab1

Figura 1: Mensajes de ARP.

primero el problema del número de máquina para conocer la dirección física del dispositivo host destino, para estose ejecuta primero el ARP (Protocolo de Resolución de Direcciones) que a partir de la dirección IP del host destinoaverigua o resuelve el número de máquina del mismo o viceversa. Entonces se ejecuta el ARP que es un trabajo de lacapa de aplicación del modelo OSI de Ethernet, que es el protocolo que sigue WLAN. Entonces al ejecutar el ARPel host fuente en su capa de aplicación, envía el mensaje de ARP a todos los nodos de la red, interrogando el númerode máquina del host destino a través de la dirección IP conocida con el comando ifconfig. Entonces el encabezadodel envío contiene la dirección destino (boadcast) = ff:ff:ff:ff:ff:ff, todos los receptores escuchen el mensaje, juntocon el número de máquina de la dirección fuente (host) = 24:ec:99:fe:a1:90, por el puerto Type: ARP (0x0806) quelo hace llegar al protocolo ARP de los nodos. La dirección resuelta por el ARP se puede validar en consola con elcomando

user@user:$ arp -a

Una vez el mensaje llega a todos los nodos, todos escuchan la trama que envía el host fuente, sin embargo,aquel que tiene la dirección IP buscada es el que responde al interrogante de ARP, como se observa en los mensajessubsiguientes, en donde el host fuente ahora responde a aquella dirección IP que requirió saber el número de máquinade la dirección IP deseada, pero este mensaje que surge como respuesta a la interrogación del número de máquinadel host receptor, así que el receptor destino debe armar su trama bajo protocolo ARP para responder a aquel“request” con dirección IP y número de máquina. El datagrama ahora es enviado bajo el puerto 0x0806 que lohace llegar al protocolo ARP del receptor (inicialmente fuente) con el encabezado de dirección fuente (número demáquina interrogado) = 1e:65:e3:ec:4a (número de máquina de mi computador) y con la dirección destino (númerode máquina de quien interrogó) = 24:ec:99:fea1:90. Ahora bien, el host que interrogó el número de máquina armauna tabla en la que contiene la dirección IP y el número de máquina del nodo que se interrogó. La próxima vez quese desee eviar un mensaje a este host, no se debe ejecutar el protocolo ARP nuevamente, pues las direcciones IP yde máquina ya se conocen.

Posteriormente, se ejecuta el protocolo ICMP. Este protocolo se ejecuta debido a que se utiliza el ping comointerrogación y respuesta, no por mensajes de error en el transporte de paquetes en la red (que también puedesuceder). De esta manera, en la captura de paquetes en la red, se obtendrán mensajes ICMP de tipo ECHO yECHO REPLY mencionados anteriormente. Esto se muestra en la figura 3. En la figura 4 se muestra el formato deICMP. Debido a que el escenario en el que se mueve la comunicación es entre una interrogación y una respuesta(ECHO y ECHO REPLY), los números de tipo del encabezado de la trama del protocolo ICMP cambiarán en 8y 0 respectivamente. El número 08 (primer byte de la trama) del encabezado indica el tipo que es un echo (ping)request y el número 00 del encabezado indica el tipo que es un echo (ping) reply. La captura en wireshark muestrael tiempo en el que se atrapa el paquete, mientras que el tiempo mostrado en consola tty de Linux, es el tiempo

3

Page 4: Lab1

de ida y vuelta (tiempo de retraso) que tarda el mensaje en ir a través de la red y volver a su transmisor paracaracterizar la red en términos de si está activa o si es alcanzable, como se muestra en la figura 4.

Figura 2: PING en red de área local inalámbrica.

El segundo byte es un número de código de ICMP, para el caso de echo ping request y echo ping reply el númerode código para ambos identificadores es 00. Se observa además que por cada “echo request” existen dos “echo reply”por parte del host interrogado con un time–to–live (ttl) de 64 µs. Además, se observa que los bits que Ethernet (encapa de enlace) agrega en el datagrama a enviar son el número de máquina del destino y el número de máquina dela fuente.

Figura 3: Ejecución de ICMP.

4

Page 5: Lab1

Figura 4: Formato de ICMP.

3.2. Descripción por capas de la comunicaciónEn esta sección se describir el proceso que se lleva a cabo en la comunicación por capas dentro del modelo OSI

de Ethernet para la subred que se conformó en clase. A continuación, se describen las capas que entran a jugar unpapel importante dentro de la comunicación.

ARP request/replyPara esta primera parte se analiza el primer mensaje de tipo de protocolo ARP obtenido en la captura de

paquetes que se muestra en la figura 5.

Figura 5: Mensaje del protocolo ARP.

Cuando se envía un ARP request, se describen las capas que intervienen en la ejecución de un ARP request.En la capa de aplicación es donde se ejecuta el protocolo ARP. Cuando un host desea enviar un mensaje aotro, la fuente arma el datagrama (en su capa de enlace) con la dirección fuente u, seguido de la dirección destinov y luego la carga útil (información de la capa de red) como se muestra en la figura 6. Sin embargo, la capa de

5

Page 6: Lab1

enlace no conoce la dirección de máquino del destino, por lo tanto, se recurre a la capa de aplicación para queejecute el protocolo ARP, de manera que u envía ese mensaje a todos los hosts de la red, con el datagrama que semuestra en la figura 7. De la figura 5 se observa que la fuente ubicada en 24:ec:99:fe:a1:90 envía broadcast (hace lasveces de destino) a todos los hosts, requiriendo saber quién tiene la dirección IP 0.0.1.104, que es la que se obtienedespués de ejecutar una compuerta AND bit a bit (bitwise) con la máscara que define los números de nodo MASK= 0.0.255.255.

Direcciónde fuente (u)

Direccióndestino (v)

Información de la capa de red

Figura 6: Datagrama que forma la capa de enlace con la información de la capa de red.

11111... NúmeroMáq. u

Información de la capa de enlace

(Broadcast)

Rx Tx ARP request

CRC

Corrección deerrores

Figura 7: Datagrama enviado por ARP.

De la figura 8 se observa que los primeros 14 bytes del mensaje corresponden a los encabezados de la capa deenlace de la que se hablará posteriormente, mientras que los bytes restantes corresponden a la información para lacapa de aplicación (en la ejecución de ARP). Estos bits corresponden a el tipo de Hardware o protocolo utilizadoen el proceso de comunicación que para el caso es Ethernet (01) = 00 01. Posteriormente se agrega al datagramade la capa de enlace el número de puerto que hace llegar el mensaje ARP de un host al protocolo ARP de otro host(destino). Luego de esto, se agrega el identificador del tipo de protocolo usado en la red que es IP (0x0800), y seguidode un código que identifica si es request (00 01) o reply (00 02). A continuación se observan los siguientes campos.Primero se encuentra la dirección de máquina del transmisor, que en el caso de ARP request, esta dirección es la delhost que interroga (24:ec:99:fe:a1:90). Después se encuentra la dirección IP del transmisor, que en ARP request es ladel host que interroga (192.168.192.168 = c0:a8:c0:a8). Seguido se encuentra la dirección de máquina del receptor,que como no se conoce (es lo que se desea averiguar), se envía en cero (00:00:00:00:00:00) y posteriormente, seencuentra la dirección IP del receptor (192.168.1.104), que sí se conoce y se desea, en este caso, averiguar el númerode máquina de un host cuya dirección IP es conocida.

Figura 8: Mensaje de ARP (carga útil del protocolo Ethernet).

En la capa de red, donde se ejecuta el protocolo Ethernet, se observan las tramas que utiliza la capa paraenviar un datagrama a un destino. Cuando un host envía un mensaje a otro, la capa de red (Ethernet) incluyedentro del mensaje las direcciones fuente y destino como se muestra en la figura 6. Estas direcciones se muestran enwireshark en la figura 9. Se observa que para resolver la dirección destino, se envía como dirección fuente el númerode máquina de la fuente (u) que es 24:ec:99:fe:a1:90 y se envía con dirección destino a todos los hosts (broadcast)

6

Page 7: Lab1

Figura 9: Direcciones fuente y destino en capa de red (Ethernet).

de la red con número ff:ff:ff:ff:ff:ff. En los siguientes 2 bytes, el protocolo Ethernet agrega el identificador de tipo deejecución, el servicio que brinda Ethernet (capa de red) a la capa de enlace (para ejecutar ARP). Esto es, se indicaa la capa de enlace lo que debe preparar para ejecutar el protocolo ARP (las tramas que debe agregar para realizarARP reply/request), a nivel de la capa de enlace en la comunicación, que para el caso de ARP es 0x0806, que es elcampo que sigue en el encabezado de la trama en la capa de enlace.

En la capa física, se observan los tiempos y los tamaños de los datagramas recibidos con sus respectivos erroresy tasas de transmisión. Esta capa es la encargada de que si en un transmisor se envía un “1” lógico, en el receptor,el “1” lógico enviado se detecte como un “1” lógico recibido.

Cuando se envía un ARP reply, el destino v recibió el mensaje enviado por u y está preparado para enviar unarespuesta. En este caso, las capas que intervienen en la comunicación de este mensaje de respuesta son las mismas,sólo se intercambian los destinos y fuentes. En la figura 10 se observa la jerarquía de un ARP reply.

En la capa de aplicación, se tiene que ahora v es el transmisor y u el receptor. Lo que envía v es la respuesta alinterrogante de u: su dirección de máquina. En la figura 11a se observa la trama para la ejecución de ARP reply. Enesta ocasión, la fuente (v) ubicada en 00:1e:65:e3:ec:4a envía su respuesta al destino (u) ubicado en 24:ec:99:fe:a1:90.

De la figura 11a se observa que los primeros 14 bytes del mensaje corresponden a los encabezados de la capa deenlace por tanto el análisis es equivalente al que se efectuó anteriormente. Como se está realizando un ARP reply,se cambia el identificador de reply (00 02). Los siguientes campos se definen en el mismo orden como se definieronen un ARP request, sin embargo como los papeles de transmisores y receptores se han invertido, tambíen lo hacenestas direcciones. Primero se encuentra la dirección de máquina del transmisor, que en el caso de ARP reply, estadirección es la del host que responde (00:1e:65:e3:ec:4a). Después se encuentra la dirección IP del transmisor, queen ARP request es la del host que responde (192.168.1.104 = c0:a8:01:65). Seguido se encuentra la dirección demáquina del receptor (u) que es (24:ec:99:fe:a1:90) y posteriormente, se encuentra la dirección IP del receptor (u)en (192.168.1.101 = c0:a8:01:65).

En la capa de red, las tramas intercambian posiciones. En la figura 11b se muestra la información para lacapa de red en el ARP reply. En este caso, el host al que se quería conocer su dirección de máquina conocida sudirección IP, la envía dentro del datagrama de ARP reply, entonces se envía como dirección fuente el número demáquina del destino (v) que es 00:1e:65:e3:ec:4a y se envía con dirección destino a quien la requirió (u) con númerode máquina 24:ec:99:fe:a1:90. Al igual que en ARP request, en los siguientes 2 bytes, el protocolo Ethernet agregael identificador de tipo de ejecución, que es el protocolo ARP, que para el caso de ARP es 0x0806, que es el campoque sigue en el encabezado de la trama en la capa de enlace. 11b

4. Ataque del Hombre en el Medio (Man-in-the-Middle Attack)Este es un concepeto frecuentemente encontrado en redes de telecomunicaciones y hace referencia a un ataque

en el que el enemigo adquiere la capacidad de leer, insertar y modificar a voluntad, los mensajes entre dos partessin que ninguna de ellas conozca que el enlace entre ellos ha sido violado. Existen una gran variedad de ataques ya continuación se mencionan los más conocidos o más comúnmente encontrados. Es comúnmente abreviado como

7

Page 8: Lab1

Figura 10: Ejecución de ARP reply.

(a) (b)

Figura 11: Trama de las capas a) de enlace y b) de red.

MITM.

4.1. ARP Poisoning (o ARP Spoofing)El ARP Poisoning es un ataque de tipo MITM para redes Ethernet, que permite al atacante capturar el tráfico

que pasa por la red y también detenerlo (una denegación de servicio o DoS). El ataque consiste en enviar algunosmensajes ARP falsos o “spoofed” que contienen las direcciones MACmanipuladas según la conveniencia del atacante.Estos mensajes confunden a los dispositivos de red (principalmente a los switchs). Como resultado los frames de lasvíctimas son enviados al atacante o a un destino no válido en el caso de una “DoS”. Este ataque puede ser prevenidoo limitado utilizando entradas estáticas en las tablas ARP de los Hosts o usando tecnologías de seguridad en capade acceso como 802.1x o NAP “Network Access Protection”.

4.2. DNS SpoofingEl protocolo DNS “Domain Name System” convierte nombres en direcciones IP, como por ejemplo www.google.com

a 64.233.161.147 y también la resolución inversa. La forma en que se ataca es utilizando respuestas falsas a laspeticiones de resolución DNS (los request) enviadas por una “víctima”. Existen dos métodos en los que puedebasarse el atacante: DNS “ID Spoofing” y “Cache poisoning” (envenenamiento de la caché). Dado que existe esteataque se vuelve muy importante que los servidores de caché de DNS hagan sus consultas utilizando ID aleatorios.Otros ataques de tipo MITM son

DHCP Spoofing

STP Mangling

Port stealing

ICMP redirection

8

Page 9: Lab1

IRDP spoofing

Route mangling

802.1x/NAC/NAP

En general el uso de tecnologías de control de acceso como 802.1x/NAC/NAP sería suficiente para impedir o mitigartodos los ataques MITM de tipo local. Lamentablemente no todas las empresas u organizaciones pueden costearestas tecnologías. Una forma de proteger nuestras redes de estos ataques es reemplazando todos los protocolosinseguros por protocolos seguros, que aunque no impiden estos ataques de forma definitiva, los hacen inútiles parael atacante, debido a que se ve imposibilitado de descifrar o alterar la comunicación.

ConclusionesEs importante destacar que la ejecución del protocolo ARP no se lleva a cabo en la capa de enlace o de red,hace parte de la capa de aplicación en el modelo OSI de Ethernet.

Por cada request que se realiza por parte del host fuente existen dos echo reply por parte del host destino,debido a la señal de acknowledgement que se envía como acuse de recibo del paquete/trama/datagrama.

Debido a que los hosts se encuentran en una misma subnet y a pesar de que al enrutador estaban conectadosmás de cuatro hosts, el tiempo medio de ida–vuelta es pequeño, de aproximadamente 64 µs y todos los hostsestán activos y alcanzables para intercambiar paquetes entre ellos.

Es fundamental en redes de telecomunicaciones diseñar los enlaces de tal manera que se preserve la seguridado por lo menos disminuirla en gran medida, debido a que los ataques MITM pueden hacer colapsar a la redy debido a que el ataque se hace de manera , no es posible avisar a los hosts que existe robo/pérdida deinformación.

Referencias[1] A. Tanenbaum, D. Wetherall. Computer Networks. 5th Edition. 2011. pp. 465-466.

[2] Internet Control Message Protocol (ICMP). Wikipedia. Disponible Online.

[3] Ataque Man-in-the-Middle o JAMUS. Wikipedia. Disponible Online.

[4] A. Tanenbaum, D. Wetherall. Computer Networks. 5th Edition. 2011. pp. 859.

9