Está en la página 1de 11

Prctica

6
Objetivos

Redes de Computadores

Introduccin al Analyzer. El protocolo ARP

La monitorizacin de redes resulta una herramienta fundamental en dos sentidos. Por un lado, permite apreciar de forma realista muchos de los conceptos fundamentales de las redes en general, y de los protocolos TCP/IP en particular (encapsulacin, fragmentacin, secuenciacin de mensajes, etc). Por otro lado, permite realizar un diagnstico muy preciso de las redes en funcionamiento, desde la deteccin de errores, la verificacin de los mecanismos de seguridad y la evaluacin de prestaciones de la red. Es por ello que en esta primera prctica estudiaremos una herramienta gratuita de monitorizacin de redes, denominada Analizer, que trabaja sobre un interfaz de red denominado WinPCap. Es posible encontrar ms informacin en la web http://analyzer.polito.it/ La monitorizacin de red, o captura de tramas, consiste en la obtencin directa de tramas tal y como aparecen a nivel de LAN. Puesto que el medio de transmisin es, generalmente, una lnea de difusin, la monitorizacin permite observar la totalidad de las comunicaciones que tienen lugar a travs de la red, y por tanto resulta una herramienta muy potente, tanto desde el punto de vista positivo (diagnstico de red) como el negativo (compromete la confidencialidad de las comunicaciones). La cantidad de informacin obtenida de una monitorizacin es enorme. Por tanto, es necesario establecer unos filtros de aceptacin, que permiten que las tramas no consideradas relevantes no se almacenen ni muestren al usuario. Los objetivos de la presente prctica pueden resumirse en los siguientes: Que el alumno conozca y comprenda los fundamentos de la monitorizacin de redes, encapsulado de unidades a diferentes niveles y demultiplexacin de las mismas. Que el alumno adquiera la habilidad necesaria para realizar sin dificultades la seleccin de los filtros adecuada. Que el alumno afiance sus conocimientos tericos acerca del protocolo ARP mediante observacin de casos reales.

Descripcin El paquete Analyzer


Analyzer es una aplicacin completamente configurable para el anlisis mediante monitorizacin de redes locales en entornos TCP/IP sobre cualquiera de las tecnologas soportadas por el interfaz WinPcap. El programa an se encuentra en desarrollo en el Politecnico di Torino. Su instalacin debe ir precedida por la instalacin de WinPcap. Ambos programas se encuentran disponibles en versin instalable en la pgina anteriormente mencionada. A pesar de que existe una nueva versin 3 beta, se ha optado en la presente prctica por la versin 2.2, y las pantallas y mens comentados corresponden a dicha versin. Como puede apreciarse en la figura, tras la pantalla de presentacin, la pantalla principal de la aplicacin est encabezada por un men, as como varias barras de iconos que resultan equivalentes a la misma.

Captura de tramas
Para comenzar la captura emplearemos la opcin File New Capture, o bien el botn correspondiente en la barra de tareas, indicado en la imagen con una flecha

En ambos casos se abre la ventana de seleccin de filtros. En ella se encuentran varios parmetros importantes: Select Adapter: Permite, en caso de que nuestro computador disponga de diversos interfaces de red, indicar sobre cul de ellos se realizar la captura. Es destacable que en muchos casos se detecta un interfaz de red genrico NDIS que corresponde a un acceso alternativo a la tarjeta de red, o bien las conexiones de acceso telefnico. En tal caso, es conveniente seleccionar el interfaz de ms bajo nivel (por ejemplo, antes la tarjeta que el interfaz NDIS), y tener en cuenta que el acceso telefnico a redes no es totalmente compatible con WinPcap

Promiscouos Mode : En modo normal, las tarjetas de red nicamente almacenan aquellas tramas que han sido dirigidas explcitamente a su direccin MAC, aquellas dirigidas a grupos suscritos o difusiones. Para la monitorizacin entre dos mquinas desde una tercera es imprescindible recibir trama s que no cumplen ninguna de estas tres condiciones, y que por lo tanto seran ignoradas en condiciones normales. Mediante esta casilla se indica al adaptador de red que pase a modo promiscuo, en el cual debe recoger todas las tramas que aparezcan por la red sin considerar las condiciones anteriores. Select Filter: Permite seleccionar cules de las tramas recibidas por el adaptador deben ser almacenadas por el programa. En nuestro caso, comenzaremos probando el protocolo ARP.

En este paso existen varias posibilidades. Una de ellas consiste en seleccionar alguno de los filtros predefinidos en el rbol de la derecha, que representan a las capturas ms habituales. Por otro lado, tambin es posible especificar un filtro mediante un mtodo similar al empleado por el programa TCPDUMP, que se especifica en un anexo al final de la presente prctica. Es necesario realizar un inciso acerca de la visibilidad de tramas. En un medio de difusin, como por ejemplo ethernet sobre coaxial o con hubs, todas las tramas son visibles por todas las estaciones. Sin embargo, si existen en la topologa puentes, conmutadores o pasarelas, estos elementos actan como divisores de dominios de colisin, y por tanto impiden la visibilidad de las tramas que no entran en el dominio de colisin del monitor. El laboratorio de redes se encuentra aislado del resto de la UPVNET por una pasarela router. Por tanto, nicamente sern visibles las tramas correspondientes al laboratorio y los servidores de redes (herodes y zoltar)

El siguiente paso consiste en lanzar la captura de tramas, aplicando el filtro seleccionado.

Cuando se considere realizada la captura, se detendr mediante el botn Stop y la aplicacin pasar a mostrar los paquetes capturados con el siguiente formato:
Lista de tramas capturadas

Detalle por campos

Volcado hexadecimal y ASCII del campo de datos de la trama

Cuando se selecciona en la lista de tramas capturadas en el recuadro inferior aparece un rbol con el detalle de los campos de cada nivel (informacin general, informacin de ethernet, etc. ), y a la derecha un volcado hexadecimal y otro ASCII del campo de datos de la trama.

Pasos
(1) Capturando paquetes IP Como primera aproximacin a la utilizacin de la aplicacin para captura de paquetes y anlisis de protocolos Analyzer, a continuacin realizaremos una captura de paquetes IP y analizaremos los formatos de las tramas generadas que contengan datagramas IP

Paso 1: Iniciamos una captura (File New Capture...), o bien mediante el icono correspondiente, y definimos un filtro que capture todas las tramas que contengan datagramas IP que entren o salgan de nuestro computador. Para realizar esta seleccin podramos seleccionar el protocolo IP del rbol de la derecha (dentro del apartado Network Layer) o bien escribir en el campo User-defined filter el filtro ip. No obstante, si queremos evitar sobrecargar la captura con paquetes de difusin, podemos afinar ms el filtro indicando ip and not ip broadcast and not ip multicast . Asegrate de que el adaptador de red escogido es el correcto y que no ests recibiendo en modo promiscuo Una vez definido el filtro, se comienza la captura de paquetes pulsando OK. Para generar algo de trfico en tu mquina, abre un cliente web (Netscape, Explorer) y accede a la pgina www.redes.upv.es. Cuando haya finalizado la descarga de la pgina seleccionada, detn la captura. Obtendrs un resultado similar al de la figura: Selecciona en la parte superior de la ventana la primera trama que ha generado tu computador. Analiza los diferentes campos de la cabecera de la trama Ethernet y de la cabecera IP. A partir de esta informacin rellena las siguientes tablas: Cabecera de la trama Ethernet capturada:
Direccin fsica destino Direccin fsica origen tipo

Cabecera del paquete IP capturado:


Versin longc tipo servicio long total

Identificacin

flags

desplaz. fragmento

tiempo vida

protocolo

checksum de la cabecera

direccin IP fuente

direccin IP destino

opciones (variable)

El significado de estos campos se estudiar con detalle en el tema de IP.

Cuestiones La orden arp


El computador que estamos utilizando en esta prctica est conectado a una red de rea local Ethernet que, a su vez, se conecta a Internet a travs de un router. Cuando las aplicaciones en red (Netscape, por ejemplo) generan peticiones para otros computadores de Internet, crean paquetes (tambin llamados datagramas) que contienen la direccin IP de la mquina destino. El uso de direcciones IP (y de los protocolos TCP/IP) crea la ilusin de que todas las mquinas que se comunican pertenecen a una nica (e inmensa) red comn: Internet. Si la direccin IP destino corresponde a una mquina de nuestra propia (sub)red (158.42.180.xxx), el paquete puede ser entregado directamente a su destino sin ms intermediarios. Sin embargo, cuando la direccin IP corresponde a una red o subred externa, la entrega de la informacin debe realizarse a travs del router. En primer lugar, habr que entregar la informacin al router de nuestra red y ste ser el encargado de encaminar el paquete para hacerlo llegar e la red destino donde se encuentra el computador referenciado. Como vemos, en cualquiera de los dos casos, en una primera instancia se realiza una transmisin de informacin a travs de la red de rea local. Desafortunadamente, las direcciones IP no son, por s mismas, vlidas para transmitir una trama a travs de la red de rea local. Las tarjetas adaptadoras de red que conectan las estaciones con el medio no entienden las direcciones IP, slo entienden direcciones fsicas. Por tanto, para que un datagrama IP viaje por la red de rea local, este debe encapsularse dentro de un trama (Ethernet en nuestro caso). Esa trama Ethernet contiene la direccin fsica del siguiente destino que, como hemos visto, puede tratarse del computador final al que van dirigidos los paquetes (origen y destino en la misma red local) o del router que encaminar el paquete hacia el exterior (origen y destino distintas redes o subredes).

En TCP/IP se utiliza un protocolo para la obtencin de direcciones fsicas a partir de direcciones IP dentro de una red de rea local. Este protocolo se conoce con el nombre ARP (Address Resolution Protocol). Los detalles del funcionamiento de este protocolo se han visto en las clases de teora del curso. En esta prctica nos limitaremos a comprobar la existencia de este protocolo a travs de la orden arp de DOS. Esta orden permite ver (y modificar) la cach ARP de nuestro computador. La cach ARP es una tabla que almacena temporalmente las relaciones entre direcciones IP y direcciones fsicas que ha conseguido averiguar nuestro computador utilizando el protocolo ARP. Es importante destacar, que la mayora de estas entradas se generaran automticamente (y de forma transparente al usuario) cuando se ejecuta una aplicacin Internet (ping, cliente web, cliente ftp, etc.). Por tanto, muy rara vez (fuera de esta prctica) es necesario que el usuario modifique manualmente esta tabla. Ms concretamente, la orden arp de DOS permite:

Ver la cach local de ARP (arp a) Eliminar entradas de la cach (arp d direccin_IP o arp d *) Aadir entradas a la cach ( arp s direccin_IP direccin_Fsica)

(2) Utilizando el comando arp. Paso 1: Desde una ventana DOS ejecuta la orden arp a para comprobar que la cach ARP est vaca. Si no lo est, cierra todas las aplicaciones que hagan uso de la red y elimina la entradas del a cach ARP usando la orden arp d *, o simplemente esperando un par de minutos (sin ejecutar nuevas aplicaciones en red) y las entradas desaparecern de la cach. A continuacin ejecuta un navegador WEB para acceder a la mquina 158.42.180.64 (es la direccin de la mquina www.redes.upv.es) mediante el URL http://158.42.180.64 y examina de nuevo la cach ARP. Anota la informacin obtenida en la tabla siguiente:
Direccin IP Direccin Fsica

Paso 2: Elimina manualmente las entradas de la cach ARP (o espera un par de minutos) y utiliza el mismo navegador para acceder al servidor www.uji.es. Anota la informacin obtenida en la tabla siguiente:
Direccin IP Direccin Fsica

Cuestin 1: A qu mquina corresponde la direccin almacenada en la cach?. Consulta la informacin ofrecida por la orden ipconfig para resolver este apartado. Crees que esta direccin corresponde a la mquina www.uji.es? Por qu?

Paso 3: A continuacin emplearemos el Analyzer para observar la secuencia de pasos de una peticin ARP y los efectos en la cach ARP. Para ello necesitaremos ejecutar simultneamente: a) Una ventana MSDOS donde emplearemos el comando arp para ver la cach ARP y la orden ping para generar las peticiones correspondientes. b) El Analyzer para observar el detalle de las tramas que se transmiten y reciben. En primer lugar, prepara la captura con el Analyzer de forma anloga a la empleada anteriorme nte: El objetivo consiste en la captura de todas las tramas ARP relativas a nuestro computador. No lances an la captura. Una vez dispuesto el monitor, en la ventana MSDOS vaca la cach ARP mediante el comando arp d * Tras ello, pon en marcha la captura. Vuelve a la ventana MSDOS y ejecuta la orden ping zoltar.redes.upv.es. Dicha orden ser estudiada con ms detalle en prcticas futuras. Baste decir aqu que causa la transmisin y recepcin de una serie de datagramas IP sobre la mquina destino. A continuacin muestra la cach ARP con la orden arp a. Detn la captura en el Analyzer Rellena la siguiente tabla con el contenido de dicha cach.
N 1 2 3 Direccin IP Direccin Fsica

Vuelve al Analyzer y observa las tramas recibidas.

En un caso ptimo, la captura contendra nicamente dos tramas, un ARP REQUEST y su correspondiente ARP REPLY. No obstante, es habitual que tambin se hayan capturado ARP REQUEST que no estn relacionados con el ping ejecutado. A efectos de este ejercicio, no consideraremos estas tramas. Rellena la tabla siguiente con la informacin extrada del ARP REQUEST Cabecera de la trama:
Direccin fsica destino Direccin fsica origen tipo

Mensaje ARP REQUEST:


Tipo de hardware Tipo de protocolo

Longitud direccin fsica

Longitud direccin protocolo

Operacin

Direccin fsica fuente

direccin IP fuente

Direccin fsica 2

direccin IP 2

Rellena la tabla siguiente con la informacin acerca de la trama ARP REPLY Cabecera de la trama:
Direccin fsica destino Direccin fsica origen tipo

Mensaje ARP REQUEST:


Tipo de hardware Tipo de protocolo

Longitud direccin fsica

Longitud direccin protocolo

Operacin

Direccin fsica fuente

direccin IP fuente

Direccin fsica 2

direccin IP 2

Cuestin 2: Qu ent rada de la cach ARP observada en la pregunta anterior corresponde con estas tramas?

Cuestin 3: Si existen otras entradas en la cach A que tramas de las capturadas corresponden?

Cuestin 4: De todas estas entradas en la cach Cul crees que se eliminar antes? Por qu?

Paso 4: Monitoriza la cantidad de paquetes ARP que recibe tu PC. Para ello inicia el Analyzer y selecciona la opcin statistics New Real Time monitor. El filtro adecuado es arp. En el ajuste de las caractersticas de monitorizacin selecciona la opcin de visualizar el trfico en nmero de paquetes (show traffic packets ) , dejando el resto de los parmetros con los valores por omisin. A continuacin se nos presentan cuatro tipos de visualizacin: Texto en columna de valores, lneas, barras verticales o diagramas de tartas. Selecciona lneas y procede a la captura. Observa el monitor en marcha durante algunos minutos, y anota de forma aproximada el valor mximo que aparece.
Paquetes/segundo

Apndice A: Definicin de filtros


Analyzer y Ethereal utilizan la misma sintaxis para la definicin de filtros que la orden de Unix tcpdump. La descripcin que se ofrece a continuacin no es m s que una adaptacin de la informacin que aparece en la pgina man de tcpdump. Un filtro de captura consiste en un conjunto de expresiones primitivas conectadas mediante conjunciones (and/or) y opcionalmente precedidas por not: [not] primitiva [and|or [not] primitiva ...] Ejemplo 1 . Captura trfico telnet (puerto 23) desde y hacia el host 10.0.0.5. : tcp port 23 and host 10.0.0.5 Ejemplo 2 . Captura trfico telnet no dirigido ni generado por el host 10.0.0.5. : tcp port 23 and not host 10.0.0.5 Una primitiva es una de las expresiones siguientes: [src|dst] host <host> Permite filtrar el trfico generado (src ) o recibido (dst) por un <host>, indicando su direccin IP o su nombre. Si no se especifica ni src ni dst, se seleccionan todos los paquetes cuya direccin origen o destino coincide con la del computador especificado. ether [src|dst] host <ehost> Permite filtrar basndose en la direccin Ethernet. Como antes, se puede indicar src o dst para capturar slo el trfico saliente o entrante. gate way host <host> Permite filtrar paquetes que usan al <host> como un gateway (router). Es decir, paquetes cuya direccin fsica (origen o destino) es la del host, pero las direcciones IP (origen o destino) no corresponden al host. [src|dst] net <net> [{mas k <mask>}|{len <len>}] Permite seleccionar paquetes basndose en las direcciones de red. Adicionalmente, se puede especificar un mscara de red o el prefijo CIDR cuando sea diferente al de la propia mquina desde donde se realiza la captura. [tcp|udp] [src|dst] port <port> Permite un filtrado basado en los puertos TCP y/o UDP. Las opciones [tcp|udp] [src|dst] permiten restringir el filtrado slo a los paquetes de un protocolo (TCP o UDP), o slo a los que utilizan el puerto como origen o como destino. less|greater <length> Selecciona paquetes cuya longitud sea menor o igual (less ) o mayor o igual (greater) que un valor dado <length>. ip|ether proto <protocol> Selecciona paquetes del protocolo especificado, bien al nivel Ethernet o al nivel IP. ether|ip broadcast|multicast Permite filtrar difusiones (broadcast) o multidifusiones (multicast) Ethernet o IP. <expr> relop <expr> Esta primitiva permite crear filtros complejos que seleccionan bytes o rangos de bytes en los paquetes. Vase el manual de tcpdump para ms detalles.