Python黑帽编程-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)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

简而言之,在网络架构模型中,TCP/IP协议中只有IP地址,可以通过DNS协议获取。与之类似,网络层协议需要依赖更底层的数据链路层,该层转发数据包并不能识别IP地址,而是直接使用mac地址,所以就需要有个映射关系,这个就是ARP协议。我的理解是,ARP是数据

你可能感兴趣的:(网络安全,Python,网络架构)