IPv6中邻居发现协议剖析及攻防探索
2021-12-09崔北亮
南京工业大学学报(自然科学版) 2021年6期
关键词:方法
崔北亮,岳 阳
(1.南京工业大学 图书馆,江苏 南京 211800;2.南京工业大学 现代教育中心,江苏 南京 211800)
邻居发现协议(NDP[1])是IPv6的基础协议,它实现了IPv4中地址解析协议(ARP[2])和控制报文协议(ICMP)的功能,包括路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测及重复地址检测等功能[3]。
在IPv4网络中,通信双方需知对方的IPv4地址和数据链路层地址(以太网中的体现是MAC地址)。若是不同IP子网间的通信,数据帧封装的目的数据链路层地址是网关或下一跳路由器的数据链路层地址,例如,局域网中的某台终端计算机要访问互联网中的某台服务器,终端计算机封装的目的数据链路层地址就是网关的MAC地址,ARP攻击方通过伪造网关对应的MAC地址来达到攻击的目的。ARP攻击[4]的原理是利用ARP的默认信任和不验证机制,这类攻击从始至终伴随着IPv4,造成的损失不可估量。
与IPv4一样,IPv6报文在局域网中传输时,仍会被封装在数据帧中。以常见的局域网为例,即需要将IPv6报文封装在以太网报文中。以太网报头中有源MAC地址和目的MAC地址,二层交换机根据目的MAC地址与端口的对应关系进行转发。在IPv4网络中,目的节点的MAC地址是通过广播ARP报文来获取的,然后就将IP和MAC地址的对应关系存入设备的ARP表中。而在IPv6网络中,ARP换成了NDP,ARP表也换成了IPv6邻居表,邻居表中记录着邻居IPv6地址与MAC地址的对应关系。当需要与邻居通信时,首先查看邻居表,若找到记录,则封装邻居的MAC地址;若没有记录,则使用NDP来查询邻居的MAC地址。……
登录APP查看全文
