Vous êtes sur la page 1sur 22

UNIVERSIDAD DE CUENCA

FACULTAD DE INGENIERIA
ESCUELA DE INFORMATICA
liliana.naranjor@ucuenca.ec

Liliana Naranjo.

Prctica 5: Anlisis de protocolo IP con Wireshark

Antes de comenzar con esta prctica, es necesario revisar la seccin 3.4 del RFC 2151 que
puede ser obtenido de http://www.ietf.org/rfc/rfc2151.txt para familiarizarse con la operacin
del programa traceroute. Tambin se debe revisar el RFC 791 disponible en
http://www.ietf.org/rfc/rfc791.txt para una discusin del protocolo IP. Haga un resumen de
estas secciones antes de iniciar con la prctica.

RESUMEN:

Traceroute: Permite a los usuarios seguir la pista de los paquetes que se envan desde su
ordenador a un servidor y viceversa.

Formato de traceroute:

traceroute [-m #] [-q #] [-w #] [-p #] {IP_address|host_name}

-m= Valor mximo de TTL (Time-To-Live - Tiempo de vida), valor por defecto es 30.

-q= Es el nmero de paquetes UDP(User Datagram Protocol - Protocolo de datagrama de


usuario), valor por defecto 3.

-w= Es la cantidad de tiempo, en segundos, para esperar una respuesta de un router en


particular antes de renunciar, valor por defecto 5.

-p= Es la direccin del puerto no vlido en el host remoto, valor por defecto = 33434.

En la actualidad Traceroute funciona mediante el envo de una secuencia de datagramas


User Datagram Protocol (UDP) a una direccin de puerto no vlido en el host remoto; a
cada datagrama se le asigna un TTL.

En Windows al ejecutar tracert www.google.com se obtiene:


En donde el nmero de la primera columna es el nmero de salto, los tres tiempos
siguientes son el tiempo de respuesta para los paquetes enviados y el nombre y la direccin
IP del nodo por el que pasa.

IP- Internet Protocol:

Usado en sistemas interconectados de redes de comunicacin informtica, dispone la


transmisin de bloques de datos llamados datagramas a partir de fuentes destinos, el
objetivo de este protocolo es llamar a los protocolos de red locales para llevar el
datagrama a la siguiente puerta de enlace o host de destino.
Relacin con los dems protocoles, se observa en el siguiente grfico.

El protocolo implementa dos funciones:

Direccionamiento.
Fragmentacin.
Utiliza los siguientes mecanismos.

Tipo de servicio.
Tiempo de vida.
Opciones.
Checksum de cabecera.
Esta prctica investigar el protocolo IP, haciendo nfasis en el datagrama IP. Para ello se
proceder a analizar una traza de datagramas IP enviados y recibidos mediante la ejecucin
del programa traceroute.

Se investigarn los campos del datagrama IP, y se estudiar fragmentacin IP en detalle.

Captura de paquetes
Captura de paquetes de una ejecucin de traceroute.

Para generar una traza de datagramas IP para la prctica, se emplea el programa traceroute
para enviar datagramas de diferentes tamaos hacia algn destino, XYZ.

Traceroute opera enviando primero uno o ms datagramas con el campo time-to-live (TTL)
en el header IP establecido a 1; luego enva una serie de uno o ms datagramas hacia el
mismo destino con un TTL con valor 2; luego enva una serie de datagramas hacia el mismo
destino con un TTL con valor 3; y as sucesivamente.

Recuerde que un enrutador debe reducir en 1 el TTL en cada datagrama recibido (en
realidad, el RFC 791 dice que el enrutador debe reducir el TTL por lo menos en uno). Si el
TTL llega a cero (0), el enrutador retorna un mensaje ICMP (type 11 TTL-exceeded) al
host emisor. Como resultado de este comportamiento, un datagrama con un TTL de 1
(enviado por el host que ejecuta traceroute) ocasionar que el enrutador que est a un salto
de distancia desde el emisor enve un mensaje ICMP TTL-exceeded al emisor; el
datagrama enviado con un TTL de 2 ocasionar que el enrutador que se encuentra a dos
saltos de distancia enve un mensaje ICMP al emisor; el datagrama enviado con un TTL de
3 har que el enrutador a una distancia de tres saltos enve un mensaje ICMP al emisor; y
as sucesivamente.

De esta manera, el host que est ejecutando traceroute puede aprender las identidades de
los enrutadores entre el mismo y el destino XYZ mirando a las direcciones IP origen en los
datagramas que contienen los mensajes ICMP TTL-exceeded.

Deber ejecutar traceroute y hacer que enve datagramas de varias longitudes.

El programa tracert incluido en el sistema Microsoft Windows no permite cambiar el tamao


del ICMP de requerimiento de eco enviado por el programa
Un mejor programa para trazar rutas que funciona en Windows es pingplotter. Descrguelo
desde http://www.pingplotter.com e instlelo. Si usa GNU/Linux descargue un programa
que cumpla con funciones parecidas.

Haga pruebas ejecutando algunos trazados de rutas a algn sitio de su preferencia.

El tamao del mensaje de requerimiento de eco ICMP puede ser explcitamente establecido
en pingplotter seleccionando el item de menu Edit->Advanced Options->Packet Options y
luego llenando el campo Packet Size.
El tamao de paquete por defecto es 56 bytes. Una vez que pingplotter ha enviado una
serie de paquetes con valores crecientes para TTL, reinicia el proceso de envo de nuevo
con un TTL de 1, despus de esperar la cantidad de tiempo Trace Interval. El valor de Trace
Interval y el nmero de intervalos puede ser establecido explcitamente en pingplotter.

Haga lo siguiente:
Inicie Wireshark, comience la captura de paquetes (Capture->Start) y luego presione OK en
la pantalla Ethereal Packet Capture Options (no necesita seleccionar ninguna opcin aqu).

Inicie pingplotter e ingrese el nombre de un destino en la ventana Address to Trace, entre


3 en el campo # of times to trace, as no rene demasiados datos. Seleccione el tem de
men Edit- >Advanced Options->Packet Options y entre un valor de 56 en el campo Packet
Size y luego presione OK. Luego presione el botn Trace. Usted ver una ventana de
pingplotter como la siguiente:
Figura 1. Packet Size 56

A continuacin, enve un conjunto de datagramas con mayor longitud, seleccionando Edit -


>Options->Packet e ingrese un valor de 2000 en el campo Packet Size y luego presione
OK. Luego presione el botn Resume.
Figura 2. Packet Size 2000

Resumen -Sumary.

Figura 3 Resumen Packet Size 2000


Finalmente, enve un conjunto de datagramas con una longitud mayor, seleccionando Edit
-> Options -> Packet y entre un valor de 3500 en el campo Packet Size y luego presione
OK. Luego presione el botn Resume.

sumary

Figura 3 Resumen Packet Size 2000


Detenga el trazado con Wireshark.

Inspeccin del trazado capturado

En el trazado capturado, se debera observar la serie de ICMP Echo Request (en el caso
de un computador con Microsoft Windows) o el segmento UDP (en el caso de un
computador con Linux/Unix) enviado por su computadora y los mensajes ICMP TTL
exceeded retornados a su computadora por los enrutadores intermedios.

En las preguntas que siguen, se asume que est usando un computador con el sistema

Microsoft Windows; las preguntas correspondientes para el caso de un computador con

Linux/Unix deberan ser claras.

Cuando responda las preguntas muestre un listado impreso de los paquetes dentro del
trazado que us para responder la pregunta. Para imprimir un paquete, use File->Print, elija
Selected packet only, elija Packet summary line, y seleccione la mnima cantidad de detalles
del paquete que sea necesaria para responder la pregunta.

1. Seleccione el primer mensaje ICMP Echo Request enviado por su computadora, y


expanda la parte Internet Protocol del paquete en la ventana packet details.
Cul es la direccin IP de su computadora?

La direccin IP es: 192.168.0.11

2. Dentro de la cabecera (header) del paquete IP, cul es el valor en el campo upper layer
protocol?

Figura 4. Campo upper layer protocol


El valor de ICM es 1.

3. Cuntos bytes hay en la cabecera (header) IP? Cuntos bytes hay en el payload del
datagrama IP? Explique cmo determin el nmero de bytes de payload.

Figura 5. Bytes en header.

Existe 20 bytes en header.

Figura 6. payload
Existen 3472 bytes en el payload del datagrama IP.

Explicacin. El header tiene 20 bytes, transformamos a bits tenemos 20*8=160.

Luego, la longitud de cabecera es un campo de cuatro bits que dice, la longitud de la


cabecera IP en palabras de 32 bits, entonces 160/32=5 lo cual sera parte de la cabecera,
finalmente tenemos Datos y el valor de este es 3472 bytes.

4. Ha sido fragmentado este datagrama IP? Explique cmo determin si el datagrama fue
o no fragmentado.

Informacin que se usan para la fragmentacin:

Campo de offset Fragment.


Indicador flags
o Don't Fragment.
o More Fragment

Si ha sido fragmentado porque en campo offset Fragment. tiene un valor de 2960, ya que
cuando no est fragmentado este valor debe estar en 0; adems el bit DF significa no
fragmentar (Do not Fragment)en donde 0 se permite fragmentacin y con 1 no, en este caso
tenemos 0 y el bit MF significa que hay ms fragmentos (More Fragments),con 0 significa
que se trata del ltimo fragmento del datagrama y en este caso es 0.
Figura 7. Informacin de fragmentacin de un datagrama.

A continuacin, ordene los paquetes trazados de acuerdo a la direccin IP origen haciendo


click en la cabecera de la columna Source; al lado de la palabra Source hay una pequea
punta de flecha. Si la flecha apunta hacia arriba, haga clic otra vez en la cabecera de
columna Source. Seleccione el primer mensaje ICMP Echo Request enviado por su
computadora, y expanda la porcin Internet Protocol en la ventana details of selected
packet header. En la ventana listing of captured packets, debera ver todos los
subsecuentes mensajes ICMP (quizs con paquetes adicionales intercalados enviados por
otros protocolos que estn ejecutndose en su computadora) despus del primer ICMP.
Use la tecla con flecha hacia abajo para moverse a travs de los mensajes ICMP enviados
por su computadora.
Figura 8. Ordenar los paquetes trazados

5. Cules campos en el datagrama IP siempre cambian de un datagrama al prximo dentro


de esta serie de mensajes ICMP enviados por su computadora?

Para esta prctica se observ que los campos que cambian son:

1: Identificacin: 0x5aa5 (23205),

header Header checksum: 0x8a36

Tiempo de vida: 3

2: Identificacin: 0x5aa4 (23204)

Header checksum: 0x8b37

Tiempo de vida: 2

Se observa en dos frame.


Figura 9. Campos del datagrama que cambian.

6. Cules campos permanecen constantes? Cules de los campos deben permanecer


constantes? Cules campos deben cambiar? Por qu?

Campos constantes en la prctica:

Header Length: 20 bytes.


Fragment offset: 2960
Total Length: 540
Protocol: ICMP (1)

Campos que deben permanecer constantes.

Los campos que siempre deben estar son:

Todos los paquetes ICM deben tener; el primer byte es reservado para el tipo de ICMP, el
segundo octeto es para el cdigo de ICMP y el tercero es una suma de comprobacin de
todo el mensaje ICMP.

Tipo - Tipo de ICMP como se especifica a continuacin.


Cdigo - Subtipo al tipo dado.
Checksum - Datos comprobacin de errores.

Campos que deben cambiar:


Los que cambian son los mensajes ICMP, ya que estos valores cambian
dependiendo del error que ocurra, tambin el tiempo de vida (TTL).

7. Describa/discuta el modelo que ve en los valores en el campo Identificacin del


datagrama IP. Luego (con los paquetes an ordenados por source address) encuentre la
serie de respuestas ICMP TTL exceeded enviadas a su computadora por el primer
enrutador (primer salto).

Figura 10. Identificacin: 0x5ab9 (23225)

Figura 11. Identificacin: 0x5ab8 (23224)


El campo identificacin de cada paquete tiene un numero en hexadecimal y decimal, los
mismos cambian en cada paquete y estos siguen una secuencia de orden descendente
como se puede observar en la figura 10 y 11, y las respuestas TTL se observa en la figura
12.

Figura 12. Respuestas TTL.

8. Cul es el valor en el campo Identificacin y el campo TTL?

En esta prctica la identificacin tiene una sucesin, y el valor de TTL tambin tiene una
sucesin decreciente, es decir el tiempo de vida disminuye mientras ms se acerca a su
destino, es decir hasta llegar al host.

Figura 13. Identificacin y TTL.


9. Estos valores, permanecen inalterados para todas las respuestas ICMP TTL exceeded
enviadas a su computadora por el enrutador ms cercano (primer salto)? Por qu?

Los valores tanto de identificacin y TTL cambian debido a que tienen que llegar a un host,
y adems el valor de TTL va disminuyendo de uno en uno por ejemplo TTL=9, TTL=8
hasta llegar a TTL=0.

Fragmentacin

Ordene el listado de paquetes en funcin del tiempo haciendo clic en la columna Time.

Figura 14. Paquetes ordenados en funcin de time.

10. Encuentre el primer mensaje ICMP Echo Request que fue enviado por su computadora
despus que cambi el tamao del paquete a 2000 bytes. Dicho mensaje, ha sido
fragmentado a travs de ms de un datagrama IP?
Figura 15. Primer mensaje ICMP Echo Request

Si fue fragmentado porque fragment offset tiene un valor diferente de 0.

11. Imprima el primer fragmento del datagrama IP fragmentado. Qu informacin en la


cabecera (header) de IP indica que el datagrama ha sido fragmentado? Qu informacin
en la cabecera (header) IP indica si este es el primer fragmento versus el ltimo fragmento?
Cul es la longitud de este datagrama IP?

Para saber si est fragmentado o no, nos guiaremos en la tabla siguiente [6].

Tabla1. Ver fragmentacin de un datagrama.


Figura 16. El primer fragmento del datagrama IP fragmentado.

Como se explic en la pregunta 4, el campo que identifica que ha sido fragmentado es:
Fragment offset, tiene el valor de 1480, en caso de no estar fragmentado debe tener un
valor de 0.

El indicador que es el primer fragmento versus el ultimo es que MF (more fragment) cuando
est en 0 quiere decir que es el ltimo fragmento y cuando est en 1 es el primero o uno
intermedio, en este caso tenemos un valor de 1.

La longitud del datagrama es de 1500.

12. Imprima el segundo fragmento del datagrama IP fragmentado. Qu informacin en la

cabecera (header) IP indica que este no es el primer fragmento del datagrama? Hay ms
fragmentos? En base a qu puede decirlo?
Figura17. Segundo fragmento del datagrama.

En este caso no es el primer fragmento ya que el valor de MF tenemos en 0 adems


no existe ms fragmentos debido a que en MF tenemos Not Set.
Y est fragmentado ya que el valor de Fragment offset es 2960

13. Qu campos cambian en la cabecera (header) IP entre el primer y segundo fragmento?


Ahora encuentre el primer mensaje ICMP Echo Request que fue enviado por su
computadora despus que usted cambi el tamao del paquete a 3500 bytes.

Los campos que cambian son: More fragment y fragment ofset.

14. Cuntos fragmentos fueron creados desde el datagrama original?

El datagrama original es el de la figura 18:

Figura 18. Datagrama original.


Ya que fragmento offset tiene un valor de 0 y se identifica que es el primero debido a que
MF tiene un valor de 1. N 11229

Figura 19. Primera fragmentacin.

Es la primera porque MF tiene un valor de 1, Fragment offset: 1480 y el N: 11230es el


siguiente del datagrama original.

Figura 19. Fragmento Final.

Es el datagrama final debido a que el valor de MF est en 0.

15. Cules campos cambiaron en la cabecera IP entre los fragmentos?

Los datos que cambian son:

N del paquete, MF y Fragment offset.


Glosario:

ICMP (Protocolo de mensajes de control de Internet)

Suma de Control de Cabecera (Checksum)


MF More Fragment.
DF Don't Fragment

Referencias:

[1] http://www.computerhope.com/unix/utracero.htm

[2] http://maite29.upc.es/CMTER/practiques/html/esp/practica3/c_ip003.html

[3]http://www.ebah.com.br/content/ABAAAgalcAH/tp3-ruteo-dinamico-ospf-sobre-equipos-
cisco

[4] http://stackoverflow.com/questions/11668172/how-do-i-calculate-ip-header-length

[5] Teleinformtica para ingenieros en sistemas de informacin, segunda edicin, Antonio


Ricardo Castro y Rubn Jorge Fusario.Pginas 250-253.

[6] http://neo.lcc.uma.es/evirtual/cdd/tutorial/red/fragmentacion.html

Vous aimerez peut-être aussi