ARP协议及ARP欺骗原理总结理解
ARP协议
地址解析协议ARP(Address Resolution Protocal),
用途是从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。解决同一局域网内的主机(或路由器)的IP地址和硬件地址的映射问题。
工作原理
每一台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。每条记录有一定的生命周期,并且这个映射表会经常更新(新增或超时删除)。
具体案例
A主机要向B主机发送数据ip数据报工作流程:
1.首先根据B的ip查询A主机ARP缓存中是否存放B的MAC地址
有:将B的mac地址取出封装成mac帧,通过局域网发送到B主机
无:
2.寻找MAC
(1)ARP进程在本局域网上(广播发送)一个ARP请求分组。 ARP请求分组的主要内容是:“我的IP地址是…,硬件地址是…。我想知道IP地址为…的主机的硬件地址。”
(2)局域网中所有主机ARP进程都收到了该请求
(3)主机B收下ARP请求,将主机A的这一地址映射写入主机B自己的高速缓存中,发送ARP响应分组(单播发送),写入自己的硬件地址。本局域网内其余主机不与理睬。
(4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
ARP欺骗原理
ARP协议缺陷
- ARP协议是建立在信任局域网内所有节点的基础之上
- 其是无状态协议。(他不会检查自己是否发过请求包,他也不管是否是合法的应答,只要收到目标mac地址是自己的ARP reply或者ARP广播包(包括ARP reply和ARP request),都会接受并缓存。)
- 其效率很高,但不安全
ARP攻击原理
- A主机向B主机发送请求报文(我的ip是ipA,Mac是MacB,ipB的报文是多少?)
- B主机回复,同时C主机冒充B主机,向A发送大量的返回报文(目标mac是A,内容:ipB的mac是MacC),导致A主机误以为ipB的mac是MacC,同时写入ARP缓存表。达到AB会话劫持。
- C同时可以冒充网关,此时C会不停的发送大量ARP欺骗报文,内容为,我的ip是网关,我的硬件地址是MACC,此时局域网内所有的主机都被欺骗,更新自己的缓存表,C即可以做到监听本局域网发送给互联网的所有数据报。
还没有评论,来说两句吧...