理解并取证:ICMPV6代替IPV4中的ARP进行IPv6的MAC地址解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

无论是IPv4还是IPv6的以太网环境,当一台主机需要访问另一台主机时,不只是单纯地依靠IP地址,还必须得依靠MAC地址。比如:主机192.168.1.2通过命令ping去访问主机 192.168.1.1或者一个运行IPv6的主机FEC0::21E:68FF:FEA0:4879通过命令ping另一台IPv6的主机FEC0::0000:4CFF:FE4F:4F50,在这个ping会话的过程中,最关键的是通过MAC地址去实现数据的交互,换而言之,源主机必须获得目标主机的IP地址与MAC地址。无论这些主机是运行IPv4还是IPv6。所以需要一种方式,在知道目标计算机IP地址的情况下去解析目标的MAC地址。并把这个IP地址与MAC对应的关系存储在一张缓存表里面,以便在通信的过程中快速对目标MAC地址进行查找。如图12.79所示,以IPv4网络环境中的Windows操作系统为例,通过在命令提示符输入arp -a查看IP地址与MAC地址的对应关系。


130929375.png

在传统的IPv4网络中,主机通过ARP协议解析目标IP地址与目标MAC地址的对应关系。而ARP协议主要通过广播的方式来实现,如图12.80所示,然而,在IPv6网络中,对目标MAC地址的发现不再是通过ARP协议来完成。因为IPv6放弃了广播的使用,在IPv6的网络环境中已经不存在广播这个概念了,而ARP地址解析协议是基于广播进行工作的,所以对于IPv6的网络环境而言,ARP协议被永远的放弃。取而代之的是ICMPv6的邻居请求消息(ICMPv6消息类型135)、邻居公告消息(ICMPv6消息类型136)来完成对MAC地址的解析。在这个过程中需要使用一个请求节点组播地址(FF02::1FFxx:xxxx),请求节点组地址在前面的小节有详细的描述。请参考如图12.81所示。

131057461.png


理解:ICMPV6代替IPV4中的ARP进行IPv6的MAC地址解析


131253486.png


第一步:如图12.82所示,理解邻居接点请求(135消息类型):使用路由器节点的IPv6的本地链路地址FEC0::0204:27FF:FEF1:71A0通过命令ping访问主机节点的本地链路地址FEC0:0230:18FF:FEAA:4C3E,但是路由器不知道主机的MAC地址。此时路由器就通过源地址FEC0::0204:27FF:FEF1:71A0发送ICMPv6类型为135的信息(邻居请求消息)给目标为节点多播地址FF02::1:FFAA:4C3E。此时源MAC为:000427F17A0,也就是路由器E0/0接口的MAC地址,目标MAC为节点组播IPv6地址的MAC:3333FFAA4C3E。


注意:在IPv4的环境中ARP的请求消息中的目标IP地址是255.255.255.255(网络层的广播地址);目标MAC地址是FFFF.FFFF.FFFF(数据链路层的广播地址)而IPv6中的邻居接点请求(135消息类型)使用的目标网络层地址是IPV6的节点多播地址FF02::1:FFAA:4C3E。目标链路层地址为3333FFAA4C3E,事实上在IPv6中的邻居接点请求消息中的目标链路层地址是通过目标网络层IPv6地址而生成的.

第二步:如图12.83所示,理解邻居节点公告(136消息类型):主机通过本地链路地址侦听并获取了多播地址的邻居请求消息,接下来,主机就发送邻居公告消息(ICMPv6消息类型136)给路由器,该消息当中包含了源IPv6地址为FEC0:0230:18FF:FEAA:4C3E,源MAC为IPv6主机的MAC地址003018AA4C3E,目标IPv6地址为FEC0::0204:27FF:FEF1:71A0,目标MAC为000427F17A0,也就是路由器E0/0接口的MAC地址。当路由器收到该消息后,就会解开该数据包,获取需要的IP地址与MAC地址的对应关系。最后进行正式的通信


注意:对于请求节点组播地址(FF02::1FFxx:xxxx)其中FF02::1FF是固定部分,而xx:xxxx是目标IP的后24bit所组成,如目标IP地址为FEC0:0230:18FF:FEAA:4C3E,那么请求节点组播地址就为FF02::1FFAA:4C3E,其中AA:4C3E就是目标IPv6的后24bit。


演示:取证IPv6主机使用ICMPv6的邻居请求与邻居公告原理

上一小节对基于ICMPv6消息的邻居发现协议(NDP)进行理论分析,为了加强对理论的理解在本小节将使用协议分析器去取证ICMPv6的几个关键的消息。在这里以取证ICMPv6的邻居发现与邻居公告(135与136消息)


131557185.png

演示目标:使用协议分析器分析邻居发现协议(ICMPv6类型135,136)消息。

演示环境:演示环境如图12.83所示。

演示背景:分别在路由器NS与路由器NA的E1/0接口上配置IPv6的地址,此时在任何的一台路由器上去发起Ping的命令。在正式数据通信前,首先是通过ICMPv6类型135,136消息实现对目标Ipv6主机的MAC解析。事实上这个过程在Ipv4的环境中是通过ARP地址解析协议完成,而在Ipv6的环境中ICMPv6类型135,136消息将替代Ipv4环境中的ARP地址解析协议对ICMPv6类型135,136消息数据进行分析,接合理论更好的理解ICMPv6类型135,136消息是如何去替代ARP协议。


第一步:配置路由器NS与路由器NA的IPV6地址。


路由器NS的配置:

NS(config)#ipv6 unicast-routing        *打开IPv6的单播路由功能

NS (config)#interfaceethernet 1/0     *进入接口模式

NS (config-if)#ipv6 address2001::1/64 *配置前缀为64位的IPv6地址

NS (config-if)#no shutdown             *启动接口


路由器NA的配置:

NA(config)#ipv6 unicast-routing        *打开IPv6的单播路由功能

NA (config)#interfaceethernet 1/0     *进入接口模式

NA (config-if)#ipv6 address2001::2/64 *配置前缀为64位的IPv6地址

NA (config-if)#no shutdown             *启动接口


第二步开启协议分析器准备捕获ICMP135136消息。在路由器NS上使用命令“ping”去访问路由器NA让其产生ICMPv6的数据包如图12.84所示。注意必须首先打开协议分析器再发起ping指令,否则可能无法捕获ICMPv6的135、136消息。


131749761.png

第三步:当完成ping通信后,让协议分析器停止对数据报文的捕获,可得到如图图12.85所示,关于ICMPv6邻居请求和邻居公告消息所示的数据帧。然后分别展开数据帧Neighbor Solicitation和数据帧Neighbor Advertisement,结合上一小节内容来分析邻居请求(ICMPv6类型135)报文和邻居公告(ICMPv6类型136)报文的数据帧。具体如图12.86图12.87所示。

131904960.png


131959452.png

132001440.png



本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1339259,如需转载请自行联系原作者

相关文章
|
7月前
|
域名解析 缓存 网络协议
【域名解析DNS专栏】IPv6与DNS:兼容性挑战与解决方案
【5月更文挑战第29天】随着IPv6逐渐成为互联网主流,DNS面临兼容性挑战,包括解析机制差异、资源记录类型扩展和查询流程优化。为解决这些问题,可采取升级DNS系统以支持IPv6、部署双栈DNS服务和优化DNS缓存策略。通过这些措施,可确保IPv6环境下的域名解析顺利进行。
661 1
|
3月前
|
网络协议 大数据 云栖大会
2024云栖大会 预告:IPv6与DNS基础资源专场
2024云栖大会 预告:IPv6与DNS基础资源专场
2024云栖大会 预告:IPv6与DNS基础资源专场
|
4月前
|
网络协议 安全 网络安全
|
4月前
|
存储 缓存 网络协议
MAC协议原理与ARP协议
总结一下,MAC协议是控制同一网络媒介上多个设备的数据访问的规范,而ARP是解决局域网络中的IP地址到MAC地址的转换问题,以确保IP包能在本地网络上传输到正确的设备。尽管这两种协议服务于网络通信中的不同层面,但它们都是网络正常操作的基本要素,保证了数据能从一个设备准确无误地传递到另一个设备。
54 0
|
5月前
|
存储 缓存 网络协议
ARP 地址解析协议
ARP 地址解析协议
85 0
|
6月前
|
存储 算法 安全
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
|
5月前
|
网络协议 安全 网络安全
解析IPv6报文结构
【7月更文挑战第1天】IPv6报文结构包括基本头和可选的扩展头,基本头固定40字节,含8个字段,不支持分片,提升了处理效率。扩展头灵活处理选项,长度为8字节的倍数,可包含如路由、分片、认证和安全封装等信息。多个扩展头按特定顺序排列,目的选项头可出现两次。
|
6月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
100 0
|
7月前
|
网络协议 Linux Android开发
计算机网络:MAC地址 & IP地址 & ARP协议
计算机网络:MAC地址 & IP地址 & ARP协议
333 7

推荐镜像

更多