Está en la página 1de 7

Práctica 1: Introducción a Wireshark Redes de Ordenadores

PRÁCTICA 1: INTRODUCCIÓN A
WIRESHARK
Para comprender realmente los protocolos de red lo más importante es “verlos en acción” y “jugar con ellos”
observando la secuencia de mensajes que se intercambian entre dos entidades de protocolo, los detalles de las
operaciones de protocolo y provocando que los protocolos realicen ciertas acciones para observar después las
consecuencias de las mismas. Esto se puede hacer en escenarios simulados o en un entorno de red “real” como
pudiera ser Internet. En este laboratorio se seguirá esta última aproximación. Ejecutarás diversas aplicaciones
de red en diferentes escenarios con tu ordenador. Observarás los protocolos de red en acción, interaccionando
e intercambiando mensajes con otras entidades que se están ejecutando en otro lugar de Internet. De esta
forma podrás observar y aprender “haciendo”.

Como se ha visto en clase, la herramienta básica para observar los mensajes que se intercambian dos entidades
de protocolo se denomina “husmeador” de paquetes (packetsniffer o sniffer). Como sugiere su nombre, un
sniffer captura los mensajes que se envían y reciben desde y hacia tu ordenador. También almacenará y
visualizará los contenidos de los diversos campos de protocolo de esos mensajes capturados. Un sniffer es por
sí mismo pasivo, por lo que se limita a observar los mensajes que reciben o envían las aplicaciones y protocolos
que se ejecutan en tu ordenador, pero nunca envía paquetes él ni los paquetes recibidos están dirigidos a él. Lo
que realmente hace es recibir una copia de los paquetes que se envían o reciben desde o hacia las aplicaciones
y protocolos que se ejecutan en tu máquina.

Figura 1. Estructura de un sniffer de paquetes

La Figura 1 muestra la estructura de un sniffer de paquetes. A la derecha están los protocolos (en este caso de
Internet) y aplicaciones (como el navegador o un cliente ftp) que normalmente se ejecutan en tu ordenador. El
sniffer, representado dentro del rectángulo punteado, es un añadido al software actual de tu máquina y está
formado por dos partes. La primera es la librería de captura de paquetes, que recibe una copia de cada trama
de capa de enlace que es enviado o recibido por tu ordenador. Recuerda que los mensajes que se intercambian
en los protocolos de capa alta como HTTP, FTP, TCP, UDP, DNS o IP son todos encapsulados en tramas de la
capa de enlace que son transmitidos sobre medios físicos como un cable Ethernet. Por ejemplo, en la Figura 1
se ha asumido que el medio físico empleado es Ethernet, por lo que todos los protocolos de capas superiores

-1-
Práctica 1: Introducción a Wireshark Redes de Ordenadores

se encapsulan en una trama Ethernet. De esta forma, si capturamos todas las tramas de la capa de enlace
obtenemos todos los mensajes enviados o recibidos desde o hacia todos los protocolos y aplicaciones que se
ejecutan en tu máquina.

El segundo componente del sniffer es el analizador de paquetes, que visualiza el contenido de todos los
campos dentro de un mensaje de protocolo. Para poder hacer esto, el analizador de paquetes debe “entender”
la estructura de todos los mensajes intercambiados por los protocolos. Por ejemplo, supongamos que estamos
interesados en mostrar los campos en los mensajes intercambiados por el protocolo HTTP de la Figura 1. El
analizador de paquetes entiende el formato de las tramas Ethernet y puede, por tanto, identificar el datagrama
IP dentro de la trama Ethernet. Como también entiende el formato del datagrama IP puede extraer el
segmento TCP, y como a su vez entiende la estructura de este segmento TCP, puede extraer el mensaje HTTP
que se halla en su interior. Además, como también conoce el protocolo HTTP sabrá, por ejemplo, que los
primeros bytes de un mensaje HTTP contendrán la cadena “GET”, “POST” o “HEAD”.

Para estas prácticas utilizaremos el sniffer Wireshark (www.wireshark.org) que nos permitirá mostrar los
contenidos de los mensajes que se envían y reciben desde y hacia protocolos de los diferentes niveles de la pila
de protocolos. Realmente, Wireshark es un analizador de paquetes que usa una librería de captura de paquetes
de tu ordenador. Wireshark es un analizador de protocolos de red gratuito que se puede ejecutar en Windows,
Linux/Unix y Mac, por lo que es ideal para nuestras prácticas. Además es estable, tiene una gran cantidad de
usuarios y está muy bien documentado. En las siguientes URLs se podrá encontrarla guía de usuario
(www.wireshark.org/docs/wsug_html_chunked/), manuales (www.wireshark.org/docs/man-pages/) y FAQ
(www.wireshark.org/faq.html). Tiene la capacidad de analizar cientos de protocolos, operando en ordenadores
que usen todo tipo de conexión (Ethernet, Token-Ring, FDDI, serie (PPP y SLIP), WLAN 802.11 o ATM).

¿CÓMO OBTENER WIRESHARK?

Para ejecutar Wireshark necesitas tener un ordenador que soporte tanto Wireshark como la librería de captura
de paquetes libpcap o WinPCap. Esta librería se instalará automáticamente con Wireshark si no está instalada
ya en el ordenador.

Podrás descargar e instalar el programa Wireshark desde www.wireshark.org/download.html. Además, podrás


ver la lista de sistemas operativos soportados así como los sitios de descarga. También podrás, como se ha
comentado anteriormente, descargar la guía de usuario o consultar el FAQ, así como varios vídeo-tutoriales
muy útiles.

EJECUTANDO WIRESHARK

Cuando ejecutes el programa Wireshark, se mostrará la interfaz gráfica de la Figura 2 (ojo, al inicio se mostrará
un menú simplificado de la Figura 3).

-2-
Práctica 1: Introducción a Wireshark Redes de Ordenadores

Figura 2. Interfaz gráfica de usuario de Wireshark

La interfaz de Wireshark tiene cinco componentes principales (marcados en la Figura 2):

• El menú de comandos es una barra estándar de menús desplegables en la parte superior de la


ventana. Los más interesantes ahora son el de “File”, que permite abrir o guardar en un fichero los
datos de los paquetes capturados, y “Capture” para comenzar la captura de paquetes. Como se verá
más adelante (ver Figura 3), en la última versión de Wireshark se presentan precisamente las opciones
de estos dos menús en un menú simplificado de inicio para facilitar el uso de la herramienta.
• El campo filtro de paquetes, situado en la parte superior, donde se puede introducir un nombre de
protocolo u otra información para filtrar los datos mostrados en la ventana de listado de paquetes, y
por tanto también en la de cabeceras y contenidos. En el siguiente ejemplo se usará este filtro para
que Wireshark oculte los paquetes excepto los que correspondan a mensajes HTTP.
• La ventana de listado de paquetes, que muestra un resumen en una línea por paquete capturado,
incluyendo el número de paquete (asignado por Wireshark, por lo que no se trata de un número que
se encuentre en la cabecera de ningún protocolo), el momento en el que se capturó el paquete, las
direcciones de origen y destino del paquete, el tipo de protocolo e información que contiene el
paquete dependiente del protocolo. Este listado de paquetes puede ser ordenado por cualquiera de
esas categorías haciendo click en el nombre de la columna. El campo tipo de protocolo muestra el
protocolo de mayor nivel que envió o recibió este paquete, es decir, el protocolo que es el origen o
último destinatario del paquete.
• La ventana de detalles de cabeceras de paquete proporciona detalles sobre el paquete seleccionado
en la ventana de listado de paquetes. Estos detalles incluyen información sobre la trama Ethernet (si
asumimos que el paquete se envió o recibió sobre una interfaz Ethernet) y el datagrama IP que
contiene ese paquete. El nivel de detalle de las capas Ethernet o IP mostrado puede ser expandido o
minimizado con las cajas “más-menos” de la izquierda de cada línea de trama Ethernet o datagrama
IP. Si el paquete se ha transportado por TCP o UDP, se mostrarán detalles de estos protocolos, así
como detalles del protocolo de más alto nivel que haya enviado o recibido este paquete.
• La ventana de contenidos del paquete muestra todo el contenido de la trama capturada tanto en
formato ASCII como en hexadecimal.

-3-
Práctica 1: Introducción a Wireshark Redes de Ordenadores

PROBANDO WIRESHARK EN EL LABORATORIO

La mejor forma de aprender a utilizar cualquier software es probándolo. Asumiremos que el ordenador está
conectado a Internet mediante una interfaz de cable Ethernet.

En el laboratorio siempre emplearemos las trazas ya capturadas y almacenadas


que se proporcionan en el sitio web de la asignatura. Para esta práctica puedes
utilizar el fichero http- trace-1, que se puede abrir desde Wireshark.

A continuación, se presenta la secuencia de pasos que se debe seguir para hacer la Práctica 1:

1. Arrancar Wireshark. Aparecerá un menú de inicio como el mostrado en la Figura 3. A la izquierda


aparece la sección de captura, en el centro la gestión de ficheros y a la derecha información online.

Figura 3. Menú de inicio de Wireshark

2. Cargar una traza mediante el menú “File -> Open”. Aparecerá una ventana de carga de datos estándar.
Ir por el árbol de directorios hasta encontrar el fichero “http-trace-1”.
3. Se mostrará la ventana principal de Wireshark (Figura 2) con un listado de todos los paquetes
capturados desde que comenzó la captura, con el contenido de todos los mensajes de protocolo
intercambiados entre tu ordenador y otras entidades de red.
4. Escribe “http” en el campo “Filter” de la parte superior del listado de paquetes y haz click en “Apply”
(a la derecha). Esto permitirá que se vean en el listado de paquetes únicamente los mensajes HTTP.
5. Selecciona el primer mensaje HTTP que se muestra, que debería ser un mensaje HTTP GET que fue
enviado desde tu PC a un servidor web. Cuando selecciones este mensaje HTTP GET, en la ventana de
cabeceras de paquete se mostrará la información detallada de las cabeceras de la trama Ethernet,
datagrama IP, segmento TCP y mensaje HTTP. Expande los detalles de la cabecera del mensaje HTTP,
te quedará algo parecido a la Figura 4.

-4-
Práctica 1: Introducción a Wireshark Redes de Ordenadores

Figura 4. Interfaz de Wireshark tras el paso 9

6. Cierra Wireshark.

PROBANDO WIRESHARK EN CASA

A continuación, se enumera la secuencia de pasos necesarios para ejecutar Wireshark desde un PC con
permisos de acceso:

1. Arranca el navegador (que mostrará la página de inicio).


2. Arranca Wireshark. Verás de nuevo el menú de inicio el mostrado en la Figura 3.
3. En la sección de captura podemos directamente comenzar a capturar paquetes seleccionando una de
las interfaces que tenemos disponibles en el ordenador y que aparecen listadas en pantalla. Si no estás
seguro de qué interfaz de comunicación estás empleando en este momento, siempre puedes hacer
click sobre “Interface List” para que te muestre el tráfico que circula por cada una de ellas.
4. También puedes especificar las opciones de captura haciendo click en “Capture Options”, que te
mostrará una ventana como la de la Figura 5. En su parte superior se muestran las interfaces de red
disponibles, donde se puede seleccionar la que se esté utilizando para enviar y recibir paquetes en
este momento (si hay varias activas). Para comenzar la captura de paquetes basta con presionar
“Start”. Si hemos quitado la opción “Hide capture info dialog” se mostrará (Figura 6) un resumen de
los paquetes capturados por protocolo y un botón “Stop” para detener la captura.

-5-
Práctica 1: Introducción a Wireshark Redes de Ordenadores

Figura 5. Ventana de opciones de captura de Wireshark

Figura 6. Resumen opcional de paquetes capturados por protocolo

5. Mientras se están capturando paquetes, ve al navegador y abre la página web de la universidad


(http://www.urjc.es). Para poder mostrar la página, tu navegador contactará el servidor HTTP de la
URJC e intercambiará mensajes HTTP con el servidor para poder descargar la página. Wireshark
capturará las tramas Ethernet que contienen estos mensajes HTTP.
6. Una vez se ha mostrado la página principal de la URJC, detén la captura de paquetes mediante el
botón “Stop” del resumen opcional de la Figura 6 (si lo has habilitado) o el icono “Stop Running
Live Capture” del menú superior.
7. Se mostrará la ventana principal de Wireshark (Figura 3) con un listado de todos los paquetes
capturados desde que comenzaste la captura, con el contenido de todos los mensajes de protocolo
intercambiados entre tu ordenador y otras entidades de red. El mensaje HTTP intercambiado con el

-6-
Práctica 1: Introducción a Wireshark Redes de Ordenadores

servidor web www.urjc.es debería aparecer en algún sitio del listado de paquetes capturados, pero
como hay otros muchos paquetes en ese listado, lo mejor será filtrarlo para encontrarlo más
fácilmente.
8. Escribe “http” en el campo “Filter” de la parte superior del listado de paquetes y haz click en “Apply”
(a la derecha). Esto permitirá que se vean en el listado de paquetes únicamente los mensajes HTTP.
9. Selecciona el primer mensaje HTTP que se muestra, que debería ser un mensaje HTTP GET que fue
enviado desde tu ordenador al servidor web de la URJC. Cuando selecciones este mensaje HTTP GET,
en la ventana de cabeceras de paquete se mostrará la información detallada de las cabeceras de la
trama Ethernet, datagrama IP, segmento TCP y mensaje HTTP. Expande los detalles de la cabecera del
mensaje HTTP, te quedará algo parecido a la Figura 4.
10. Cierra Wireshark.

QUÉ HACER EN ESTA PRÁCTICA 1

El objetivo de esta primera práctica es introducir la herramienta Wireshark con la que trabajaremos en el resto
de prácticas. Además de lo anterior, debes realizar los siguientes ejercicios basados en la traza ya capturada.

1. Lista los diferentes protocolos que aparecen en la columna de protocolos antes de filtrar la ventana de
listado de paquetes capturados y busca su significado.
2. ¿Cuántas peticiones http hay? Interpreta, en la medida de tus conocimientos, el significado de cada
una de ellas.
3. ¿Cuánto tiempo ha transcurrido desde el envío del mensaje HTTP GET hasta que se recibió la
respuesta HTTP OK? Por defecto, el valor de la columna Time en la ventana de listado de paquetes es
el tiempo en segundos desde que la traza comenzó. Para ver el campo Time en otro formato
selecciona Time Display Format en el menú View.
4. ¿Cuál es la dirección IP del sitio web al que nos hemos conectado? ¿Y la de nuestro ordenador?
5. Exporta la información de los dos mensajes HTTP (GET y OK) a un fichero de texto y guárdalo (ojo,
únicamente de esos dos mensajes).
6. Selecciona el paquete número 12 y presta atención a la ventana inferior (Detalles de cabecera). ¿Cuál
es el tamaño en bytes de dicho paquete? ¿Qué correspondencia hay entre la información que aparece
en la ventana y las capas de protocolo de internet (física, enlace, red, transporte y aplicación)?
7. Abre en un navegador web la página http://gaia.cs.umass.edu/ethereal-labs/lab2-1.html. ¿qué
correspondencia hay con la información que se encuentra en la sección “Line-based text data”?

-7-

También podría gustarte