14.05.2013 Views

Práctica 8: El analizador de protocolos Ethereal - Redes de ...

Práctica 8: El analizador de protocolos Ethereal - Redes de ...

Práctica 8: El analizador de protocolos Ethereal - Redes de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Práctica</strong> 8: <strong>El</strong> <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong><br />

<strong>Ethereal</strong><br />

Los <strong>analizador</strong>es <strong>de</strong> <strong>protocolos</strong> o <strong>de</strong> red, también conocidos<br />

vulgarmente como “sniffers” son herramientas <strong>de</strong> gran ayuda para los<br />

administradores <strong>de</strong> las re<strong>de</strong>s <strong>de</strong> computadores, ya que permiten el análisis<br />

<strong>de</strong>tallado <strong>de</strong> muchos factores <strong>de</strong>l comportamiento <strong>de</strong> las mismas. Estas<br />

aplicaciones permiten capturar una copia <strong>de</strong> los paquetes que circulan por la<br />

red para su análisis posterior. Los más avanzados incluyen una interfaz<br />

gráfica capaz <strong>de</strong> mostrar los campos <strong>de</strong> los <strong>protocolos</strong> <strong>de</strong> comunicación <strong>de</strong><br />

los distintos niveles, obtener estadísticas <strong>de</strong> utilización y facilitar<br />

consi<strong>de</strong>rablemente el posterior análisis <strong>de</strong> los datos capturados. De este<br />

modo se facilita la <strong>de</strong>tección <strong>de</strong> problemas, así como la <strong>de</strong>puración <strong>de</strong>l<br />

software <strong>de</strong> red durante su fase <strong>de</strong> elaboración. Por ejemplo, un<br />

administrador <strong>de</strong> red que <strong>de</strong>tecte que las prestaciones <strong>de</strong> la red son bajas<br />

pue<strong>de</strong> utilizar uno <strong>de</strong> estos <strong>analizador</strong>es para <strong>de</strong>tectar qué segmentos <strong>de</strong> la<br />

red, <strong>protocolos</strong> y máquinas están generando más tráfico, y <strong>de</strong> esa forma<br />

llevar a cabo las acciones necesarias, o bien verificar el correcto<br />

funcionamiento <strong>de</strong> los diferentes dispositivos <strong>de</strong> red (hosts, servidores,<br />

routers, cortafuegos, NAT, etc).<br />

Des<strong>de</strong> el punto <strong>de</strong> vista docente, los <strong>analizador</strong>es <strong>de</strong> <strong>protocolos</strong><br />

permiten ver <strong>de</strong> forma práctica los <strong>protocolos</strong> <strong>de</strong> comunicación ya<br />

presentados en las clases <strong>de</strong> teoría, así como las relaciones entre los


P8-2 <strong>Práctica</strong>s <strong>de</strong> Re<strong>de</strong>s <strong>de</strong> Computadores<br />

<strong>protocolos</strong> <strong>de</strong> distinto nivel. Por todo ello, intentaremos familiarizar al<br />

alumno con el uso <strong>de</strong> una <strong>de</strong> estas herramientas.<br />

En esta práctica se preten<strong>de</strong> adquirir las capacida<strong>de</strong>s necesarias para<br />

capturar paquetes usando la herramienta <strong>Ethereal</strong>. En primer lugar se<br />

preten<strong>de</strong> que el alumno conozca las acciones (secuencias <strong>de</strong> intercambio <strong>de</strong><br />

paquetes) generadas por la ejecución <strong>de</strong> las ór<strong>de</strong>nes <strong>de</strong> red más frecuentes.<br />

En segundo lugar, dado que por la red viajan multitud <strong>de</strong> paquetes, será<br />

necesario seleccionar aquellos que nos resulten <strong>de</strong> interés. Por ello vamos a<br />

apren<strong>de</strong>r a capturar paquetes utilizando los filtros que nos proporciona<br />

<strong>Ethereal</strong>, <strong>de</strong> manera que aceptaremos unos paquetes y <strong>de</strong>secharemos otros.<br />

En tercer lugar, se preten<strong>de</strong> introducir al alumno en la interpretación <strong>de</strong>l<br />

contenido <strong>de</strong> los paquetes capturados para afianzar los conceptos relativos a<br />

los <strong>protocolos</strong> estudiados en clase. Todo ello permitirá poner en práctica los<br />

conocimientos adquiridos a lo largo <strong>de</strong> varios <strong>de</strong> los temas vistos en las<br />

clases <strong>de</strong> teoría, adquiriendo una mayor comprensión <strong>de</strong> los procesos que<br />

ocurren en la red cuando se llevan a cabo diversas acciones a nivel <strong>de</strong><br />

usuario.<br />

1. <strong>El</strong> <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong>: <strong>Ethereal</strong><br />

A la hora <strong>de</strong> elegir un <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong> nos encontramos con<br />

una abundante oferta, tanto <strong>de</strong> productos comerciales como <strong>de</strong> software <strong>de</strong><br />

libre distribución. Uno <strong>de</strong> los más populares, y el elegido para la práctica <strong>de</strong><br />

hoy, es <strong>Ethereal</strong>. Se trata <strong>de</strong> un producto gratuito y muy versátil, que pue<strong>de</strong><br />

<strong>de</strong>scargarse <strong>de</strong>s<strong>de</strong> http://www.ethereal.com. Está disponible tanto para<br />

sistemas Windows como Unix, y permite no sólo capturar tráfico <strong>de</strong> una<br />

red, sino también filtrarlo y analizarlo. A<strong>de</strong>más, permite leer ficheros <strong>de</strong><br />

datos recogidos con otros <strong>analizador</strong>es <strong>de</strong> <strong>protocolos</strong> como tcpdump o<br />

NetXRay, con lo que pue<strong>de</strong>n aprovecharse otras capturas previamente<br />

realizadas.<br />

Por seguridad, los <strong>analizador</strong>es <strong>de</strong> <strong>protocolos</strong> requieren permisos <strong>de</strong><br />

administrador <strong>de</strong>l sistema para po<strong>de</strong>r realizar capturas <strong>de</strong>l tráfico <strong>de</strong> la red.<br />

Nosotros vamos a realizar la práctica en Linux, y como las cuentas que<br />

utilizamos no disponen <strong>de</strong> permisos <strong>de</strong> administrador, utilizaremos la or<strong>de</strong>n<br />

sudo para que el programa <strong>Ethereal</strong> adquiera los permisos efectivos <strong>de</strong><br />

administrador. Así pues, en un terminal <strong>de</strong> texto ejecutaremos la or<strong>de</strong>n<br />

sudo ethereal<br />

<strong>El</strong> password que se solicita a continuación será proporcionado por el<br />

profesor en la sesión <strong>de</strong> laboratorio.


<strong>El</strong> <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong> <strong>Ethereal</strong> P8-3<br />

Figura 1. Descripción <strong>de</strong> <strong>Ethereal</strong><br />

Comenzaremos comentando el aspecto habitual <strong>de</strong>l programa, que se<br />

muestra en la figura 1. <strong>Ethereal</strong> compren<strong>de</strong> tres ventanas o áreas principales.<br />

1) La ventana superior es la lista <strong>de</strong> los paquetes. Muestra una breve<br />

<strong>de</strong>scripción <strong>de</strong> cada paquete capturado. Pulsando en alguno <strong>de</strong> los<br />

paquetes <strong>de</strong> esta lista po<strong>de</strong>mos controlar lo que se visualiza en las<br />

dos ventanas restantes.<br />

2) La ventana intermedia muestra con mayor <strong>de</strong>talle el paquete<br />

seleccionado en la primera ventana. Indica los <strong>protocolos</strong> empleados<br />

en los distintos niveles <strong>de</strong> la arquitectura, así como los valores <strong>de</strong><br />

cada uno <strong>de</strong> los campos <strong>de</strong> cada protocolo.<br />

3) Por último, la ventana inferior muestra el valor <strong>de</strong> los datos, en<br />

hexa<strong>de</strong>cimal y en ASCII, <strong>de</strong>l paquete seleccionado en la ventana<br />

superior, y marca en negro los datos seleccionados en la ventana<br />

intermedia.<br />

A<strong>de</strong>más <strong>de</strong> estas tres ventanas, la ventana principal <strong>de</strong> <strong>Ethereal</strong> ofrece<br />

(en la parte inferior) el filtrado en pantalla <strong>de</strong> los paquetes capturados en<br />

función <strong>de</strong>l tipo <strong>de</strong> paquetes y/o contenido <strong>de</strong> sus campos. Este filtrado a<br />

posteriori es complementario al filtrado <strong>de</strong> paquetes en el momento <strong>de</strong> la<br />

captura, tal y como se explicará más a<strong>de</strong>lante.


P8-4 <strong>Práctica</strong>s <strong>de</strong> Re<strong>de</strong>s <strong>de</strong> Computadores<br />

2. Cómo capturar paquetes<br />

Realizar una captura <strong>de</strong><br />

paquetes es sencillo. Basta con<br />

acce<strong>de</strong>r al menú Capture y allí<br />

seleccionar la opción Start.<br />

Esto nos lleva a una nueva<br />

ventana similar a la mostrada<br />

en la figura 2, llamada Capture<br />

Options. En esta ventana<br />

po<strong>de</strong>mos especificar, si fuera<br />

necesario, diversos parámetros<br />

relacionados con la captura.<br />

<strong>El</strong> primer parámetro que<br />

po<strong>de</strong>mos especificar es el<br />

interfaz, es <strong>de</strong>cir, la tarjeta <strong>de</strong><br />

red sobre la que queremos<br />

realizar la captura. Esta opción<br />

sólo tiene sentido si<br />

disponemos <strong>de</strong> varias tarjetas<br />

<strong>de</strong> red (posiblemente<br />

conectadas a diferentes re<strong>de</strong>s).<br />

Lo habitual será que tengamos<br />

instalada una única tarjeta <strong>de</strong><br />

red. En este caso, el interfaz a<br />

seleccionar es eth0.<br />

Con el fin <strong>de</strong> evitar un<br />

consumo excesivo <strong>de</strong> memoria Figura 2. Ventana <strong>de</strong> captura <strong>de</strong> paquetes<br />

también po<strong>de</strong>mos indicar la<br />

cantidad <strong>de</strong> bytes que vamos a guardar <strong>de</strong> cada paquete capturado. No<br />

obstante, para capturas pequeñas como las que vamos a realizar, esta opción<br />

no es necesaria.<br />

Otra opción que po<strong>de</strong>mos <strong>de</strong>tallar es si <strong>de</strong>seamos realizar una captura<br />

en modo promiscuo. En este modo el programa capturará cualquier paquete<br />

que sea visible a la tarjeta <strong>de</strong> red, in<strong>de</strong>pendientemente <strong>de</strong> si está <strong>de</strong>stinado a<br />

ella o no. Por el contrario, po<strong>de</strong>mos seleccionar la captura <strong>de</strong> únicamente<br />

aquellos paquetes que van <strong>de</strong>stinados a, o que provienen <strong>de</strong>, nuestra tarjeta<br />

<strong>de</strong> red.


<strong>El</strong> <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong> <strong>Ethereal</strong> P8-5<br />

En esta ventana también po<strong>de</strong>mos introducir un filtro <strong>de</strong> captura, con<br />

el fin <strong>de</strong> procesar <strong>de</strong>spués más fácilmente la información obtenida. <strong>El</strong> uso <strong>de</strong><br />

este tipo <strong>de</strong> filtros lo <strong>de</strong>scribiremos más a<strong>de</strong>lante.<br />

Otra posibilidad que nos ofrece esta ventana es la <strong>de</strong> volcar los<br />

paquetes capturados a un fichero. Esto pue<strong>de</strong> resultar interesante para<br />

guardar un registro <strong>de</strong>l tráfico capturado. No obstante, dado que también<br />

po<strong>de</strong>mos almacenar las capturas <strong>de</strong>spués <strong>de</strong> realizarlas, <strong>de</strong>s<strong>de</strong> el menú<br />

File/Save, no vamos a hacer uso <strong>de</strong> esta posibilidad por el momento.<br />

Otras opciones que esta ventana nos permite <strong>de</strong>tallar están<br />

relacionadas con la visualización en pantalla <strong>de</strong> la captura. Po<strong>de</strong>mos optar<br />

por ver en tiempo real los paquetes que se van capturando y también<br />

po<strong>de</strong>mos elegir que se realice un <strong>de</strong>splazamiento vertical automático <strong>de</strong> la<br />

pantalla (scrolling).<br />

Finalmente, con el fin <strong>de</strong> terminar la captura, po<strong>de</strong>mos indicar que<br />

ésta termine automáticamente cuando se hayan capturado cierto número <strong>de</strong><br />

paquetes, o se haya capturado una cantidad <strong>de</strong>terminada <strong>de</strong> Kbytes, o bien<br />

cuando haya transcurrido cierta cantidad <strong>de</strong> tiempo. En caso <strong>de</strong> no<br />

seleccionar ninguna <strong>de</strong> las opciones, tendremos que finalizar la captura <strong>de</strong><br />

forma manual.<br />

Ejercicio 1:<br />

Lanza el programa <strong>Ethereal</strong> <strong>de</strong>s<strong>de</strong> una consola terminal mediante el<br />

procedimiento citado anteriormente.<br />

Des<strong>de</strong> otra consola ejecuta la or<strong>de</strong>n ping zoltar.re<strong>de</strong>s.upv.es y captura<br />

50 paquetes que circulen por la red local ethernet <strong>de</strong>l laboratorio. Observa los<br />

tipos <strong>de</strong> paquete que recibes y, mediante la opción Statistics/Protocol Hierarchy,<br />

indica cuántos paquetes <strong>de</strong> cada uno <strong>de</strong> estos tipos has recibido, teniendo en<br />

cuenta que alguno <strong>de</strong> los valores podría ser cero si no se han capturado paquetes<br />

<strong>de</strong>l protocolo correspondiente:<br />

ARP: IP: ICMP: TCP: UDP:<br />

Centra tu atención en el primer paquete IP recibido, y rellena los siguientes datos<br />

<strong>de</strong>l mismo:<br />

Dir. IP origen: Dir. IP <strong>de</strong>stino: Protocolo:<br />

Tamaño: TTL: I<strong>de</strong>ntificador:


P8-6 <strong>Práctica</strong>s <strong>de</strong> Re<strong>de</strong>s <strong>de</strong> Computadores<br />

3. Filtros <strong>de</strong> captura y <strong>de</strong> pantalla<br />

Al intentar analizar el tráfico <strong>de</strong> cualquier red, en particular el <strong>de</strong> la<br />

red <strong>de</strong> la UPV, resulta habitual encontrarse gran cantidad <strong>de</strong> paquetes que<br />

emplean <strong>protocolos</strong> en los que no estamos interesados. Tal cantidad <strong>de</strong><br />

tráfico dificulta el análisis <strong>de</strong> los paquetes capturados y aumenta<br />

innecesariamene el tamaño <strong>de</strong> los ficheros <strong>de</strong> captura, por lo que se hace<br />

indispensable filtrar toda esa información.<br />

Para filtrar los paquetes y facilitar el análisis <strong>de</strong>l tráfico capturado<br />

po<strong>de</strong>mos usar dos alternativas, no excluyentes entre ellas. La primera es<br />

<strong>de</strong>finir un filtro <strong>de</strong> captura, <strong>de</strong> modo que el propio <strong>Ethereal</strong>, cuando llega un<br />

nuevo paquete, <strong>de</strong>ci<strong>de</strong> si ese paquete se ajusta o no a los criterios<br />

establecidos por el filtro. En caso <strong>de</strong> que se ajuste, el paquete es aceptado y<br />

mostrado en pantalla, mientras que en caso contrario el paquete se <strong>de</strong>scarta.<br />

La otra alternativa para filtrar la información <strong>de</strong> los paquetes es<br />

establecer un filtro <strong>de</strong> pantalla. En este caso lo habitual es capturar todos los<br />

paquetes que circulan por la red, sin restricción alguna, y especificar un<br />

filtro para po<strong>de</strong>r extraer entre todo ese tráfico capturado aquellos paquetes<br />

que nos interesan. En cualquier caso, es posible usar un filtro <strong>de</strong> captura y<br />

posteriormente, sobre los paquetes capturados, usar un filtro <strong>de</strong> pantalla para<br />

ver mejor los <strong>de</strong>talles que estemos buscando en cada momento.<br />

Los filtros <strong>de</strong> captura se pue<strong>de</strong>n especificar <strong>de</strong>s<strong>de</strong> la ventana <strong>de</strong><br />

captura (Capture Options). Po<strong>de</strong>mos especificar un filtro escribiendo la<br />

expresión correspondiente en la caja <strong>de</strong> texto situada junto al botón Filter.<br />

La sintaxis <strong>de</strong> estas expresiones es la misma que la usada en la or<strong>de</strong>n<br />

tcpdump, disponible habitualmente en los sistemas Unix y Linux. En el<br />

apartado siguiente se mostrará un resumen <strong>de</strong> esta sintaxis.<br />

Por otra parte, los filtros <strong>de</strong> pantalla se pue<strong>de</strong>n especificar <strong>de</strong>s<strong>de</strong> la<br />

parte inferior <strong>de</strong> la ventana principal <strong>de</strong> <strong>Ethereal</strong>. La sintaxis para este tipo<br />

<strong>de</strong> filtros es ligeramente diferente. Es posible disponer <strong>de</strong> un asistente para<br />

especificar estos filtros.<br />

Es conveniente tener cuidado con estos filtros <strong>de</strong> visualización, ya que<br />

pue<strong>de</strong>n, en ocasiones, llevar a error. Por ejemplo, estos filtros se emplearán<br />

más <strong>de</strong>lante en TCP <strong>de</strong> forma automática para seguir un flujo TCP. Por<br />

tanto, para volver a visualizar todos los paquetes capturados es necesario<br />

limpiar este filtro <strong>de</strong> visualización, bien con la opción correspondiente<br />

(clear filter), o bien empleando un filtro vacío (línea en blanco).


<strong>El</strong> <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong> <strong>Ethereal</strong> P8-7<br />

3.1 Expresiones <strong>de</strong> filtros <strong>de</strong> captura<br />

Para seleccionar qué paquetes serán capturados se emplea una<br />

expresión <strong>de</strong> filtro, <strong>de</strong> forma que el paquete será almacenado si cumple con<br />

los criterios <strong>de</strong>l filtro (la expresión se evalúa a true). Las expresiones <strong>de</strong><br />

filtro se emplean siempre en minúsculas, y consisten en una o varias<br />

primitivas conectadas mediante operadores lógicos (and, or, not). Cada una<br />

<strong>de</strong> estas primitivas constan <strong>de</strong> un i<strong>de</strong>ntificador precedido, al menos, <strong>de</strong><br />

alguno <strong>de</strong> los siguientes tres tipos <strong>de</strong> calificadores:<br />

• De tipo: Indican a qué hace referencia el i<strong>de</strong>ntificador<br />

1. Computadores concretos (host). Por ejemplo, el filtro:<br />

host 158.42.180.62<br />

captura todas las tramas dirigidas o proce<strong>de</strong>ntes <strong>de</strong> esa dirección IP.<br />

2. Re<strong>de</strong>s concretas (net). Por ejemplo, el filtro:<br />

net 158.42<br />

captura todas las tramas dirigidas o proce<strong>de</strong>ntes <strong>de</strong> dicha red IP.<br />

3. Puertos <strong>de</strong>terminados (port). Así, el filtro:<br />

port 7<br />

captura todas las tramas dirigidas o proce<strong>de</strong>ntes <strong>de</strong>l puerto 7 <strong>de</strong><br />

cualquier computador, tanto TCP como UDP.<br />

Si no se especifica el tipo se asume el tipo host. También se encuentra<br />

especificado el i<strong>de</strong>ntificador broadcast, que permite hacer referencia a<br />

las direcciones <strong>de</strong> difusión.<br />

• De dirección: Especifican si el i<strong>de</strong>ntificador <strong>de</strong>be enten<strong>de</strong>rse sobre el<br />

origen, el <strong>de</strong>stino o ambos. Los calificadores <strong>de</strong> dirección posibles son<br />

src, dst, src or dst, y src and dst. Se aplicarán sobre alguno<br />

<strong>de</strong> los calificadores <strong>de</strong> tipo. Ejemplos:<br />

src 158.42.181.18<br />

src port 25<br />

src or dst net 158.42<br />

• De protocolo: Indican un tipo <strong>de</strong> protocolo. En nuestro caso resultan <strong>de</strong><br />

interés los <strong>protocolos</strong> arp, ip, icmp, tcp, o udp. Como norma general,<br />

no existen calificadores <strong>de</strong> nivel <strong>de</strong> aplicación, <strong>de</strong>biendo emplearse el<br />

número <strong>de</strong> puerto y protocolo <strong>de</strong> transporte para capturar el tráfico<br />

correspondiente a un protocolo <strong>de</strong> aplicación concreto.


P8-8 <strong>Práctica</strong>s <strong>de</strong> Re<strong>de</strong>s <strong>de</strong> Computadores<br />

Se pue<strong>de</strong>n combinar varias primitivas mediante los conectores and y<br />

or. También es posible usar el operador not.<br />

Ejemplo: udp and dst 158.42.148.3<br />

Esto mismo es aplicable tambiém a los i<strong>de</strong>ntificadores.<br />

Ejemplo: dst 158.42.181.4 or 158.42.181.15<br />

También se pue<strong>de</strong> hacer uso <strong>de</strong> paréntesis para indicar las prece<strong>de</strong>ncias<br />

<strong>de</strong>seadas.<br />

Ejemplo: dst 158.42.181.4 and (udp or icmp)<br />

En los ejercicios <strong>de</strong> esta práctica se propone el uso <strong>de</strong> diferentes filtros<br />

que se pue<strong>de</strong>n especificar a partir <strong>de</strong>l resumen expuesto anteriormente. Para<br />

acce<strong>de</strong>r a la documentación <strong>de</strong>tallada acerca <strong>de</strong> los filtros y sus<br />

posibilida<strong>de</strong>s se pue<strong>de</strong> acudir al manual en línea <strong>de</strong> la or<strong>de</strong>n tcpdump,<br />

tecleando en una consola <strong>de</strong> texto la or<strong>de</strong>n man tcpdump.<br />

4. La or<strong>de</strong>n ping<br />

Para comenzar, estudiaremos la or<strong>de</strong>n ping. Como sabemos, la or<strong>de</strong>n<br />

ping genera paquetes ICMP <strong>de</strong> tipo echo request y echo reply. A<br />

continuación comprobaremos el funcionamiento <strong>de</strong> la misma.<br />

Ejercicio 2:<br />

Realiza una captura <strong>de</strong> los paquetes ICMP generados tras la ejecución <strong>de</strong> la<br />

or<strong>de</strong>n ping -c 4 zoltar.re<strong>de</strong>s.upv.es<br />

Aplica un filtro que te permita capturar únicamente los paquetes que contengan<br />

mensajes <strong>de</strong>l protocolo ICMP. La opción -c configura la or<strong>de</strong>n ping para que<br />

realice únicamente cuatro intentos (acceso al manual <strong>de</strong> ping con ”man ping”).<br />

Detén la captura cuando terminen los cuatro intentos y observa cuántos<br />

mensajes ICMP se producen, prestando especial atención a los campos tipo,<br />

código, y bytes <strong>de</strong> datos. Asimismo, analiza las cabeceras IP <strong>de</strong> cada uno <strong>de</strong><br />

ellos, y en concreto los campos longitud <strong>de</strong> la cabecera, longitud total y bytes<br />

<strong>de</strong> datos.


<strong>El</strong> <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong> <strong>Ethereal</strong> P8-9<br />

5. <strong>El</strong> protocolo DNS<br />

<strong>El</strong> protocolo DNS, que emplea el puerto 53 <strong>de</strong> UDP, es imprescindible<br />

para po<strong>de</strong>r <strong>de</strong>nominar a los computadores mediante nombres simbólicos, sin<br />

tener que recordar las direcciones IP correspondientes a cada computador. A<br />

continuación observaremos el funcionamiento <strong>de</strong>l DNS, así como su<br />

utilización por parte <strong>de</strong> la or<strong>de</strong>n ping.<br />

Ejercicio 3:<br />

Modifica el filtro para que incluya también la consulta DNS y toma una nueva<br />

captura, repitiendo la or<strong>de</strong>n ping –c 4 zoltar.re<strong>de</strong>s.upv.es. Ten en<br />

cuenta que no será posible filtrar paquetes en función <strong>de</strong>l protocolo <strong>de</strong><br />

aplicación DNS y <strong>de</strong>berás, por tanto, pensar en otra alternativa.<br />

Examina el contenido <strong>de</strong>l protocolo <strong>de</strong> aplicación DNS para las peticiones <strong>de</strong><br />

resolución <strong>de</strong> nombre y averigua por qué la primera petición es diferente al<br />

resto. Asimismo, echa un vistazo al contenido <strong>de</strong>l datagrama UDP y fíjate en los<br />

números <strong>de</strong> puerto implicados en la transmisión.<br />

Realiza <strong>de</strong> nuevo la misma captura, pero esta vez sustituye en la or<strong>de</strong>n ping el<br />

nombre <strong>de</strong> la máquina zoltar por su dirección IP. Una vez realizada la captura<br />

comprueba, observando los paquetes capturados, que no se ha realizado ninguna<br />

consulta al DNS.<br />

NOTA: el filtro <strong>de</strong>be funcionar correctamente <strong>de</strong> forma in<strong>de</strong>pendiente <strong>de</strong>l<br />

servidor DNS empleado.<br />

6. <strong>El</strong> protocolo ARP<br />

Para que un datagrama llegue a su <strong>de</strong>stino es necesario especificar,<br />

a<strong>de</strong>más <strong>de</strong> la dirección IP <strong>de</strong>stino, la dirección física <strong>de</strong>l adaptador <strong>de</strong> red<br />

que <strong>de</strong>be recibir la trama en la que viaja el datagrama. Este adaptador <strong>de</strong> red<br />

pue<strong>de</strong> ser el <strong>de</strong>l host <strong>de</strong>stino o bien el <strong>de</strong> un router intermedio.<br />

Precisamente, para averiguar la dirección física que correspon<strong>de</strong> a una<br />

dirección IP <strong>de</strong>terminada se creó el protocolo ARP, con el que ya tuviste<br />

contacto en la práctica 6. Vamos a retomar <strong>de</strong> nuevo el estudio <strong>de</strong> este<br />

protocolo.


P8-10 <strong>Práctica</strong>s <strong>de</strong> Re<strong>de</strong>s <strong>de</strong> Computadores<br />

Ejercicio 4:<br />

Captura el tráfico generado por la ejecución <strong>de</strong> la or<strong>de</strong>n ping safo.re<strong>de</strong>s.upv.es<br />

modificando el filtro <strong>de</strong> la captura anterior para que incluya también los<br />

paquetes <strong>de</strong>l protocolo ARP. ¿Se han generado paquetes ARP para resolver la<br />

dirección IP <strong>de</strong> safo?. Vuelve a realizar <strong>de</strong> nuevo la captura (no <strong>de</strong>jes pasar<br />

mucho tiempo). Y ahora, ¿se han vuelto a generar paquetes ARP? ¿Por qué?<br />

Nota: como se <strong>de</strong>scribió en la práctica 6, pue<strong>de</strong>s conocer la dirección física <strong>de</strong> la<br />

tarjeta <strong>de</strong> red <strong>de</strong> tu or<strong>de</strong>nador mediante la or<strong>de</strong>n ifconfig. A<strong>de</strong>más, recuerda que<br />

pue<strong>de</strong>s consultar la tabla ARP con arp -a.<br />

Es posible que en las capturas que acabas <strong>de</strong> realizar se hayan<br />

aceptado paquetes que no iban explícitamente <strong>de</strong>stinados a tu or<strong>de</strong>nador,<br />

sino que eran difusiones. Pue<strong>de</strong>s modificar el filtro <strong>de</strong> captura para evitar<br />

que estas difusiones sean capturadas, <strong>de</strong> modo que sólo se acepten aquellos<br />

paquetes que lleven estrictamente como dirección origen o <strong>de</strong>stino la<br />

dirección IP <strong>de</strong> nuestra máquina.<br />

Ejercicio 5:<br />

Establece un filtro que no incluya las difusiones y realiza una nueva captura <strong>de</strong><br />

los paquetes generados por la ejecución <strong>de</strong> la or<strong>de</strong>n ping zoltar.re<strong>de</strong>s.upv.es<br />

Mantén la captura durante un tiempo pru<strong>de</strong>ncial (alre<strong>de</strong>dor <strong>de</strong> un minuto) para<br />

comprobar que las difusiones no se capturan.<br />

7. La or<strong>de</strong>n traceroute<br />

La or<strong>de</strong>n traceroute permite registrar la ruta seguida por un<br />

datagrama hasta un <strong>de</strong>stino <strong>de</strong>terminado. Su funcionamiento se basa en<br />

mensajes ICMP y en la variación <strong>de</strong>l parámetro TTL <strong>de</strong> las cabeceras IP.<br />

Ejercicio 6:<br />

Captura los paquetes IP <strong>de</strong>rivados <strong>de</strong> la ejecución <strong>de</strong> la or<strong>de</strong>n traceroute –n<br />

www.upv.es. Enumera cuántos tipos distintos <strong>de</strong> paquetes se han obtenido y<br />

cuál es su función.<br />

UDP:<br />

ICMP:


<strong>El</strong> <strong>analizador</strong> <strong>de</strong> <strong>protocolos</strong> <strong>Ethereal</strong> P8-11<br />

8. Protocolos <strong>de</strong> aplicación y transporte<br />

En este apartado vamos a emplear <strong>Ethereal</strong> para observar el<br />

funcionamiento <strong>de</strong> los <strong>protocolos</strong> <strong>de</strong> nivel superior a IP, es <strong>de</strong>cir, TCP y<br />

UDP a nivel <strong>de</strong> transporte y los <strong>protocolos</strong> <strong>de</strong> aplicación. Para ello<br />

monitorizaremos una aplicación típica como es el protocolo POP3.<br />

Ejercicio 7:<br />

Establece el filtro a<strong>de</strong>cuado para capturar la ejecución <strong>de</strong> la or<strong>de</strong>n telnet<br />

zoltar.re<strong>de</strong>s.upv.es 110<br />

Una vez establecida la conexión TCP con el servidor <strong>de</strong> correo <strong>de</strong> zoltar, envía<br />

las ór<strong>de</strong>nes siguientes para consultar el correo <strong>de</strong> tu cuenta labrdcXX: USER,<br />

PASS, LIST y QUIT.<br />

Estudia los segmentos que has obtenido en la captura y busca las fases <strong>de</strong><br />

establecimiento y cierre <strong>de</strong> la conexión y transferencia <strong>de</strong> datos. Analiza las<br />

cabeceras TCP y <strong>de</strong>termina cuál <strong>de</strong> los dos extremos inicia el cierre <strong>de</strong> conexión<br />

TCP, qué tipo <strong>de</strong> segmentos llevan activado el flag PUSH, y si es posible<br />

conocer la longitud <strong>de</strong>l campo <strong>de</strong> datos TCP. Con los datos obtenidos rellena la<br />

siguiente tabla<br />

Origen Nº secuencia Flags Nº reconocimiento Datos

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!