Está en la página 1de 12

Master en Comunicaciones Móviles

Práctica sobre
Analizadores de Protocolos
Nombre y apellidos de los integrantes del grupo:

Duración: 3 horas.
Objetivo: Familiarizar al alumno con el uso de un analizador de protocolos como herramienta
de análisis y diagnóstico de problemas en redes TCP/IP. Profundizar en el conocimiento de
algunos protocolos de la arquitectura TCP/IP como ARP, IP, ICMP, TCP, HTTP o DNS, y en el
manejo y comprensión de algunas utilidades como ping y traceroute.
Requisitos: Conocimientos básicos de TCP/IP, ARP e ICMP.
Resultados: Cada alumno o grupo de alumnos deberá entregar una memoria con los
resultados de la práctica rellenando los recuadros dispuestos a tal efecto. Se puede obtener la
plantilla en formato electrónico en:
http://www.dit.upm.es/david/master/vodafone

1. Fundamentos
Para el desarrollo de la práctica se utilizará el analizador de protocolos Ethereal, de libre
distribución y disponible en:
http://www.ethereal.com/download.html

Arranque el analizador de protocolos (Menú Inicio  Todos los programas  Ethereal 


Ethereal). Observará una ventana dividida en tres zonas; en cada una de ellas se muestran los
paquetes capturados con distinto nivel de detalle:

 En la zona superior se presenta una línea por cada trama capturada con un resumen
de sus contenidos: básicamente un número de secuencia, el instante de captura (por
defecto, relativo al inicio de la captura), origen y destino, protocolo más alto de los
detectados, e información relativa al protocolo concreto (por ejemplo, en caso de ser un
paquete ICMP, puede identificar que se trata de una petición de eco). También es
posible añadir otras columnas para visualizar más información de cada trama, aunque
esto no será necesario en la práctica. Esta zona es el sitio indicado para observar qué
secuencia de mensajes ha tenido lugar a grandes rasgos en una comunicación.
Seleccionando una trama en esta sección superior se muestra información más
detallada sobre la misma en las otras dos zonas.
 En la zona central se puede ver los valores de los campos de las distintas cabeceras
detectadas en la trama, comenzando por la cabecera del nivel de enlace (por ejemplo,
Ethernet), de una manera fácilmente legible, en forma de árbol de información. Éste es
un buen sitio para buscar, por ejemplo, qué valor tiene el campo TTL de la cabecera IP
de un datagrama determinado.
 Finalmente, en la zona inferior se ofrece el valor de cada octeto de la trama capturada,
escrito en notación hexadecimal, lo que permite analizar los contenidos del paquete
que no han sido decodificados en las secciones menos detalladas.

1
Master en Comunicaciones Móviles
En caso de querer guardar una captura para analizarla más adelante, se puede hacer mediante
el menú “File  Save As...”, pudiendo elegir entre guardar todas las tramas capturadas o sólo
un subconjunto de ellas (por ejemplo, sólo las tramas marcadas, en caso de haber marcado
algunas tramas). También se puede seleccionar el formato del archivo (por ejemplo, libpcap).
Posteriormente, mediante “File  Open...” es posible abrir cualquier archivo de captura
previamente guardado.

La siguiente figura muestra el aspecto de la ventana principal del analizador:

Casilla de definición de filtros de visualización

Resumen de
cada trama

Árbol de
información
de protocolos

Volcado
hexadecimal
de la trama

Nota: El aspecto de la ventana puede variar ligeramente dependiendo de la versión


exacta del programa.

La documentación del analizador se encuentra accesible en Menú Inicio  Todos los


programas  Ethereal  Ethereal Manual.
En ocasiones le será necesario conocer algunos parámetros de red de su propia máquina. Para
ello, debe ejecutar la orden “ipconfig /all” en una ventana del “Símbolo del sistema”
(Menú Inicio de Windows  Programas  Accesorios  Símbolo del sistema).

2
Master en Comunicaciones Móviles

Escriba los parámetros de red de su propia máquina:


 Dirección Ethernet (física):
 Dirección IP:
 Máscara de subred:
 Router (puerta de enlace) predeterminado:
 Servidor(es) de DNS predeterminado(s):

2. Ping a una máquina interna


En este apartado se va a analizar la secuencia de acciones que tiene lugar a consecuencia de
la ejecución de la aplicación “ping” en una máquina, siendo el objetivo una máquina de la
misma subred. Siga de manera ordenada los pasos que se detallan a continuación:
 Abra una ventana de opciones de captura en el analizador: menú “Capture  Start...”
(o directamente mediante ‘Ctrl+K’) y aplique las siguientes opciones (sin hacer clic en
“OK” aún):
o Seleccione la interfaz sobre la que se desea capturar tráfico en la casilla
“Interface”.
o Deshabilite “Capture packet in promiscuous mode” (de manera que sólo se
capturará el tráfico Ethernet con origen o destino esta máquina, además del
tráfico difusivo).
o Deshabilite también (en caso de no estar ya deshabilitados) las opciones
“Enable MAC name resolution”, “Enable network name resolution” y “Enable
transport name resolution”, de manera que el analizador no intente resolver
direcciones a nombres (para evitar que se genere y capture tráfico extra debido
a esto).

3
Master en Comunicaciones Móviles
En la figura que sigue se puede observar las posibilidades que ofrece la ventana de opciones
de captura:

Interfaz sobre la que


se va a capturar tráfico
aa.bb.cc.dd

Captura de paquetes en modo


promiscuo/no promiscuo

Casilla de definición
de filtros de captura

Opciones de visualización
en tiempo real

Opciones de resolución de
direcciones y puertos a nombres

Nota: El aspecto de la ventana puede variar ligeramente dependiendo de la versión


exacta del programa.

 Averigüe la dirección IP de una máquina de su misma subred que no sea el router (por
ejemplo, desde una ventana de “Símbolo del sistema”, realice un ”ping [máquina]“
al nombre de la máquina elegida y anote la dirección IP que le corresponde).
Escriba la dirección IP de la máquina a la que hace el ping:
 Desde una ventana de “Símbolo del sistema” observe el estado de la tabla ARP de su
PC. Para ello ejecute la orden “arp -a”. En caso de no estar vacía, borre todas las
entradas presentes ejecutando la orden “arp -d”. Tras hacerlo, compruebe que
efectivamente ahora la tabla está vacía (mediante “arp -a”).
 Arranque una captura en el analizador (botón “OK” de la ventana de opciones de
captura). Se abrirá una nueva ventana de captura que muestra algunas estadísticas.
 Ejecute la orden “ping” a la dirección IP (no al nombre) de la máquina elegida y espere
las cuatro respuestas.
 Pare la captura (botón “Stop” de la ventana de captura).
 Observe qué entradas han aparecido en su tabla de ARP. ¿Cuánto tiempo tardan en
borrarse aproximadamente? (para averiguarlo, teclee cada pocos segundos la orden
“arp -a” hasta que la(s) entrada(s) relacionada(s) con el ping hayan desaparecido).
Entradas que han aparecido en la tabla ARP, y por qué ha aparecido cada una:

Tiempo aproximado que tardan en borrarse la(s) entrada(s):

4
Master en Comunicaciones Móviles
 Vaya a la ventana principal del analizador. De las tramas capturadas debe distinguir
aquéllas que se han visto implicadas en todo el proceso (desde la ejecución de la
orden “ping” en el PC hasta la recepción de las respuestas de la otra máquina; no
serán únicamente paquetes ICMP). Dibuje en un diagrama las tramas que han
intervenido, por su orden, junto con información sobre el protocolo al que pertenecen y
su propósito. ¿Puede identificar qué información ha decidido introducir su máquina en
el campo de datos de las peticiones de eco?
Tramas que han intervenido. Complete el diagrama con flechas que indiquen qué
mensajes se han intercambiado las máquinas (incluyendo los protocolos y tipos
de mensajes). Si una trama es enviada a una dirección de difusión, indíquelo en
el diagrama.
Máquina a la que
Su máquina hace el ping

Información que su máquina pone en el campo de datos de las peticiones de


eco:

3. Ping a una máquina externa


En este caso se va a ejecutar un “ping” de manera muy similar al apartado anterior, pero a una
máquina no perteneciente a la subred. Los pasos a seguir son, por este orden:
 Abra una ventana de opciones de captura en el analizador.
 Elija el nombre (no la dirección IP) de una máquina externa a su subred y realice un
“ping” para asegurarse de que contesta al mismo (por ejemplo, puede intentarlo con
www.upm.es, o con cualquier otra).
 Asegúrese de vaciar a continuación la caché de DNS de la máquina, mediante la orden
“ipconfig /flushdns”.
 Asegúrese también de que la tabla ARP de su PC está vacía, de la manera descrita
anteriormente.
 Arranque la captura.

5
Master en Comunicaciones Móviles
 Ejecute la orden “ping” en su máquina utilizando el nombre (no la dirección IP) de la
máquina elegida, y espere las cuatro respuestas.
 Pare la captura.
 ¿Qué entradas han aparecido en este caso en la tabla ARP?
Entradas que han aparecido en la tabla ARP, y por qué ha aparecido cada una:

 Vaya a la ventana principal del analizador y localice las diferencias entre los
procedimientos seguidos en el caso anterior y éste. ¿A qué se deben?
Resuma y justifique las diferencias entre los acontecimientos que tienen lugar
en este caso y en el caso del apartado anterior:

4. Traceroute
Ahora se va a observar qué tipo de tramas ICMP entran en juego al ejecutar una aplicación
típica de “traceroute”. Para ello, en este orden:
 Abra una ventana de opciones de captura en el analizador.
 Arranque una captura de tráfico.
 En una ventana de “Símbolo del sistema” ejecute la aplicación traceroute (la orden es
“tracert [dirección-o-nombre]” utilizando el nombre ‘www.upm.es’. Espere
hasta su conclusión.
 Pare la captura.
 Vaya a la ventana principal del analizador y observe qué paquetes ICMP (no tenga en
cuenta el resto de protocolos) se han generado como consecuencia de la ejecución del
traceroute: entre qué máquinas, y de qué tipo.
Nota: para esto puede resultar muy útil la utilización de un filtro de visualización, que
selecciona, de entre todas las tramas capturadas, aquéllas que coinciden con el criterio
especificado (y no muestra el resto). En este caso, es útil seleccionar las tramas en las
que se ha detectado el protocolo ICMP. Para ello, escriba en la casilla de definición de
filtros de visualización (señalada por “Filter:”) la palabra “icmp” (sin las comillas) y
aplique el filtro (“Apply”). Recuerde que para volver a visualizar todas las tramas debe
pulsar el botón “Clear”.
Resumen de los paquetes ICMP observados (entre qué máquinas, y de qué tipo):

6
Master en Comunicaciones Móviles

 A la vista de los resultados, describa de manera resumida qué procedimiento utiliza la


aplicación traceroute para ir averiguando el camino que siguen los datagramas desde
la máquina en que se ejecuta la orden hasta el destino especificado.
Describa brevemente el procedimiento que utiliza la aplicación traceroute:

 Indique si con el comando ping se puede obtener la misma información de la ruta a un


destino (al ejecutar “ping” en la ventana de “Símbolo del sistema” se proporcionan
todos los parámetros que se pueden usar). En caso afirmativo, describa la forma en
que se haría.
¿Existen otras posibilidades de obtener la ruta a una máquina, usando el
comando ping? En caso afirmativo, descríbalas brevemente:

5. Descarga de un archivo
En este apartado se llevará a cabo la descarga de un archivo relativamente voluminoso con un
navegador web para observar la velocidad de descarga en función del tiempo.
 Borre el filtro de visualización que definió en el apartado anterior.
 Abra una ventana de opciones de captura en el analizador.
 En este caso se va a definir un filtro de captura (casilla señalada por “Capture Filter:”
en la ventana de opciones de captura). Un filtro de captura, a diferencia de uno de
visualización, impide que se capture el tráfico que no coincida con el criterio
seleccionado. De esta manera, posteriormente sólo se podrá analizar el tráfico que
este filtro haya permitido capturar. En este caso estamos interesados en capturar todo
el tráfico TCP que tenga origen o destino (a nivel IP) en nuestra máquina. Para ello, en
la casilla destinada al filtro de captura, teclee lo siguiente (sustituyendo la dirección de
ejemplo “10.0.0.1” por la de su máquina):
ip proto \tcp and ip host 10.0.0.1
 Abra un navegador web y desactive la utilización de un servidor proxy si es necesario.
En el caso del navegador Internet Explorer de Microsoft, se hace mediante
“Herramientas  Opciones de Internet  Conexiones  Configuración de LAN...”,
desactivando la casilla “Utilizar un servidor proxy para su LAN”, aceptando el cambio.
 Arranque una captura.
 Descargue con el navegador un archivo de algunos cientos de kilobytes para provocar
el establecimiento de una conexión TCP de varios segundos de duración. Como
sugerencias, puede probar con:

7
Master en Comunicaciones Móviles
o http://www.ietf.org/iesg/1rfc_index.txt
o http://sunsite.utk.edu/ftp/usr-218-2/iesg/1rfc_index.txt

 Cuando se haya terminado de descargar el archivo, pare la captura (“Stop”).


 Localice entre los paquetes mostrados por pantalla uno que pertenezca a la conexión
TCP por la que se ha transferido el archivo y que haya viajado desde el servidor a su
ordenador. Si ha descargado un archivo de texto, uno de estos paquetes es fácilmente
identificable observando cómo en los datos HTTP del paquete se puede leer parte del
contenido del archivo (sección inferior de la ventana del analizador, parte derecha).
Seleccione este paquete y posteriormente elija “Statistics  TCP Stream Graph 
Throughput Graph” para representar la velocidad a la que ha sido transferido el archivo
en cada intervalo. Observe la gráfica que se genera y conteste a las siguientes
preguntas. ¿Es constante la velocidad a la que se ha transferido el archivo? De su
conocimiento del funcionamiento del protocolo TCP, ¿puede explicar por qué lo es / no
lo es?
¿Es constante la velocidad a la que se ha transferido el archivo?
¿Por qué?

6. Estadísticas de tráfico Web


En esta ocasión, mediante la captura de tráfico de navegación web, se introducirán algunas
posibilidades del analizador a la hora de extraer estadísticas.
 Abra una ventana de opciones de captura en el analizador y mantenga el filtro de
captura definido en el apartado anterior. Arranque una captura.
 Visite con un navegador web varias páginas de un portal de Internet.
 Pare la captura.
 Abra la herramienta que permite ver estadísticas de entrada/salida: “Statistics  IO
Graphs”. Observará una ventana con un gráfico que por defecto muestra, para todo el
tráfico capturado, el número de paquetes por intervalo. Es posible mostrar varios
gráficos con distintos colores, cada uno asociado a un filtro (de manera que se
representen los valores del tráfico que coincide con el filtro), así como mostrar otros
tipos de estadísticas (como número de octetos por intervalo, por ejemplo). Elija el modo
avanzado de estadísticas mediante la selección de “Advanced...” en el botón marcado
como “Unit:”. (En caso de aparecer una ventana de aviso “Ethereal: Warning”, ignórela
pulsando “OK”). La ventana adquirirá el aspecto que se muestra en la figura siguiente,
con una fila por cada gráfico que se puede definir, además de un conjunto de controles
genéricos a la derecha. En la figura se indica la funcionalidad de las distintas
secciones.

8
Master en Comunicaciones Móviles

Botones para Casillas de definición Variable sobre la que


activar/desactivar hacer el cálculo Controles que
de filtros afectan a
la visualización de Selección del
cada gráfico todos los gráficos
tipo de cálculo por
intervalo: suma, cuenta,
máximo, mínimo, medio

 Se quiere representar por separado el tráfico de entrada y el de salida de nuestra


máquina. Para ello escriba, en las casillas de definición de los dos primeros filtros, lo
siguiente (sustituya “10.0.0.1” por la dirección IP de su máquina):

ip.dst==10.0.0.1 and frame.pkt_len (tráfico de entrada)

ip.src==10.0.0.1 and frame.pkt_len (tráfico de salida)

 En el botón marcado como “Unit:” seleccione “Bytes/Tick”, de manera que se muestre


en los gráficos la cantidad de octetos total transferida en cada sentido durante cada
intervalo.
Nota: como cabía esperar, al cambiar del modo “advanced” al de “Bytes/Tick”,
desaparecen de la ventana las columnas dedicadas a la especificación de los cálculos
avanzados.
 Active la visualización de los dos primeros gráficos y describa las diferencias
encontradas entre ambos (¿hay un sentido en el que se observe una mayor
transferencia de información en general? Si es así, ¿cuál? ¿por qué?).
Nota: si lo precisa, puede ajustar los valores del tiempo de intervalo (“Tick interval”) y el
número de pixels que ocupa cada intervalo en el gráfico (“Pixels per tick”) de manera
que observe los gráficos con una escala adecuada.
Respecto de la cantidad de octetos total intercambiada en cada sentido por
intervalo: ¿hay un sentido en el que se observe una mayor transferencia de
información en general?
Justifique la respuesta

9
Master en Comunicaciones Móviles
 Cambie de nuevo el valor del botón “Unit:” a “Packets/Tick” de manera que se muestre
el número de tramas transferidas en cada sentido durante cada intervalo, y visualice los
dos primeros gráficos de nuevo. Comente lo que observa, comparándolo con el caso
anterior.
Respecto del número de tramas transferidas en cada sentido por intervalo: ¿hay
un sentido en el que en general se observe un mayor número de tramas?
Justifique la respuesta

 Vuelva al modo “Advanced...” con el botón “Unit:” para realizar cálculos más
avanzados. Los cálculos se harán sobre la longitud de las tramas capturadas en
octetos. En consecuencia, en las dos primeras casillas dónde se escribe la variable
sobre la que hacer los cálculos, teclee lo siguiente:

frame.pkt_len

 En cuanto al tipo de cálculo, seleccione MAX (tamaño máximo de las tramas por
intervalo” en ambos y visualice los dos gráficos. Repita esta operación seleccionando el
cálculo AVG (tamaño medio de las tramas por intervalo). Comente las diferencias
encontradas para ambos sentidos de transmisión y la explicación de las mismas.
Respecto de los tamaños máximo y medio de las tramas transferidas en cada
sentido por intervalo: ¿hay un sentido en el que en general se observen tamaños
mayores?
Justifique la respuesta

Visualización de estadísticas en tiempo real (ejercicio opcional)


Las estadísticas que muestra la herramienta “IO Graphs” se pueden observar en tiempo real
(de manera simultánea con la captura de tráfico), al igual que la descodificación de tramas en la
ventana principal. Para ello, en la ventana de opciones de captura, se deben activar las
opciones “Update list of packets in real time” y “Automatic scrolling in live capture”. Una vez
arrancada la captura, las tramas capturadas irán siendo mostradas de manera inmediata en la
ventana del analizador. Si posteriormente se abre la herramienta de estadísticas de
entrada/salida, se pueden observar los gráficos de estadísticas generándose conforme se
captura tráfico. Esto es compatible con la definición de diversos filtros y distintos tipos de
estadísticas o cálculos, tal y como se ha explicado anteriormente.
Como ejercicio opcional, se propone experimentar con esta posibilidad, observando en tiempo
real cómo varía la tasa binaria de entrada y/o salida cuando se descarga el archivo del
apartado “Descarga de un archivo” o cuando se navega por web como en este apartado. Varíe
los valores del tiempo por intervalo y de píxeles por intervalo para observar la influencia que
tiene sobre el aspecto de las gráficas el hecho de extraer estadísticas por intervalos mayores o
menores.

10
Master en Comunicaciones Móviles

7. Fragmentación de datagramas IP
A continuación se va a experimentar con el mecanismo de fragmentación de datagramas IP.
Para ello, siga los siguientes pasos:
 Arranque una captura.
 Ejecute en una ventana de “Símbolo del sistema” la siguiente orden: “ping -l 2500
[máquina]”, sustituyendo [máquina] por la dirección IP o el nombre del equipo al
que hizo ping en el apartado “Ping a una máquina interna”. Espere las respuestas de la
máquina remota.
 Pare la captura y observe la decodificación de los mensajes intercambiados entre los
dos equipos. En este caso puede ser útil la utilización del siguiente filtro de
visualización (sustituya “10.0.0.1” por la dirección IP de su máquina), para mostrar sólo
el tráfico con origen o destino su máquina:
ip.addr==10.0.0.1
 Observe cómo los paquetes IP que transportaban las peticiones de eco han sido
fragmentados. ¿En cuántos fragmentos, y de qué longitud cada uno (incluyendo la
cabecera IP pero no la de nivel 2)? ¿Por qué se ha producido fragmentación IP?
Nota: el valor de MTU de una subred de tipo Ethernet es 1500 octetos.
Nota: observe que para saber si dos fragmentos han surgido del mismo datagrama
original puede ser útil observar el campo de identificación (“Identification”) en la
cabecera IP.
Número de fragmentos de los paquetes IP con las peticiones de eco:

Longitud de cada fragmento (incluyendo cabecera IP):

¿Por qué se ha producido fragmentación?

 ¿Han sido también fragmentados los paquetes IP que transportaban las respuestas de
eco? ¿por qué?
¿Se han fragmentado también los paquetes con las respuestas de eco?
¿Por qué?

 De lo observado con el analizador:¿concretamente qué longitud se está fijando a 2500


octetos al utilizar la opción “-l 2500” de la orden “ping”?
¿Qué longitud queda fijada con la opción “-l” de la orden ping?

 Teniendo en cuenta el valor de MTU de una subred Ethernet, así como su respuesta
del apartado anterior, calcule cuál es el valor máximo a proporcionar mediante la
opción “-l [valor]” para que no se fragmenten los datagramas IP que transportan

11
Master en Comunicaciones Móviles
las peticiones de eco. Puede verificar la corrección de su cálculo utilizando la opción
“-f” de la orden ping (combinada con “-l [valor]”), o haciendo uso del analizador
de protocolos de manera análoga a lo visto en este apartado.
Valor máximo a proporcionar con la opción “-l” para evitar fragmentación:

12

También podría gustarte