miércoles, 1 de abril de 2009

Ejemplo de Encapsulamiento

Para comenzar, la dirección de origen usada 192.168.1.1 se escribe así en hexadecimal: C0 A8 01 01

Cuando escribimos el comando:

C:\>ping 192.168.1.1

Este es el paquete de Ping (74 Bytes)como aparece en la red Ethernet, y cada par de números representa un byte (8 bits) de información dentro del frame o paquete:

[sourcecode language='css']
000000: 00 A0 CC 63 08 1B 00 40 : 95 49 03 5F 08 00 45 00 ...c...@.I._..E.
000010: 00 3C 82 47 00 00 20 01 : 94 C9 C0 A8 01 01 C0 A8 .<.G.. ...... ..
000020: 01 11 08 00 48 5C 01 00 : 04 00 61 62 63 64 65 66 .@..H\....abcdef
000030: 67 68 69 6A 6B 6C 6D 6E : 6F 70 71 72 73 74 75 76 ghijklmnopqrstuv
000040: 77 61 62 63 64 65 66 67 : 68 69 wabcdefghi......
[/sourcecode]

donde tenemos que los primeros 14 bytes componen el encabezado Ethernet, y son:

  • 00 A0 CC 63 08 1B la dirección MAC de destino
  • 00 40 95 49 03 5F la dirección MAC de origen
  • 08 00 el campo Tipo de Ethernet (0x0800 IP Datagram)


sigue el datagrama de IP (60 Bytes), que ya sin el encapsulado de Ethernet nos queda así:

[sourcecode language='css']
000000: 45 00 00 3C 82 47 00 00 : 20 01 94 C9 C0 A8 01 01 E..<.G.. ......
000010: C0 A8 01 11 08 00 48 5C : 01 00 04 00 61 62 63 64 ...@..H\....abcd
000020: 65 66 67 68 69 6A 6B 6C : 6D 6E 6F 70 71 72 73 74 efghijklmnopqrst
000030: 75 76 77 61 62 63 64 65 : 66 67 68 69 uvwabcdefghi......
[/sourcecode]

y comienza con un valor 0x4500, el 4 indica que es un paquete de IPv4 y el 5 que el encabezado de IP tiene una longitud de 5 palabras de 32 bits; es decir, 160 bits o 20 bytes.

tenemos una dirección de origen 192.168.1.1 (C0 A8 01 01)
y una dirección de destino 192.168.1.17 (C0 A8 01 11)

y nos quedan 40 bytes de datos IP, que en este caso son de una solicitud de eco (ICMP Echo Request), incluyendo 32 bytes de datos (longitud por default para un paquete de ping).

Este post es un complemento al anterior:

http://ipref.wordpress.com/2008/06/03/encapsulamiento/

y posteriormente pondré una descripción detallada de cada uno de los números presentes en el frame de ejemplo.

1 comentario :

  1. Excelente trabajo hermano....
    La lectura seguro la sacaste de el Wireshark o TCPDump ¿no?

    Sigue compartiendo información :) con tu permiso hice un enlace a tu sitio en mi blog para que lo vean mis alumnos:

    http://manuelpazprado.blogspot.com/2009/12/32-encapsulamiento.html

    ResponderBorrar