Laboratorio de Fundamentos de Telemática 1º I. T. Telecomunicación, especialidad Telemática

Laboratorio de Fundamentos de Telemática 1º I. T. Telecomunicación, especialidad Telemática Práctica 7. Analizador de red WireShark En esta práctic
Author:  Eduardo Sosa Ojeda

4 downloads 29 Views 355KB Size

Recommend Stories


Honores JA Especialidad de Cosmografía I 1
Honores JA Especialidad de Cosmografía I 1 Honores JA Especialidad de Cosmografía I 2 ESPECIALIDAD DE COSMOGRAFIA I - (N-15) Nombre: __________

1. FUNDAMENTOS DE ELECTROMECANICA,1
indice analltico 1. FUNDAMENTOS DE ELECTROMECANICA,1 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 1.9. 1.10. 1.11. 1.12. 1.13. 1.14. 1.15. 1.16. 1.17. 1.1

MANUAL DE LABORATORIO DE FUNDAMENTOS DE FENÓMENOS DE TRANSPORTE
2010   MANUAL DE LABORATORIO DE FUNDAMENTOS DE FENÓMENOS DE TRANSPORTE INTRODUCCIÓN A LOS FENÓMENOS DE TRANSPORTE Ing. Martha Elena García Ruíz  Ing

Story Transcript

Laboratorio de Fundamentos de Telemática 1º I. T. Telecomunicación, especialidad Telemática

Práctica 7.

Analizador de red WireShark

En esta práctica (última práctica del curso) vamos a empezar a utilizar un analizador de protocolos de red (conocido coloquialmente como “sniffer”). Veremos sus funciones principales y cómo emplearlo para estudiar algunos protocolos sencillos, como ICMP (el protocolo del comando PING, ver apartado 2.4 del guión de la práctica 1 para recordarlo) o HTTP (el protocolo utilizado para acceder a páginas 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 descripción se da a continuación.

A

B

CD

1

2

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.

Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

1

2. Panel de vista en árbol: muestra el paquete seleccionado en el panel superior (1) con más 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. Además de los tres paneles principales, tenemos los cuatro elementos adicionales siguientes en la parte superior de la pantalla de WireShark: A. Botón de filtro: permite definir un filtro para la visualización de los paquetes, de forma que podamos concentrarnos en el análisis de un determinado protocolo o en el tráfico 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. Botón para eliminar el filtro: pulsando este botón se elimina el filtro que estuviera activo, presentándose en el panel principal (1) todos los paquetes capturados. D. Botón para aplicar filtro: pulsando este botón 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 sesión de captura La captura de paquetes se activa mediante la opción del menú Capture > Options …. Al hacerlo aparece el siguiente cuadro de diálogo.

Figura 2. Ventana de opciones para iniciar la captura Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

2

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 diálogo mostrado en la figura anterior. Si el ordenador dispone de módem 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 diálogo mostrado en la figura 2, la opción Hide Capture Info Dialog, en el apartado Display options. De esta manera, cuando pulses sobre el botón Start comenzará el proceso de captura y podrás observar su evolución en un cuadro como el de la siguiente figura.

Figura 3. Ventana de progreso de la captura

Aquí podremos ver el número de paquetes capturados de los principales protocolos que maneja WireShark. También podremos detener la captura pulsando sobre el botón Stop. Una vez terminada una sesión de captura, en la ventana principal aparecerá la información de los paquetes capturados, como se muestra en la figura 1. También existe la opción de presentar la información de los paquetes capturados según se van capturando. Para ello, es necesario activar la casilla Update list of packets in real time, que se encuentra en la sección Display options del cuadro de diálogo de opciones de captura (figura 2, que aparece seleccionando la opción del menú Capture > Options …)

Apartado 3. Filtrado de información Dada la enorme cantidad de información que circula por una tarjeta de red mientras está funcionando, resulta especialmente útil poder limitar de alguna manera dicha

Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

3

información, para poder concentrarse en el análisis del tráfico de red concreto que interese estudiar. WireShark ofrece numerosas posibilidades de filtrado de información, que básicamente consisten en la selección de protocolos, la definición de un filtro de captura y la definición de un filtro de presentación de la información. La utilización 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 diálogo al que podremos acceder mediante la opción del menú Analyze > Enabled Protocols… En dicho cuadro de diálogo, que se presenta a continuación, podemos activar o desactivar la utilización de los protocolos que deseemos.

Figura 4. Ventana de activación/desactivación de protocolos

A la hora de activar o desactivar protocolos, debemos tener en cuenta la advertencia que aparece en este cuadro de diálogo, y que indica que, si desactivamos un protocolo, no aparecerán 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 aparecerán tampoco todos los protocolos de nivel de aplicación (nivel 7 – OSI) que dependan de él, como HTTP, SMTP, FTP y muchos otros. Para realizar las tareas de esta práctica dejaremos activados inicialmente todos los protocolos que maneja el programa. No obstante, el alumno puede experimentar con la Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

4

activación y desactivación 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 utilización de un filtro se realiza en el cuadro de diálogo de opciones de captura (figura 2), introduciendo la expresión del filtro en el cuadro de texto situado al lado del botón Capture Filter. En esta práctica 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 expresión: 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 dirección IP 192.168.1.5. Otra posibilidad de filtrado a la hora de capturar paquetes consiste en desactivar el modo “promiscuo”, de forma que sólo se capturen los paquetes originados o destinados a nuestro ordenador. Para ello, sólo tendremos que desmarcar la casilla denominada Capture packets in promiscuous mode en el cuadro de diálogo 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 análisis de la información que nos interesa. 3.3 Presentación El último nivel de filtrado de que disponemos en WireShark es el de presentación 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 más completo y en su expresión se pueden utilizar la mayor parte de los parámetros de lo protocolos que estamos analizando. Para utilizar un filtro de presentación podemos escribir su expresión directamente en el recuadro de texto del filtro (B) y aplicarlo mediante el botón Apply (D) [figura 1]. Tenemos otra alternativa, que consiste en pulsar el botón de filtro (A). Al hacerlo aparece el cuadro de diálogo de definición del filtro que tiene el siguiente aspecto:

Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

5

Figura 5. Ventana de definición del filtro de presentación

Con este cuadro de diálogo podemos definir diversos filtros, asignándoles distintos nombres para su posterior aplicación. También podemos acceder a este cuadro de diálogo mediante la opción del menú Analyze > Display Filters … Si no conocemos la sintaxis de los filtros o los parámetros que podemos emplear en los mismos, podemos utilizar el botón Expresión… para crear una expresión de forma visual. Al pulsarlo accedemos al siguiente cuadro de diálogo:

Figura 6. Ventana de creación de expresión del filtro

Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

6

En la figura vemos cómo definir un filtro para mostrar los paquetes de datos cuya dirección IP de origen o de destino sea la 192.168.1.1. La expresión que se genera para este filtro es: ip.addr = = 192.168.1.1 3.3.1 Más ejemplos de filtros de presentación Vamos a ver, por último, algunos ejemplos adicionales de filtros de presentación. 1. tcp Es el tipo de filtro más sencillo, e indica que se presenten sólo 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 dirección 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 más complejo, e indica que se presenten los paquetes cuya dirección IP de origen sea la 192.168.123.100 y su dirección 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 básico consiste en enviar un paquete de datos destinado a una determinada dirección 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 dirección IP indicada en el comando (este concepto ya se había comentado en el apartado 2.4 de la práctica 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 continuación: 1. Activar la captura de paquetes. 2. Abrir una ventana de línea de comandos (Inicio > Ejecutar… > Abrir: cmd > Aceptar). Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

7

3. Ejecutar el comando ping sun.rediris.es en la ventana anterior. 4. Cuando termine la ejecución 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 ningún tipo de filtro, ni de protocolo ni de captura, además de los paquetes que nos interesa analizar, en el panel (1) aparecerán bastantes paquetes más. Para facilitar el análisis, es recomendable aplicar un filtro de presentación para que sólo 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 botón Apply (D). Si todo ha ido bien, al aplicar el filtro deberán aparecer 8 paquetes, 4 de ellos correspondientes a las solicitudes (request) y los otros 4 correspondientes a las respuestas (reply). Es posible que, aún con el filtro de protocolo, en el panel (1) veamos más paquetes de los que nos interesa. Se deberá, probablemente, a que otros compañeros están ejecutando la misma prueba y WireShark está capturando también el tráfico que envían, 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 presentación, añadiéndole la condición de filtrar también por dirección IP, de la siguiente manera: icmp and ip.addr = = 192.168.123.100. Como es lógico, en lugar de 192.168.123.100 deberemos indicar la dirección IP de nuestro ordenador. Si no la conocemos, deberemos ejecutar el comando ipconfig en una ventana de línea 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 parámetro –l le indicamos al comando que envíe 5000 bytes de datos (el comportamiento predeterminado del comando, si no se especifica este parámetro, es enviar 32 bytes). Como se trata de un tamaño bastante grande, podremos observar cómo se fragmenta el paquete de datos al enviarlo a la red (los fragmentos no aparecerán como protocolo ICMP). 4.2 Protocolo HTTP Este protocolo es el empleado para acceder a páginas web a través de Internet. En esta práctica no vamos a entrar en los detalles de su funcionamiento, pero nos va a servir para probar una de las funcionalidades más 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 continuación: 1. Activar la captura de paquetes. 2. Lanzar un navegador web (como Internet Explorer o Mozilla Firefox) y acceder a cualquier página, como, p.ej., www.uniovi.es. 3. Cuando termine la carga de la página, detener la captura de paquetes. Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

8

4. Examinar los paquetes capturados en los paneles (1), (2) y (3) de la ventana principal de WireShark. También en este caso deberemos aplicar un filtro de presentación, para que aparezcan únicamente los paquetes que nos interesa analizar. La expresión del filtro deberá ser similar a la número 3 presentada en el apartado 3.3.1. WireShark ofrece una funcionalidad que facilita la creación de la expresión del filtro si, como ocurre en este caso, queremos que aparezcan únicamente los datos de una sesión TCP (concretamente, el acceso a una página web). Para utilizar esta funcionalidad debemos identificar algún paquete perteneciente a la sesión que nos ocupa, fácilmente localizable porque la dirección 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 algún paquete de la sesión, bastará con pulsar con el botón derecho del ratón sobre él en el panel (1) y seleccionar la opción Follow TCP Stream en el menú emergente que aparecerá. Al hacerlo, además de crearse la expresión 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 sesión TCP correspondiente, como puede verse en la figura siguiente:

A

Figura 7. Sesión TCP (peticiones http de página web)

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

Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

9

(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 composición 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 práctica es una herramienta de dominio público, cuyo uso y distribución son completamente gratuitos. La versión más reciente de este programa puede encontrarse en la siguiente dirección web: http://www.wireshark.org/download.html. ---Sobre el protocolo ICMP Realiza una sesión de captura del protocolo ICMP (tal como vimos en el apartado 4.1) sobre un dominio de tu elección y responde a las siguientes preguntas: -Examina la primera petición ICMP y concretamente el paquete IP enviado: ¿Cuál 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 petición ICMP y pero ahora el mensaje ICMP: ¿Qué tipo de mensaje es? ¿Cuál es el identificador y el número 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: ¿Cuál es la IP de origen y destino? ¿Qué valor tiene TTL y qué significa en relación a lo que contenía en la petición (busca información sobre esto en la Web)? -Examina la primera respuesta ICMP y pero ahora el mensaje ICMP: ¿Qué tipo de mensaje es? ¿Cuál es el identificador y el número de secuencia? Compáralo con los que tenías en la petición. Identifica los bytes de datos y los correspondientes caracteres enviados y compáralos con los de la petición. -Repite los anteriores apartados para el resto de mensajes ICMP provocados por el comando PING y responde a las siguientes cuestiones: ¿Cómo cambian el número de secuencia y los identificadores con el tiempo? ¿Cambian los datos transportados?

Laboratorio de Fundamentos de Telemática. Curso 2007/2008. Área de Ingeniería Telemática. Dpto. Informática

10

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.