ARP原理
前言
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
ARP协议
一.环境准备
1.准备kali虚拟机 (原理演示机)IP:192.168.110.26
2.准备centos7虚拟机 (靶机)IP:192.168.110.13
二.ARP协议工作原理
什么是ARP
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
工作原理
ARP协议规定,每台计算机都需要一个ARP表,用来保存IP地址和MAC地址的映射关系 。访问IP地址的时候就去查ARP表,从而找到对应的MAC地址。
如果ARP表中匹配不到,就会使用广播的方式发送一个ARP请求 ,目标主机收到请求后会使用单播的方式返回一个ARP响应,告知自己的MAC地址 。
拿到MAC地址后,会将映射关系缓存到ARP表,而后传递到数据链路层进行解析转换。
三.ARP 协议的作用
网络中的数据传输所依赖的是MAC地址而不是IP地址,ARP协议负责将IP地址转换为MAC地址。
ARP协议的主要工作就是建立、查询、更新、删除ARP表项。
四.ARP常用命令
- 查询arp表:
arp -a
2.删除表内某个IP
arp -d IP
我们删除239.255.255.250这个IP:
然后我们通过arp -a去查询时,发现239.255.255.250已经消失了:
3.tcp抓某块网卡的所有arp请求
tcpdump -i eth0 -nn arp
4.tcp抓取指定ip的请求
tcpdump -i eth0 -nn arp and host IP
五.ARP工作过程演示
在centos7上通过抓包来了解arp的工作过程:
1.首先通过kali查看一下该机器有没有 IP·:192.168.110.13 的mac地址
arp -a
如果存在则先删除掉
arp -d IP
我们看到kali机的arp表里存储着centos7的arp信息然后我们通过该命令删除kali机的arp表里存储着的centos7的arp信息
2.在kali机器上执行来监听来自192.168.110.13IP所有的arp请求
tcpdump -i eth0 -nn arp 或者 tcpdump -i eth0 -nn arp and host 192.168.110.13
3.然后我们再打开一个kali机的终端,ping一下该ip,让这两台机器进行通讯,只有两台机器进行通讯时,才会绑定arp
ping 192.168.110.13
4.查看抓包结果,来看一下arp绑定的过程
06:07:58.827256 ARP, Request who-has 192.168.110.13 tell 192.168.110.26, length 28
这句话的意思是,请问谁是192.168.110.13 ,请将你的mac地址告诉给 192.168.110.26
06:07:58.827858 ARP, Reply 192.168.110.13 is-at 00:0c:29:90:e6:8d, length 46
这句话的意思是,我是192.168.110.13,我的mac地址是:00:0c:29:90:e6:8d
5.查看最新的ARP表,看看是否绑定了mac地址
arp -a
6.ARP的请求是一直不间断的在自动发送的,一台计算机会通信进行以下过程
1.主动询问网段下的IP的MAC地址
2.主动告诉别人我的IP和MAC地址
3.根据应答结果实时更新ARP表的绑定关系
六.总结
1.ARP协议负责将IP地址转换为MAC地址,或者说 ARP协议负责将IP地址和MAC地址进行绑定。
2.ARP协议的主要工作就是建立、查询、更新、删除ARP表项。
3.ARP的特性:无需人为干预,一直在进行轮询和应答