You are on page 1of 5

Dada la siguiente captura de trama, indicar: direccin MAC destino, tipo de servicio, prioridad, TTL (time to live), si se puede

fragmentar, direccin IP destino, puerto de origen, flags de TCP, cantidad de bytes de datos y longitud total del datagrama IP: Nota: La siguiente trama es una trama de datos real capturada con el sniffer Packet Analyzer. 00 23 AE 66 D7 C3 00 1F CA 85 A2 40 08 00 45 20 00 E3 36 77 40 00 7A 06 0C C0 C0 A8 02 16 C0 A8 39 57 1F 90 04 F5 45 F1 18 6B F9 52 52 74 50 18 FB 77 AC 56 00 00 58 E4 23 C8 94 BF C0 E6 7F 7F 03 81 72 07 52 3B 01 ED DA .... Para resolver lo que nos piden debemos conocer como es una trama de datos. La trama puede ser IEEE 802.3 o bien Ethernet DIX V2, ambas tramas pueden circular en una misma red y se diferencian solamente por el contenido del campo Longitud / Tipo. Es decir que la estructura de la cabecera es la misma. En el caso de las tramas 802.3 el campo es Longitud (del paquete o datagrama IP) y debe ser un nmero entre 46 y 1500. En caso de ser una trama Ethernet el campo identifica el tipo de protocolo y es siempre un nmero mayor a 1500. La trama es la siguiente:

El prembulo no forma parte de la cabecera en s, pero son 7 bytes (octetos) de sincronizacin que siempre estn antes de la cabecera y el byte inicio indica el inicio de la cabecera. NOTA: En este ejercicio la trama de datos hay que empezar a contarla desde la cabecera en s, es decir que los primeros 6 bytes de la trama son la direccin MAC destino. Las direcciones origen y destino son MAC. El relleno es opcional, aparece en caso de que el paquete sea demasiado breve y el no llegu a los 64 bytes. El ltimo campo contiene informacin para calcular el CRC (suma de chequeo de errores). A su vez el campo Paquete son los datos, es decir un datagrama IP que tiene la siguiente estructura:

La descripcin de los campos es la siguiente: Versin de IP: 4 bits. Esta es una cabecera de IPv4, que es la ampliamente utilizada en Internet, para lo cual en binario debe valer 0100.

Tamao Cabecera (IHL Indicator Header Length): 4 bits. Longitud de la cabecera, expresada en palabras de 32 bits. Su valor mnimo es de 5 para una cabecera correcta, y el mximo de 15.

Tipo de Servicio: 8 bits. Indica una serie de parmetros sobre la calidad de servicio deseada durante el trnsito por una red. o Bit 0: sin uso, debe permanecer en 0. o Bit 1: 1 costo mnimo, 0 costo normal. o Bit 2: 1 mxima fiabilidad, 0 fiabilidad normal. o Bit 3: 1 mximo rendimiento, 0 rendimiento normal. o Bit 4: 1 mnimo retardo, 0 retardo normal. o Los 3 bits restantes son el nivel de urgencia (basado en el sistema militar) Longitud Total: 16 bits. Es el tamao total, en octetos, del datagrama, incluyendo el tamao de la cabecera y el de los datos. El tamao mximo de los datagramas usados normalmente es de 576 octetos (64 de cabeceras y 512 de datos). Una mquina no debera enviar datagramas mayores a no ser que tenga la certeza de que van a ser aceptados por la mquina destino. En caso de fragmentacin este campo contendr el tamao del fragmento, no el del datagrama original. Identificador (ID): 16 bits. Identificador nico del datagrama. Se utilizar, en caso de que el datagrama deba ser fragmentado, para poder distinguir los fragmentos. Flags: 3 bits. Utilizado slo para especificar valores relativos a la fragmentacin de paquetes: o bit 0: Reservado; debe ser 0 o bit 1: 0 = Divisible, 1 = No Divisible o bit 2: 0 = ltimo Fragmento, 1 = Fragmento Intermedio (le siguen ms fragmentos) Posicin de Fragmento (Fragment Offset): 13 bits. En paquetes fragmentados indica la posicin, en unidades de 64 bits, que ocupa el paquete actual dentro del datagrama original. El primer paquete de una serie de fragmentos contendr en este campo el valor 0. Tiempo de Vida (TTL Time To Live): 8 bits. Indica el mximo nmero de direccionadores que un paquete puede atravesar. Cada vez que algn nodo procesa este paquete disminuye su valor en, como mnimo, un direccionador. Cuando llegue a ser 0, el paquete no ser reenviado. Protocolo: 8 bits. Indica el protocolo de siguiente nivel utilizado en la parte de datos del datagrama. Suma de Control de Cabecera: 16 bits. Direccin IP de origen: 32 bits Direccin IP de destino: 32 bits Opciones: Variable. Relleno: Variable. Utilizado para asegurar que el tamao, en bits, de la cabecera es un mltiplo de 32. El valor usado es el 0.

Para poder interpretar los bits, debemos pasar algunos campos de la trama hexadecimal a binario o a decimal, segn convenga en el caso de cada campo en particular. Un digito en hexa son 4 bits, un par representa un byte. 00 23 AE 66 D7 C3 00 1F CA 85 A2 40 08 00 MAC Address Destino: (se expresa en HEXA) son 6 bytes (48 bits): 00:23:ae:66:d7:c3 MAC Address Origen : (se expresa en HEXA) son 6 bytes (48 bits): 00:1f:ca:85:a2:40 2 1 0 Long / Tipo: 0800 = 0 * 163 + 8 * 16 + 0 * 16 + 0 *16 = 2048. Como es nmero mayor a 1500 entonces decimos que no es una longitud sino un tipo de protocolo y entonces la trama es Ethernet DIX V2

Lo que sigue ya es dentro del Datagrama IP: 4 5 20 00 E3 36 77 4 0 00 7A 06 -- 0C C0 -- C0 A8 02 16 -- C0 A8 39 57 -- .... Versin IP: 4 (un digito hexa = 4bits) = 0100 en binario Tamao Cabecera (IHL): (un digito hexa = 4bits) = 5 palabras de 32 bits = 160 bits Tipo de Servicio: 20 = 00100000. El bit activado indica: Mxima Fiabilidad Longitud Total: 00 E3 = 14 * 161 + 3 * 160 = 224 + 3 = 227 octetos (bytes) Identificador: 36 77 = 3 * 163 + 6 * 162 + 7 * 161 + 7 * 160 = 13943 Flags (3 bits): 4 = 010 (los tres primeros bits). El bit activo significa que NO ES DIVISIBLE. Posicin del Fragmento: 000 (lgico porque no se puede fragmentar esta trama) TTL: 7A = 7 * 161 + 10 * 160 = 122 saltos Protocolo: 06 (corresponde a TCP) CRC: 0CC0 Direccin IP de origen: C0 A8 02 16 = 12*16 . 10*16 + 8 . 2 . 1*16 + 6 = 192.168.2.16 Direccin IP de destino: C0 A8 39 57 = 192.168. 3 * 16 + 9 . 5*16 + 7 = 192.168.57.87

Justamente nos devolvi un par de direcciones IP. Por ser ambas de clase C, los tres primeros octetos representan a la red y el ltimo representa al host dentro de dicha red, con lo cual podemos concluir que es una comunicacin entre dos hosts de diferentes redes. Adems, vemos que ambas redes son privada (no es una IP pblica que pueda encontrarse en Internet), ya que 192.168.0.0 192.168.255.255 es el rango de direcciones IP privadas de la clase C.

Rango de Direcciones IP Reservadas 10.0.0.0 - 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255 127.0.0.0 127.255.255.255

No hay opciones, ni tampoco es necesario relleno ya que se cubri el tamao mnimo de la trama. Lo que sigue a continuacin en la trama dada es la respuesta: una cabecera TCP

1F 90 - 04 F5 - 45 F1 18 6B - F9 52 52 74 5 - 0 - 18 - FB 77 AC 56 - 00 00 - 58 E4 23 C8 - 94 BF C0 E6 7F 7F 03 81 72 07 52 3B 01 ED DA ....

Un datagrama TCP se conforma de la siguiente manera:

Puerto de origen (16 bits): Identifica el puerto a travs del que se enva.

1F 90 = 1 * 163 + 15 * 162 + 9 * 161 + 0 = 8080 (es un puerto muy comn que algunos servidores usan por defecto)

Puerto destino (16 bits): Identifica el puerto del receptor.

04 F5 = 0 * 163 + 4 * 162 + 15 * 161 + 5 = 1269

Nmero de secuencia (32 bits): Sirve para comprobar que ningn segmento se ha perdido, y que llegan en el orden correcto.

45 F1 18 6B

Nmero de acuse de recibo (ACK) (32 bits): Si el flag ACK est puesto a activo, entonces en este campo contiene el nmero de secuencia del siguiente paquete que el receptor espera recibir.

F9 52 52 74

Longitud de la cabecera TCP (4 bits): Especifica el tamao de la cabecera TCP en palabras de 32-bits. El tamao mnimo es de 5 palabras, y el mximo es de 15 palabras (lo cual equivale a un tamao mnimo de 20 bytes y a un mximo de 60 bytes). En ingls el campo se denomina Data offset, que literalmente sera algo as como desplazamiento hasta los datos, ya que indica cuntos bytes hay entre el inicio del paquete TCP y el inicio de los datos.

5 palabras de 32 bits = 160 bits = 20 bytes (justo el mnimo)

Reservado (4 bits): Bits reservados para uso futuro, deberan ser puestos a cero.

0 = 0000 (verifica)

Bits de control (flags) (6 bits): Son 6 flags o banderas. Cada una indica activa con un 1 o inactiva con un 0.

URG o urgent. Si est activo significa que el campo Urgente es significativo.

ACK o acknowledge. Si est activo entonces el campo con el nmero de acuse de recibo es vlido. PSH o push: Activa la funcin que hace que los datos de ese segmento y los datos que hayan sido almacenados anteriormente en el buffer del receptor deben ser transferidos a la aplicacin receptora lo antes posible. RST o reset. Termina la conexin sin esperar respuesta. SYN o synchronize: Activa la sincronizacin de los nmeros de secuencia. FIN: Si se activa es porque no hay ms datos a enviar por parte del emisor, esto es, el paquete que lo lleva activo es el ltimo de una conexin.

18 = 11000 (es urgente y el nmero de acuse de recibo es vlido)

Ventana (16 bits): Es el tamao de la ventana de recepcin, que especifica el nmero de bytes que el receptor est actualmente esperando recibir.

FB 77

Suma de verificacin (checksum) (16 bits): Es una suma de verificacin utilizada para comprobar si hay errores tanto en la cabecera como en los datos.

AC 56

Puntero urgente (16 bits): Si el flag URG est activado, entonces este campo indica el desplazamiento respecto al nmero de secuencia que indica el ltimo byte de datos marcados como urgentes.

00 00

Opciones (nmero de bits variable): La longitud total del campo de opciones ha de ser mltiplo de una palabra de 32 bits (si es menor, se ha de rellenar al mltiplo ms cercano), y el campo que indica la longitud de la cabecera ha de estar ajustado de forma adecuada.

58 E4 23 C8

Datos (nmero de bits variable): No forma parte de la cabecera, es la carga (payload), la parte con los datos del paquete TCP. Pueden ser datos de cualquier protocolo de nivel superior en el nivel de aplicacin; los protocolos ms comunes para los que se usan los datos de un paquete TCP son HTTP, telnet, SSH, FTP, etc.

94 BF C0 E6 7F 7F 03 81 72 07 52 3B 01 ED DA ...........

Realizado por Damin Buonamico Mayo de 2010

You might also like