Вы находитесь на странице: 1из 10

WireShark - Juani

Wireshark es un software del tipo Sniffer de red con funciones de analizador de protocolos, comnmente utilizado para el diagnstico de fallas de red, verificacin, desarrollo de protocolos, etc. Un Sniffer de PDUs es un software que permite interceptar y registrar el trfico que pasa por una red de datos. Mientras el flujo de datos va y viene en la red, el Sniffer captura cada unidad de datos del protocolo (PDU) y puede decodificar y analizar su contenido de acuerdo a la RFC correcta u otras especificaciones. Este programa se parece a tcpdump, el cual analiza y monitorea todo el trfico en una red determinada, las diferencias son que este no est disponible en Windows, y que usa libpcap. Nuestro programa, WireShark, en cambio, usa la libreria winpcap que se habr de instalar junto al programa. Esta librera es la que se encarga de capturar los paquetes. He de aadir que WireShark es multi-plataforma, teniendo en cuenta que para cada tipo de plataforma hemos de usar una libreria diferente, en Windows(winpcap) y en GNU/Linux (libpcap); pero bueno a nosotros eso no nos importa. Para que/quien es util Wireshark?

Administradores lo usan para resolver problemas en la red Ingenieros lo usan para examinar problemas de seguridad Desarrolladores lo usan para depurar la implementacin de los protocolos de red Estudiantes los usan para aprender internamente cmo funciona una red

1-Instalacion: alumno@ubuntu:~$ sudo apt-get install wireshark 2- Iniciar el Wireshark alumno@ubuntu:~$ sudo wireshark

Interfaz

La interfaz grfica de Wireshark est principalmente dividida en las siguientes secciones (de arriba a abajo):

La barra de herramientas, donde tienes todas las opciones a realizar sobre la pre y pos captura. La barra de herramientas principal, donde tienes las opciones ms usadas en Wireshark. La barra de filtros, donde podrs aplicar filtros a la captura actual de manera rpida El listado de paquetes, que muestra un resumen de cada paquete que es capturado por Wireshark El panel de detalles de paquetes que, una vez seleccionado un paquete en el listado de paquetes, muestra informacin detallada del mismo El panel de bytes de paquetes, que muestra los bytes del paquete seleccionado, y resalta los bytes correspondientes al campo seleccionado en el panel de detalles de paquetes. La barra de estado, que muestra algo de informacin acerca del estado actual de Wireshark y la captura.

3-Configuracion (MenuCaptureOptions) Ajustar las opciones de captura antes de proceder, esto permite personalizar el tipo de PDU (unidad de datos de protocolo) a capturar.

Interface: es la tarjeta de red que utilizaremos para realizar la captura de los paquetes. Capture packets in promiscuous mode: opcin bastante importante. Al estar seleccionada Wireshark captura TODOS los paquetes que la interfaz reciba/enve. Cabe hacer una pequea aclaracin: cuando tu equipo est conectado detrs de un hub, la tarjeta de red recibe TODOS los paquetes que transmitan/reciban los equipos conectados al mismo hub. Esto es porque, cuando el hub recibe un paquete lo reenva a todos los puertos conectados, y es el computador quien decide que hacer con ellos (si el paquete es para l, lo recibe; si el paquete es para otro equipo, lo ignora). Esto no sucede as cuando estamos usando un Switch, puesto que cuando usamos una red switcheada se verifica el destinatario del paquete, antes de enviarlo. Luego veremos cmo vulnerar una red switcheada, de momento prosigamos. Limit each packet to: lmita el tamao mximo de cada paquete capturado. Capture filter: aunque en la siguiente entrada aprenderemos a usar esta caracterstica, no est de ms decir que sirve para asignar un filtro a la captura.

Los filtros son tiles para mostrar slo la informacin deseada, por ejemplo: paquetes enviados por la IP XX.XXX.XXX.XX, o slo paquetes HTTP, etc. File: aqu especificamos el archivo donde sern guardados los paquetes capturados. Es posible adems separar los archivos cada vez que alcancen un tamao, o cada cierto tiempo. Stop capture: nos sirve para detener automticamente una captura despus de ciertas condiciones (tiempo, tamao del archivo de captura y nmero de paquetes). En las opciones de visualizacin (Display Options), es posible configurar a Wireshark para: o Actualizar el panel de paquetes cada vez que se capture uno (Update list of packets in real time) o Realizar un scroll-down cada vez que se capture un paquete (Automatic scrolling in live capture) o Ocultar el dilogo de informacin de captura (Hide capture info dialog) Por ltimo, las opciones de resolucin de nombres (Name resolution) le indican a Wireshark si debe o no intentar resolver las direcciones MAC, el nombre de red y nombre del tipo de transporte, de los paquetes capturados.

4- Manejo del programa Click en comenzar

Ahora mismo Wireshark est capturando todos los paquetes posibles de la interfaz de red seleccionada, y guardndolos en el archivo que hayamos especificado (lo que nos permite analizarlo en cualquier momento, reiteradamente, y con diversos programas). Aqu suelen surgir algunas preguntas: Porqu solamente veo los paquetes que enva y recibe mi equipo? Esto puede deberse principalmente a: 1. Ests tratando de esnifar una red switcheada (que se conecta mediante un switch, y no un hub) 2. Ests conectado a un hub que est configurado como un switch (mismo caso de arriba) 3. No configuraste a Wireshark para que esnifara en modo promiscuo (Capture packets in promiscuous mode) En caso tal que la conexin de tu red est detrs de un switch, no es posible que veas los paquetes que transmiten y reciben otros equipos. Esto no quiere decir que sea imposible hacerlo; lo ms comn a realizar en estos casos es un ataque Man in the Middle a travs de un ARP Poisoning. Ests tcnicas son bastante fciles de realizar (adems de divertidas), pero se salen del tema de esta entrada. En las prximas entradas hablaremos al respecto. Paneles de Wireshark

La ventana principal de Wireshark est compuesta por tres paneles bien definidos, cada uno ocupa la totalidad del ancho de la ventana, -Panel de Lista de PDUs. Est ubicado en la parte superior de la ventana y muestra un resumen de cada PDU capturada. Si se hace clic en las PDUs de este panel, controla lo que se muestra en los otros dos paneles. -Panel de Detalles de PDU, est ubicado en el medio de la ventana, muestra ms detalladamente, capa por capa del modelo, de la PDU seleccionado en el panel de Lista de PDUs. -Panel de Bytes de PDU, est ubicado en la parte inferior de la ventana, muestra los datos reales de la PDU seleccionada en el panel Lista de PDUs y resalta el campo seleccionado en el panel Detalles de la PDU. (En nmeros hexadecimales (hexdump) y su equivalente en valores ASCII, representando al binario real). Obtener datos especificos de las capturas Para esto es imprescindible el uso de los filtros, sobre todo cuando los paquetes capturados son demasiados. Wireshark posee dos tipos de filtros, los de captura y los de visualizacin, ambos operan independientemente. El filtro de captura es utilizado durante la captura de las PDUs, toda PDU que no cumple la condicin de filtrado no es capturada, esto redunda en obtener una secuencia de captura ms limpia y precisa, capturando solo las PDUs requeridas. El filtro visualizacin permite realizar la depuracin de las PDUs a visualizar una vez terminada la captura, las PDUs que no cumplen con la condicin de filtrado solamente no se visualizan, pero siguen existiendo en el archivo de captura. Hay que tener especial cuidado cuando se usan los dos filtros combinados, tratando de no limitar en exceso con el filtro de captura.

Filtrados -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. 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.

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. 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: 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:

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 Experimentos con diversos protocolos 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). 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:

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).

Вам также может понравиться