ICMPv6 ====== Internet Control Message Protocol - Va sobre IP. - Se usa para diagnóstico y control de IP. Header ------ - Type (1 byte): Tipo de mensaje. - Code (1 byte): Es como un subtipo. - Checksum (2 bytes): Checksum de todo el header pero también de un pseudo-header IPv6 para hacer checksum además a las direcciones IP. - Resto del header (4 bytes): Los contenidos dependen del tipo de mensaje. - Datos: Son cualquier cosa. Ping ---- Header ~~~~~~ - Type: 128 en request, 129 en reply. - Code: 0 en ambos. - Resto del header: - Identifier (2 bytes): Identifica el proceso que envía los pings. - Sequence number (2 bytes): Número de ping enviado. - Datos: Puede ser cualquier cosa, suele llevar timestamp. NDP --- Neighbor Discovery Protocol. - Permite encontrar vecinos y gateways, también cumple funciones similares a ARP. - Define cinco mensajes ICMPv6: - Router Solicitation (133): Mensajes enviados por hosts para solicitar mensajes de Router Advertisement y así encontrar a Routers/Gateways. Se envía a la multicast ``FF02::02`` que representa a todos los routers en link-local. - Router Advertisement (134): Mensajes enviados periódicamente por routers para anunciar sus servicios y varios parámetros, permite aplicar SLAAC. Se envía a la multicast ``FF02::01`` que representa a todos los nodos en link-local. - Neighbor Solicitation (135): Permite a los dispositivos determinar la dirección MAC de un vecino. Se envía a la multicast Solicited-Node del destino. - Neighbor Advertisement (136): Son las respuestas a Neighbor Solicitation. Se envía a la IP unicast del que solicitó, o hacia la multicast ``FF02::01`` que representa a todos los nodos en Link-Local. Otros usos ---------- Hay muchos más, pongo los más comunes junto a sus valores (Type, Code): - Router Solicitation (133, 0). - Router Advertisement (134, 0). - Neighbor Solicitation (135, 0). - Neighbor Advertisement (136, 0). - Cuando se termina el TTL se envía un "Time Exceeded" (3, 0). - No hay ruta a destino (1, 0). - Dirección inalcanzable (3, 3). - Puerto de destino inalcanzable (3, 4). Capturas -------- Echo Request:: Frame 42: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0 Ethernet II, Src: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb), Dst: Cisco_bf:79:46 (00:15:62:bf:79:46) Internet Protocol Version 6, Src: 2001:beba:baba:10:a9e:1ff:fe43:f2eb, Dst: 2001:beba:baba:10::2 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... .... .... 0011 0011 0101 1010 0010 = Flow label: 0x335a2 Payload length: 64 Next header: ICMPv6 (58) Hop limit: 64 Source: 2001:beba:baba:10:a9e:1ff:fe43:f2eb [Source SA MAC: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb)] Destination: 2001:beba:baba:10::2 Internet Control Message Protocol v6 Type: Echo (ping) request (128) Code: 0 Checksum: 0xeab2 [correct] Identifier: 0x615b Sequence: 2 Data (56 bytes) Echo Reply:: Frame 43: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0 Ethernet II, Src: Cisco_bf:79:46 (00:15:62:bf:79:46), Dst: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb) Internet Protocol Version 6, Src: 2001:beba:baba:10::2, Dst: 2001:beba:baba:10:a9e:1ff:fe43:f2eb 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... .... .... 0011 0011 0101 1010 0010 = Flow label: 0x335a2 Payload length: 64 Next header: ICMPv6 (58) Hop limit: 64 Source: 2001:beba:baba:10::2 Destination: 2001:beba:baba:10:a9e:1ff:fe43:f2eb [Destination SA MAC: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb)] Internet Control Message Protocol v6 Type: Echo (ping) reply (129) Code: 0 Checksum: 0xe9b2 [correct] Identifier: 0x615b Sequence: 2 [Response Time: 0.574 ms] Data (56 bytes) Neighbor Solicitation:: Frame 37: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface 0 Ethernet II, Src: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb), Dst: IPv6mcast_ff:00:00:02 (33:33:ff:00:00:02) Internet Protocol Version 6, Src: 2001:beba:baba:10:a9e:1ff:fe43:f2eb, Dst: ff02::1:ff00:2 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... .... .... 0000 0000 0000 0000 0000 = Flow label: 0x00000 Payload length: 32 Next header: ICMPv6 (58) Hop limit: 255 Source: 2001:beba:baba:10:a9e:1ff:fe43:f2eb [Source SA MAC: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb)] Destination: ff02::1:ff00:2 [Source GeoIP: Unknown] [Destination GeoIP: Unknown] Internet Control Message Protocol v6 Type: Neighbor Solicitation (135) Code: 0 Checksum: 0x4bf4 [correct] [Checksum Status: Good] Reserved: 00000000 Target Address: 2001:beba:baba:10::2 ICMPv6 Option (Source link-layer address : 08:9e:01:43:f2:eb) Neighbor Advertisement:: Frame 38: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface 0 Ethernet II, Src: Cisco_bf:79:46 (00:15:62:bf:79:46), Dst: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb) Internet Protocol Version 6, Src: 2001:beba:baba:10::2, Dst: 2001:beba:baba:10:a9e:1ff:fe43:f2eb 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0xe0 (DSCP: CS7, ECN: Not-ECT) .... .... .... 0000 0000 0000 0000 0000 = Flow label: 0x00000 Payload length: 32 Next header: ICMPv6 (58) Hop limit: 255 Source: 2001:beba:baba:10::2 Destination: 2001:beba:baba:10:a9e:1ff:fe43:f2eb [Destination SA MAC: QuantaCo_43:f2:eb (08:9e:01:43:f2:eb)] [Source GeoIP: Unknown] [Destination GeoIP: Unknown] Internet Control Message Protocol v6 Type: Neighbor Advertisement (136) Code: 0 Checksum: 0xef23 [correct] [Checksum Status: Good] Flags: 0xe0000000 Target Address: 2001:beba:baba:10::2 ICMPv6 Option (Target link-layer address : 00:15:62:bf:79:46) Router Solicitation:: Frame 8: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface 0 Ethernet II, Src: ce:96:8b:90:e5:bb (ce:96:8b:90:e5:bb), Dst: IPv6mcast_02 (33:33:00:00:00:02) Internet Protocol Version 6, Src: fe80::cc96:8bff:fe90:e5bb, Dst: ff02::2 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00 (DSCP: CS0, ECN: Not-ECT) .... .... .... 0000 0000 0000 0000 0000 = Flow label: 0x00000 Payload length: 16 Next header: ICMPv6 (58) Hop limit: 255 Source: fe80::cc96:8bff:fe90:e5bb Destination: ff02::2 [Source GeoIP: Unknown] [Destination GeoIP: Unknown] Internet Control Message Protocol v6 Type: Router Solicitation (133) Code: 0 Checksum: 0xff67 [correct] [Checksum Status: Good] Reserved: 00000000 ICMPv6 Option (Source link-layer address : ce:96:8b:90:e5:bb) Router Advertisement:: Frame 32: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0 Ethernet II, Src: Cisco_bf:79:46 (00:15:62:bf:79:46), Dst: IPv6mcast_01 (33:33:00:00:00:01) Internet Protocol Version 6, Src: fe80::215:62ff:febf:7946, Dst: ff02::1 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0xe0 (DSCP: CS7, ECN: Not-ECT) .... .... .... 0000 0000 0000 0000 0000 = Flow label: 0x00000 Payload length: 64 Next header: ICMPv6 (58) Hop limit: 255 Source: fe80::215:62ff:febf:7946 [Source SA MAC: Cisco_bf:79:46 (00:15:62:bf:79:46)] Destination: ff02::1 [Source GeoIP: Unknown] [Destination GeoIP: Unknown] Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0xcae8 [correct] [Checksum Status: Good] Cur hop limit: 64 Flags: 0x00 Router lifetime (s): 1800 Reachable time (ms): 0 Retrans timer (ms): 0 ICMPv6 Option (Source link-layer address : 00:15:62:bf:79:46) ICMPv6 Option (MTU : 1500) ICMPv6 Option (Prefix information : 2001:beba:baba:10::/64)