因为我的电脑本机是连的网线,而虚拟机的网卡使用的是NAT模拟,所以虚拟机和本机就不在一个局域网里面的,就没法进行arp攻击,所以我就用两台虚拟机来进行arp攻击
(注意arp攻击是局域网攻击)
arp攻击原理:
ARP欺骗攻击建立在局域网主机间相互信任的基础上的
当A发广播询问:我想知道IP是192.168.0.3的硬件地址是多少?
此时B当然会回话:我是IP192.168.0.3我的硬件地址是mac-b,
可是此时IP地址是192.168.0.4的C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的。
所以A就会误信192.168.0.3的硬件地址是mac-c,而且动态更新缓存表
这样主机C就劫持了主机A发送给主机B的数据,这就是ARP欺骗的过程
ARP协议工作过程:A➔B,A向B发送数据
- A先在其ARP高速缓存中查看有无B的IP地址和MAC地址。如有,就通过局域网把数据发往此硬件地址。
- 如果查不到B的IP,A的ARP进程在本局域网上广播发送一个ARP请求分组,主要内容是A的IP地址、MAC地址,B的IP地址。 局域网上的所有主机运行的ARP进程都收到此ARP请求分组。
- 主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组,并向A发送ARP响应分组(其中写入了B自己的硬件地址),同时将A的地址映射写入自己的ARP高速缓存中。由于其余的所有主机IP地址都与ARP请求分组要查询的IP地址不一致,因此都不理睬这个ARP请求分组。
- A收到B的ARP响应后,就在其ARP高速缓存中写入B的IP地址到硬件地址的映射。 至此,A得到了从B的IP地址和MAC地址。当这个映射项目在高速缓存中保存超过生存时间,将被从高速缓存中删除。
攻击步骤:
①确定被攻击计算机的ip地址和网关ip
(linux下用route命令可以获得,windows下用ipconfig)
②arp流向劫持(造成被攻击者断网)
arpspoof -i eth0(网卡) -t(目标ip) (网关ip)
③设置端口转发
echo 1 > /proc/sys/net/ipv4/ip_forward
④监听对方流量并且嗅探对方所浏览的图片
driftnet -i eth0
解释:
arpspoof是一款断网攻击软件
linux因为系统安全考虑,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,接下来修改为1。
-------------------------------------------------------------------------------
实验过程:
获取被攻击者的ip和网关
(注意这里的网关,一般默认最后一位是.1,但也是有例外,像这个就是.2)
用arpspoof进行流量劫持
arpspoof -i eth0 -t 192.168.244.130 192.168.244.2
被攻击者就上不了网了
设置端口转发,监听对方流量并嗅探图片
echo 1 > /proc/sys/net/ipv4/ip_forwardd
driftnet -i eth0