天天看点

Python黑帽编程-ARP之一一、ARP协议

前言:
在知乎上看见这篇文章,正好对网络安全也有些兴趣,于是动手实践一番。
本文作者:微寒
版权声明:转载请私信,并注明原文地址
本文地址:http://blog.csdn.net/supercooly/article/details/53956494
参考文章:https://zhuanlan.zhihu.com/p/24645819
参考文章:http://bbs.ichunqiu.com/thread-13429-1-1.html
           

一、ARP协议

中文名称:地址解析协议

详细背景及相关知识请参考原文及百度百科。

维基百科

地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。

在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是