一、ARP协议
每一个主机都有一个ARP高速缓存,此缓存中记录了最近一段时间内其它IP地址与其MAC地址的对应关系。如果本机想与某台主机通信,则首先在ARP高速缓存中查找此台主机的IP和MAC信息,如果存在,则直接利用此MAC地址构造以太帧;如果不存在,则向本网络上每一个主机广播一个ARP请求报文,其意义是"如果你有此IP地址,请告诉我你的MAC地址",目的主机收到此请求包后,发送一个ARP响应报文,本机收到此响应后,把相关信息记录在ARP高速缓存中,以下的步骤同上。
ARP报文格式
可以看出,ARP协议是有缺点的,第三方主机可以构造一个ARP欺骗报文,而源主机却无法分辨真假。如果发送者硬件地址字段填入攻击者的硬件地址,而发送者IP地址填入被假冒者的IP地址,那么就构造出了一个用于欺骗的ARP请求报文。那么被欺骗主机的ARP高速缓存,被假冒者的IP地址与其MAC地址的对应关系就会更改为欺骗者的,从而达到ARP欺骗的目的。特别的,如果攻击者冒充网关,将转发子网内到外网的所有通信量,以达到捕获其他主机的通信量,从而破坏数据传输的保密性。
二、ARP欺骗的原理
ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网上,尤其是送到网关上。. 其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。因此攻击者可将这些流量另行转送到真正的网关(被动式数据包嗅探,passive sniffing)或是篡改后再转送( 中间人攻击 ,man-in-the-middle attack)。攻击者亦可将ARP数据包导到不存在的 MAC地址 以达到阻断服务攻击的效果。
三、实验环境
系统环境:Kali Linux 2、Windows
网络环境:交换网络结构
实验工具:Arpspoof、WireShark
四、实验步骤
1.先用ifconfig查询主机(kali)ip,然后用nmap扫描出同网段下的靶机(win7)。
2.用route -n得到靶机所处的网关
3.在进行ARP欺骗前需要打开arp转发命令
echo 1>/proc/sys/net/ipv4/ip_forward
如果把1改为0,则为关闭,靶机的数据包发不出去,则会使靶机断网。
arpspoof的命令格式为:arpspoof -i 网卡 -t 目标ip 网关
输入命令:arpspoof -i eth0 -t 192.168.131.130 192.168.131.2
如图所示,靶机被断网了。
接下来打开arp转发命令,进行arp欺骗。
靶机又恢复了网络
4.打开wireshark,输入ip.addr==192.168.131.130,抓取靶机的数据。
5.用靶机登录××生活网,进入登录界面登录,随便输入。
6.此时打开wireshark ,看看在主机(kali)是否能抓取靶机输入的账号和密码。
可以看到刚才登录的账号是:13100436564 密码是:12121212
版权归原作者 机智的Jerry 所有, 如有侵权,请联系我们删除。