Vous êtes sur la page 1sur 21

UNIVERSIDAD DE CUENCA FACULTAD DE INGENIERA ESCUELA DE INFORMTICA REDES DE COMPUTADORES 1 PRCTICA 7: ANLISIS DEL PROTOCOLO IP CON WIRESHARK NOMBRES:

ANGEL OSWALDO VZQUEZ PATIO NOTA: ______________ INTRODUCCIN 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 Internet Protocol (Protocolo Internet IP, RFC 791) Este protocolo est diseado para su uso en sistemas interconectados de redes de comunicacin por intercambio de paquetes. IP proporciona los medios para la transmisin de bloques de datos (datagramas) desde el origen al destino, donde origen y destino son hosts identificados por direcciones de longitud fija. Este protocolo es utilizado por protocolos host-a-host en un entorno de internet, adems utiliza a su vez protocolos de red locales para llevar el datagrama internet a la puerta de enlace o host de destino. Operacin IP implementa dos funciones bsicas: 1. Direccionamiento, y 2. Fragmentacin. Los mdulos internet usan las direcciones que se encuentran en la cabecera internet para transmitir los datagramas hacia sus destinos, tambin, para fragmentar y re ensamblar los datagramas internet cuando sea necesario para su transmisin a travs de redes de "trama pequea". La seleccin de un camino para la transmisin se llama encaminamiento. Adems trata cada datagrama internet como una entidad independiente no relacionada con ningn otro datagrama internet. El protocolo internet utiliza cuatro mecanismos clave para prestar su servicio: Tipo de Servicio.- se utiliza para indicar la calidad del servicio deseado.

Tiempo de Vida.- es una indicacin de un lmite superior en el perodo de vida de un datagrama internet. Es fijado por el remitente del datagrama y reducido en los puntos a lo largo de la ruta donde es procesado. Opciones.- proporcionan funciones de control tiles en algunas situaciones. Las opciones incluyen recursos para marcas de tiempo, seguridad y encaminamiento especial. Checksum de Cabecera.- proporciona una verificacin de que la informacin utilizada al procesar el datagrama internet ha sido transmitida correctamente. Si esta falla, el datagrama internet es descartado inmediatamente por la entidad que detecta el error. El protocolo internet no proporciona ningn mecanismo de comunicacin fiable. No existen acuses de recibo ni entre extremos ni entre saltos No hay control de errores para los datos, slo una suma de control de cabecera. No hay retransmisiones. No existe control de flujo. Formato de la cabecera IP.

Resumen del RFC 2151 la Seccin Traceroute Traceroute es otra herramienta comn de TCP/IP, esta permite a los usuarios aprender sobre la ruta que los paquetes toman desde su mquina local a un host remoto. Aunque a menudo utilizado por la red y los administradores de los sistemas como una simple, pero potente, la herramienta de depuracin, traceroute puede ser usado por los usuarios finales para aprender algo acerca de la siempre cambiante estructura de la Internet. Traceroute tiene el siguiente formato general (donde "#" representa un valor positivo asociado con el ndice): traceroute [-m #] [-q #] [-w #] [-p #] (direccin_IP | host_name) Dnde m: valor mximo TTL permitido, medida como el nmero de saltos permitido antes de que el programa termina (por defecto = 30). q: nmero de paquetes UDP que se enviar con cada time-to-live (por defecto 3). w: cantidad de tiempo, en segundos, que espera a que una respuesta de un router antes de darse por vencido (por defecto 5). p: direccin de puerto no vlido en el host remoto (default = 33434).

La versin original de Traceroute funciona mediante el envo de una secuencia de datagramas UDP a un puerto de direccin no vlido en un host remoto. Usando la

configuracin por defecto, tres datagramas son enviados, cada uno con un valor de campo time-to-Live (TTL) de 1. El valor TTL de 1 provoca que el datagrama a "timeout" tan pronto como ste llegue al primer Router en la ruta de acceso; este Router responder con un mensaje ICMP de tiempo excedido (TEM) que indica que el datagrama ha caducado. Otros tres mensajes UDP se envan, cada uno con el valor TTL de 2, lo que provoca que el segundo Router devuelva ICMP. TEMs. Este proceso contina hasta que los paquetes realmente lleguen al otro destino. Dado que estos datagramas estn intentando acceder a una direccin de puerto de host destino no vlido, ICMP (Destination Unreachable Messages). Los mensajes se devuelven indicando un puerto inalcanzable; este evento seala que el programa Traceroute se acab. Traceroute no comenz la vida como para fines generales de utilidad, sino como una rpida y sucia depuracin utilizado la ayuda para encontrar un problema de enrutamiento. OBJETIVOS DE LA PRCTICA 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. PROCEDIMIENTO Paso 1. Captura de paquetes de una ejecucin de traceroute Para generar una traza de datagramas IP para la prctica, se emplear 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 TTLexceeded) 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.

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 tem de men 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, ponga 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:

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.

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.

Detenga el trazado con Wireshark.

Paso 2. 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. Si es posible, cuando responda las preguntas tenga a mano 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: 172.31.9.133 2. Dentro de la cabecera (header) del paquete IP, cul es el valor en el campo upper layer protocol?

El valor de ICMP 0x01 (en hexadecimal). 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.

En la cabecera IP hay 20 bytes.

En el payload del datagrama IP hay 28 bytes. Explique cmo determin el nmero de bytes de payload. El nmero de bytes de payload es la informacin til del mensaje, el cual estaba indicado en la cabecera. 4. Ha sido fragmentado este datagrama IP? Explique cmo determin si el datagrama fue o no fragmentado. El paquete IP no ha sido fragmentado, porque en el campo Flags (More fragments) tenemos Not set; y en Fragment offset est 0 (cero), entonces el datagrama IP no ha sido fragmentado.

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 click 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. 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? En primer lugar obviamente cambia el valor de Frame. Cambia el valor de Identification, el valor de checksum y el nmero de secuencia. 6. Cules campos permanecen constantes? Cules de los campos deben permanecer constantes? Cules campos deben cambiar? Por qu? Los campos que permanecen constantes: Header Length, Total Length, Protocol.

Donde: Type Especifica el tipo del mensaje: 0 3 4 5 8 9 10 11 12 13 14 15 16 17 18 Echo reply Destination unreachable Source quench Redirect Echo Router Advertisement Router Solicitation Time exceeded Parameter Problem Timestamp request Timestamp reply Information request(obsolete) Information reply(obsolete) Adress mask request Adress mask reply

Code Contiene el cdigo de error para el datagrama del que da parte el mensaje ICMP. La interpretacin depende del tipo de mensaje. Checksum Contiene el complemento a 1 de 16 bits de la suma del "ICMP message starting with the ICMP Type field". Data Contiene informacin para el mensaje ICMP. Los campos que deben cambiar: El campo Type el valor TTL, porque el Protocolo de Mensajes de Control y Error de Internet, ICMP, que es de caractersticas similares a UDP, pero con un formato mucho ms simple, y su utilidad no est en el transporte de datos de usuario, sino en controlar si un paquete no puede alcanzar su destino, si su vida ha expirado, si el encabezamiento lleva un valor no permitido, si es un paquete de eco o respuesta, etc. Es decir, se usa para manejar mensajes de error y de control necesarios para los sistemas de la red, informando con ellos a la fuente original para que evite o corrija el problema detectado. ICMP proporciona as una comunicacin entre el software IP de una mquina y el mismo software en otra.

7. Describa el modelo que ve en los valores en el campo Identification 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). Identificador: numero de secuencia. Es el mismo para todos los datagramas generados al segmentar e igual al del datagrama original. Con el primer mensaje ICMP tenemos en el campo Identification en hexadecimal 0x2b90 (en decimal 11152):

En el siguiente mensaje tenemos en el campo Identification en hexadecimal 0x2b91 (en decimal 11153):

Como vemos es un campo que tiene un nmero en secuencia. La serie de respuestas ICMP TTL exceeded enviadas a su computadora por el primer enrutador (primer salto) son:

8. Cul es el valor en el campo Identification y el campo TTL? Teniendo en cuenta el grfico anterior vemos que en el primer mensaje ICMP TTL exceeded enviado al computador tenemos: Identification: 0x228b (8843)

Time to Live (TTL): 40 9. Estos valores, permanecen inalterados para todas las respuestas ICMP TTL exceded enviadas a su computadora por el enrutador ms cercano (primer salto)? Por qu? En cuanto al campo Identification, este cambia porque es el nmero de secuencias de los mensajes (como se explica al comienzo de esta prctica). Por otra parte el campo TTL tienen que cambiar, por la siguiente razn: Los datagramas IP tienen un campo TTL (tiempo de vida) que impide que un mensaje est dando vueltas indefinidamente por la red de redes. El nmero contenido en este campo disminuye en una unidad cada vez que el datagrama atraviesa un router. Cuando el TTL de un datagrama llega a 0, ste se descarta y se enva un mensaje ICMP de tipo 11 (Time Exceeded) para informar al origen. Los mensajes ICMP de tipo 11 se pueden utilizar para hacer una traza del camino que siguen los datagramas hasta llegar a su destino. Cmo? Enviando una secuencia de datagramas con TTL=1, TTL=2, TTL=3, TTL=4, etc.... hasta alcanzar el host o superar el lmite de saltos (30 si no se indica lo contrario). El primer datagrama caducar al atravesar el primer router y se devolver un mensaje ICMP de tipo 11 informando al origen del router que descart el datagrama. El segundo datagrama har lo propio con el segundo router y as sucesivamente. Los mensajes ICMP recibidos permiten definir la traza. Paso 3. Fragmentacin Ordene el listado de paquetes en funcin del tiempo haciendo clic en la columna 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? S, este mensaje ha sido fragmentado, observe el campo Flags tenemos More fragments: set.

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?

El campo Fragment offset: 1480; indica que el datagrama ha sido fragmentado. Nmero de byte del datagrama (s ha sido fragmentado). Si est en cero entonces no ha sido fragmentado. Los Flags son los siguientes O, DT Y MF:

El nico que nos va a interesar es MF. ste se pone a 0 si el datagrama es el ltimo fragmento de una segmentacin. En caso contrario estar a 1 La longitud del datagrama IP es de 520 bytes. 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?

En Flags el campo More fragments est en 0 (cero), indica que este no es el primer fragmento del datagrama. No hay ms fragmentos de este mismo paquete IP, porque en Flags el campo More fragments est como Not set. 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. Primer fragmento de un paquete IP; en Flags el campo More fragments est en 1 (uno), lo cual indica que este es el primer fragmento del datagrama:

El siguiente fragmento es; en Flags el campo More fragments est en 0 (cero), indica que este es el ltimo fragmento del datagrama:

Cambian los campos: Total Length (tamao del paquete); Flags (More fragments) y Fragment offset. El primer mensaje ICMP Echo Request que fue enviado despus que se cambi el tamao del paquete a 3500 bytes:

14. Cuntos fragmentos fueron creados desde el datagrama original? Fueron creados 2 fragmentos El mensaje original es:

El primer fragmento es:

El segundo y ltimo fragmento es:

ste es ltimo porque en Flags en More fragments se pone en cero si el datagrama es el ltimo fragmento de una segmentacin. 15. Cules campos cambiaron en la cabecera IP entre los fragmentos? Observando los reportes anteriores, cambian los siguientes campos: Total Length; Flags (More fragments) y Fragment offset.

Trabajos citados 1. [Online] [Cited: Junio http://neo.lcc.uma.es/evirtual/cdd/tutorial/red/icmp.html. 4, 2009.]

2. [Online] [Cited: Junio 3, 2009.] http://www.profesores.frc.utn.edu.ar/sistemas/ingsanchez/Redes/Archivos/datagramaIP. asp.

Vous aimerez peut-être aussi