Vous êtes sur la page 1sur 10

Prctica.

Analizador de red WireShark

En esta prctica vamos a empezar a utilizar un analizador de protocolos de red (conocido coloquialmente como sniffer). Veremos sus funciones principales y cmo emplearlo para estudiar algunos protocolos sencillos, como ICMP (el protocolo del comando PING, ver apartado 2.4 del guin de la prctica 1 para recordarlo) o HTTP (el protocolo utilizado para acceder a pginas web).

Apartado 1. Pantalla principal del analizador WireShark


En la siguiente figura se presenta un ejemplo de la pantalla principal del programa, en la que se pueden ver los distintos elementos que la componen, cuya descripcin se da a continuacin.

CD

3
Figura 1. Pantalla principal de WireShark

1. Panel de lista de paquetes: muestra un resumen de cada paquete capturado. Pulsando sobre los paquetes de este panel se controla el contenido de los otros dos paneles.

2. Panel de vista en rbol: muestra el paquete seleccionado en el panel superior (1) con ms detalle, permitiendo acceder a los distintos niveles de protocolos. Al pulsar sobre cada uno de los niveles se resaltan los datos del paquete correspondientes a dicho nivel en el panel inferior (3). 3. Panel de detalle de los datos: muestra el contenido del paquete seleccionado en el panel superior (1) en formato hexadecimal y ASCII. Adems de los tres paneles principales, tenemos los cuatro elementos adicionales siguientes en la parte superior de la pantalla de WireShark: A. Botn de filtro: permite definir un filtro para la visualizacin de los paquetes, de forma que podamos concentrarnos en el anlisis de un determinado protocolo o en el trfico entrante o saliente de un ordenador determinado. B. Texto del filtro: aqu aparece el texto del filtro. Es posible introducir el texto del filtro directamente en este campo y seleccionar alguno de los filtros que se hayan utilizado anteriormente. C. Botn para eliminar el filtro: pulsando este botn se elimina el filtro que estuviera activo, presentndose en el panel principal (1) todos los paquetes capturados. D. Botn para aplicar filtro: pulsando este botn se aplica el filtro definido y en el panel principal (1) se muestran nicamente los paquetes que cumplan las condiciones indicadas en el filtro.

Apartado 2. Comienzo de una sesin de captura


La captura de paquetes se activa mediante la opcin del men Capture > Options . Al hacerlo aparece el siguiente cuadro de dilogo.

Figura 2. Ventana de opciones para iniciar la captura

Debemos especificar la interfaz de red sobre la que vamos a capturar los paquetes, utilizando para ello el cuadro denominado Interface, situado en parte superior del cuadro de dilogo mostrado en la figura anterior. Si el ordenador dispone de mdem o tiene varias tarjetas de red, tendremos que seleccionar la que queramos analizar. El resto de opciones podemos dejarlas, de momento, con los valores predeterminados. Antes de comenzar la captura desmarca, en el cuadro de dilogo mostrado en la figura 2, la opcin Hide Capture Info Dialog, en el apartado Display options. De esta manera, cuando pulses sobre el botn Start comenzar el proceso de captura y podrs observar su evolucin en un cuadro como el de la siguiente figura.

Figura 3. Ventana de progreso de la captura

Aqu podremos ver el nmero de paquetes capturados de los principales protocolos que maneja WireShark. Tambin podremos detener la captura pulsando sobre el botn Stop. Una vez terminada una sesin de captura, en la ventana principal aparecer la informacin de los paquetes capturados, como se muestra en la figura 1. Tambin existe la opcin de presentar la informacin de los paquetes capturados segn se van capturando. Para ello, es necesario activar la casilla Update list of packets in real time, que se encuentra en la seccin Display options del cuadro de dilogo de opciones de captura (figura 2, que aparece seleccionando la opcin del men Capture > Options )

Apartado 3. Filtrado de informacin


Dada la enorme cantidad de informacin que circula por una tarjeta de red mientras est funcionando, resulta especialmente til poder limitar de alguna manera dicha

informacin, para poder concentrarse en el anlisis del trfico de red concreto que interese estudiar. WireShark ofrece numerosas posibilidades de filtrado de informacin, que bsicamente consisten en la seleccin de protocolos, la definicin de un filtro de captura y la definicin de un filtro de presentacin de la informacin. La utilizacin de cada una de estas opciones se detalla en los siguientes apartados. 3.1 Protocolos Como primer nivel de filtrado, podemos escoger los protocolos con los que deseamos trabajar. La lista completa de protocolos que maneja WireShark puede verse en un cuadro de dilogo al que podremos acceder mediante la opcin del men Analyze > Enabled Protocols En dicho cuadro de dilogo, que se presenta a continuacin, podemos activar o desactivar la utilizacin de los protocolos que deseemos.

Figura 4. Ventana de activacin/desactivacin de protocolos

A la hora de activar o desactivar protocolos, debemos tener en cuenta la advertencia que aparece en este cuadro de dilogo, y que indica que, si desactivamos un protocolo, no aparecern los protocolos de los niveles superiores que dependen de l. Por ejemplo, si desactivamos el protocolo de nivel de transporte (nivel 4 OSI) TCP, no aparecern tampoco todos los protocolos de nivel de aplicacin (nivel 7 OSI) que dependan de l, como HTTP, SMTP, FTP y muchos otros. Para realizar las tareas de esta prctica dejaremos activados inicialmente todos los protocolos que maneja el programa. No obstante, el alumno puede experimentar con la

activacin y desactivacin de alguno de estos protocolos para comprobar el efecto que tiene. 3.2 Captura El siguiente nivel de filtrado que ofrece WireShark se aplica al proceso de captura de los paquetes de red. Podemos definir un filtro que capture nicamente los paquetes de un determinado protocolo o destinados a un determinado ordenador o puerto. La utilizacin de un filtro se realiza en el cuadro de dilogo de opciones de captura (figura 2), introduciendo la expresin del filtro en el cuadro de texto situado al lado del botn Capture Filter. En esta prctica no vamos a detenernos a estudiar los filtros de captura, pero el alumno puede experimentar con diversas expresiones de filtro para comprobar su efecto. Por ejemplo, la siguiente expresin: tcp port 80 and host 192.168.1.5 forzar la captura nicamente de los paquetes del protocolo TCP con origen o destino en el puerto 80 y cuyo origen o destino sea un ordenador con direccin IP 192.168.1.5. Otra posibilidad de filtrado a la hora de capturar paquetes consiste en desactivar el modo promiscuo, de forma que slo se capturen los paquetes originados o destinados a nuestro ordenador. Para ello, slo tendremos que desmarcar la casilla denominada Capture packets in promiscuous mode en el cuadro de dilogo de opciones de captura (figura 2). Es recomendable desactivar el modo promiscuo en cualquier caso porque, si est activado, WireShark capturar multitud de paquetes correspondientes a otros ordenadores, lo que complicar el anlisis de la informacin que nos interesa. 3.3 Presentacin El ltimo nivel de filtrado de que disponemos en WireShark es el de presentacin de los paquetes. Podemos definir un filtro mediante el cual seleccionemos, para que se vean en el panel principal (1), nicamente aquellos paquetes de datos que nos interesa analizar. Este tipo de filtro es el ms completo y en su expresin se pueden utilizar la mayor parte de los parmetros de lo protocolos que estamos analizando. Para utilizar un filtro de presentacin podemos escribir su expresin directamente en el recuadro de texto del filtro (B) y aplicarlo mediante el botn Apply (D) [figura 1]. Tenemos otra alternativa, que consiste en pulsar el botn de filtro (A). Al hacerlo aparece el cuadro de dilogo de definicin del filtro que tiene el siguiente aspecto:

Figura 5. Ventana de definicin del filtro de presentacin

Con este cuadro de dilogo podemos definir diversos filtros, asignndoles distintos nombres para su posterior aplicacin. Tambin podemos acceder a este cuadro de dilogo mediante la opcin del men Analyze > Display Filters Si no conocemos la sintaxis de los filtros o los parmetros que podemos emplear en los mismos, podemos utilizar el botn Expresin para crear una expresin de forma visual. Al pulsarlo accedemos al siguiente cuadro de dilogo:

Figura 6. Ventana de creacin de expresin del filtro

En la figura vemos cmo definir un filtro para mostrar los paquetes de datos cuya direccin IP de origen o de destino sea la 192.168.1.1. La expresin que se genera para este filtro es: ip.addr = = 192.168.1.1 3.3.1 Ms ejemplos de filtros de presentacin Vamos a ver, por ltimo, algunos ejemplos adicionales de filtros de presentacin. 1. tcp Es el tipo de filtro ms sencillo, e indica que se presenten slo los paquetes de datos del protocolo TCP. 2. ip.proto = = 1 and ip.src = = 192.168.123.100 Con este filtro seleccionamos los paquetes cuyo protocolo IP sea el 1 (el correspondiente a ICMP, el del comando PING) y cuya direccin IP origen sea la 192.168.123.100 3. (ip.addr = = 192.168.123.100 and ip.addr = = 192.168.123.101) and (tcp.port = = 1028 and tcp.port = = 80) Este filtro es algo ms complejo, e indica que se presenten los paquetes cuya direccin IP de origen sea la 192.168.123.100 y su direccin IP de destino sea la 192.168.123.101 (o viceversa) y cuyo puerto TCP de origen sea el 1028 y su puerto TCP de destino sea el 80 (o viceversa)

Apartado 4. Experimentos con diversos protocolos


Se propone al alumno que, una vez familiarizado con el funcionamiento del analizador de protocolos, realice los siguientes experimentos. 4.1 Protocolo ICMP Este protocolo (Internet Control Message Protocol Protocolo de mensajes de control de Internet) se emplea para comprobar el estado de las redes. Su funcionamiento bsico consiste en enviar un paquete de datos destinado a una determinada direccin IP y en ver el tiempo que tarda en recibirse la respuesta a dicho paquete. Se emplea para ver si existe conectividad de red entre el ordenador desde el que se emite el comando y el ordenador con el nombre o la direccin IP indicada en el comando (este concepto ya se haba comentado en el apartado 2.4 de la prctica 1, para probar su funcionamiento con el Packet Tracer). Para analizar la estructura de este protocolo con WireShark, vamos a seguir los pasos que se indican a continuacin: 1. Activar la captura de paquetes. 2. Abrir una ventana de lnea de comandos (Inicio > Ejecutar > Abrir: cmd > Aceptar).

3. Ejecutar el comando ping sun.rediris.es en la ventana anterior. 4. Cuando termine la ejecucin del comando ping, detener la captura de paquetes. 5. Examinar los paquetes capturados en los paneles (1), (2) y (3) de la ventana principal de WireShark. Si no hemos activado ningn tipo de filtro, ni de protocolo ni de captura, adems de los paquetes que nos interesa analizar, en el panel (1) aparecern bastantes paquetes ms. Para facilitar el anlisis, es recomendable aplicar un filtro de presentacin para que slo aparezcan los paquetes de este protocolo. Para ello bastar con escribir icmp en el campo texto de filtro (B) de la ventana principal y pulsar el botn Apply (D). Si todo ha ido bien, al aplicar el filtro debern aparecer 8 paquetes, 4 de ellos correspondientes a las solicitudes (request) y los otros 4 correspondientes a las respuestas (reply). Es posible que, an con el filtro de protocolo, en el panel (1) veamos ms paquetes de los que nos interesa. Se deber, probablemente, a que otros compaeros estn ejecutando la misma prueba y WireShark est capturando tambin el trfico que envan, que al corresponder al mismo protocolo aparecer igualmente en el panel (1). Para evitar este problema y ver nicamente los datos enviados o recibidos por nuestro ordenador tenemos dos alternativas: 1. Desactivar el modo promiscuo, tal como se explic en el apartado de los filtros de captura de paquetes (antes de hacer la captura). 2. Modificar el filtro de presentacin, aadindole la condicin de filtrar tambin por direccin IP, de la siguiente manera: icmp and ip.addr = = 192.168.123.100. Como es lgico, en lugar de 192.168.123.100 deberemos indicar la direccin IP de nuestro ordenador. Si no la conocemos, deberemos ejecutar el comando ipconfig en una ventana de lnea de comandos para descubrirla. Para comprobar el funcionamiento del protocolo en otras condiciones, repetiremos el experimento anterior ejecutando el comando ping l 5000 sun.rediris.es en el paso 3. Con el parmetro l le indicamos al comando que enve 5000 bytes de datos (el comportamiento predeterminado del comando, si no se especifica este parmetro, es enviar 32 bytes). Como se trata de un tamao bastante grande, podremos observar cmo se fragmenta el paquete de datos al enviarlo a la red (los fragmentos no aparecern como protocolo ICMP). 4.2 Protocolo HTTP Este protocolo es el empleado para acceder a pginas web a travs de Internet. En esta prctica no vamos a entrar en los detalles de su funcionamiento, pero nos va a servir para probar una de las funcionalidades ms interesantes de WireShark, que es el seguimiento de un flujo TCP. Como en el caso de ICMP, para analizar la estructura de este protocolo con WireShark vamos a seguir los pasos que se indican a continuacin: 1. Activar la captura de paquetes. 2. Lanzar un navegador web (como Internet Explorer o Mozilla Firefox) y acceder a cualquier pgina, como, p.ej., www.uniovi.es. 3. Cuando termine la carga de la pgina, detener la captura de paquetes.

4. Examinar los paquetes capturados en los paneles (1), (2) y (3) de la ventana principal de WireShark. Tambin en este caso deberemos aplicar un filtro de presentacin, para que aparezcan nicamente los paquetes que nos interesa analizar. La expresin del filtro deber ser similar a la nmero 3 presentada en el apartado 3.3.1. WireShark ofrece una funcionalidad que facilita la creacin de la expresin del filtro si, como ocurre en este caso, queremos que aparezcan nicamente los datos de una sesin TCP (concretamente, el acceso a una pgina web). Para utilizar esta funcionalidad debemos identificar algn paquete perteneciente a la sesin que nos ocupa, fcilmente localizable porque la direccin IP de origen debe ser la de nuestro ordenador y el puerto TCP de destino debe ser el 80, el habitual en la mayor parte de los servidores web de Internet. Una vez localizado algn paquete de la sesin, bastar con pulsar con el botn derecho del ratn sobre l en el panel (1) y seleccionar la opcin Follow TCP Stream en el men emergente que aparecer. Al hacerlo, adems de crearse la expresin del filtro adecuada en el recuadro de texto del filtro (B), aparecer una ventana adicional en la que se mostrar todo el contenido de la sesin TCP correspondiente, como puede verse en la figura siguiente:

Figura 7. Sesin TCP (peticiones http de pgina web)

En esta ventana podemos seleccionar ver toda la conversacin que ha tenido lugar entre nuestro navegador web (cuyas peticiones se muestran en color rojo) y el servidor web

(cuyas respuestas se muestran en color azul) o ver nicamente las peticiones del cliente o las respuestas del servidor (selector A en la figura 7). 4.3 Otros protocolos El alumno puede experimentar libremente con otros protocolos, como FTP o TELNET y analizar la composicin de los paquetes de datos para dichos protocolos.

Apartado 5. Notas adicionales y ejercicios


El analizador de protocolos WireShark que se ha utilizado en esta prctica es una herramienta de dominio pblico, cuyo uso y distribucin son completamente gratuitos. La versin ms reciente de este programa puede encontrarse en la siguiente direccin web: http://www.wireshark.org/download.html.
---Sobre el protocolo ICMP Realiza una sesin de captura del protocolo ICMP (tal como vimos en el apartado 4.1) sobre un dominio de tu eleccin y responde a las siguientes preguntas: -Examina la primera peticin ICMP y concretamente el paquete IP enviado: Cul es la IP de origen y destino? Qu tipo de protocolo es ICMP al observar el protocolo sobre el que apoya (seguro /no seguro) Qu significa el TTL y qu valor tiene? -Examina la primera peticin ICMP y pero ahora el mensaje ICMP: Qu tipo de mensaje es? Cul es el identificador y el nmero de secuencia? Identifica los bytes de datos y los correspondientes caracteres enviados? (Parte 3 de la pantalla principal del WireShark) -Examina la primera respuesta ICMP y concretamente el paquete IP recibido: Cul es la IP de origen y destino? Qu valor tiene TTL y qu significa en relacin a lo que contena en la peticin (busca informacin sobre esto en la Web)? -Examina la primera respuesta ICMP y pero ahora el mensaje ICMP: Qu tipo de mensaje es? Cul es el identificador y el nmero de secuencia? Compralo con los que tenas en la peticin. Identifica los bytes de datos y los correspondientes caracteres enviados y compralos con los de la peticin. -Repite los anteriores apartados para el resto de mensajes ICMP provocados por el comando PING y responde a las siguientes cuestiones: Cmo cambian el nmero de secuencia y los identificadores con el tiempo? Cambian los datos transportados?

Vous aimerez peut-être aussi