学习笔记-ARP协议原理,ARP欺骗

ARP协议用来干什么?

ARP协议是工作在数据链路层的,网络通讯时,主机之间互相识别是依靠MAC地址而不是IP地址。所以进行通讯必须要知道对应主机的MAC地址,但是通常我们只会知道对应主机的IP地址,所以此时就要用到ARP协议,当我们的主机A要发送一个数据包给主机B时,ARP协议会帮助我们B主机的IP地址对应的MAC地址(这里就有一个概念叫ARP缓存表,这个表就是用来存储IP地址和MAC地址的映射),首先我们的主机会查询本地的ARP缓存表,如果没有找到B主机的映射信息,就会广播一个ARP请求报文,这个报文携带了我们本机的IP地址、MAC地址、目的主机的IP地址(仅仅不知道目的主机的MAC地址,这个请求报文就是用来找到目的主机的MAC地址的),然后同一个局域网的所有主机都会收到该报文,他们会自己去识别这个报文是不是发送给自己的(即这个请求报文中携带的目的主机IP地址是不是自己),如果不是发送给自己的,就会丢弃该数据包。B收到了该请求报文,那么就会回应一个ARP响应报文,同样的这个报文会携带B主机的IP地址、MAC地址、A主机的IP地址和MAC地址(就是告诉A主机,这就是我的MAC地址)。最后A的本地ARP缓存表就会添加一条B主机的IP-MAC地址映射信息,两台主机之间就可以开始通信啦。


ARP协议通信原理图

查看本地的ARP缓存表:windows,命令:arp -a ;linux,命令:arp -n


ARP欺骗原理:

同一局域网中,有A、B、C三台主机,A要向B发送报文,而C则作为攻击者实施ARP欺骗。

怎么欺骗?想办法使得A主机的ARP缓存表中,B主机的IP地址对应着C主机的MAC地址。这样,当A想发送数据包给B的时候,经过ARP协议的转换,实际上数据包就发送给了C。

使用一些工具可以做到,比如arpspoof(kali)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ARP 位于七层模型里的第二层,即数据链路层。数据链路层有什么?答对了,是MAC地址。MAC地址指网络接口的硬件地...
    AK蜗牛阅读 1,510评论 0 6
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,105评论 0 8
  • OSI模型 OSI时OSI/RM的简称:全称是Open Systems Interconnection Refer...
    Spicy_Crayfish阅读 1,662评论 0 4
  • 一、网络层提供的两种服务 1.虚电路VC(virtual circuit) 两个计算机进行通信时,应先建立连接(但...
    dmmy大印阅读 1,874评论 0 0
  • 前言 网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但...
    廖马儿阅读 20,595评论 0 12