ARP欺骗实验原理:
在ensp中建立拓扑图
PC1: IP地址192.168.100.1
MAC地址 61-1B
PC2: IP地址 192.168.100.2
MAC地址 7C-E3
1.
PC1向PC2发送的ICMP请求包:
不知道目标的MAC地址
封装ICMP请求时PC1会查看自己的MAC缓存表
arp缓存表记录着IP地址和MAC地址的对应关系
命令行:arp -a
2.
由于没有找到目标的MAC地址,封装失败,触发arp请求
这个包被广播发送
3.
交换机收到ARP请求包 ----- 解封装数据链路层 学习MAC地址 写入自己的mac地址表
交换机的mac地址表:
61-1B ------ GE1/0/0
交换机再查看目标地址,发现是广播地址,交换机将数据包广播发送。
4.
PC2收到ARP请求包,解封装,先看数据链路层的目标MAC地址,发现是广播地址,继续解封装,到ARP部分,查看内容
PC2将sender IP和sender MAC写入自己的ARP缓存表中
5.
PC2再查看target IP 发现是自己,说明这个ARP请求包是为了请求自己的MAC地址,PC2做出回应
6.
PC2发出的ARP回复包被交换机接收,交换机解封装ARP回复包,学习源MAC
交换机的MAC地址表:
61-1B ------ GE0/0/1
7C-E3 ------ GE0/0/2
7.
PC1接收到PC2的ARP回复包,先解封装,查看数据链路层,发现目标MAC地址是自己,继续解封装,查看ARP部分的sender IP和sender MAC
将PC2的IP和MAC地址写入到自己的ARP缓存表
8.
PC1得到了PC2的MAC地址,继续封装完整的ICMP数据
PC1 ping PC2
ARP数据包 负责寻找IP对应的MAC地址
ARP请求和ARP回复
ICMP数据包 负责通信测试 ping 192.168.100.2 得到回复
ICMP请求和ICMP回复
利用该原理,我们尝试arp攻击实验
Arp攻击实验:
建立拓扑图
Client IP:192.168.100.1
MAC:54-89-98-7B-48-04
Server IP:192.168.100.2
MAC:54-89-98-2F-0C-18
-
打开kali连接到cloud1中
Ping 192.168.100.1 测试连通性
2.
查看kali是否开启流量转发
1:转发开启
0:转发关闭
3.
使用命令:arpspoof -i eth0 -t 192.168.100.1 192.168.100.2
向client发送arp回应包,将自己伪造为server,这时client将kali误认为server
4.
抓取交换机的数据包
查看kali发送的请求包
Kali将自己的mac地址发送给了client
Sender IP为192.168.100.2
误导client以为这是server发送的回应包,并将kali的mac地址记为是server的mac地址
5.
Client登录会向server发送ftp数据包,但是client已经将kali误认为是server
这时在交换机上抓取数据包就可以得到client的ftp数据包,得到登录的用户名和密码。
实验结束
我们还可以通过arp欺骗原理做到arp断网攻击