ARP欺骗工具-arpspoof
arpspoof
arpspoof是dsniff下的一个ARP欺骗工具
大概原理:
两台主机HostA 和 HostB想要进行通信的流程,那么主机A将需要知道自己的ip,mac 以及主机B的ip, mac。但是主机B的mac地址主机A是不知道的,所以主机A如果将他自己的IP与子网掩码进行 & 与运算得到一个ip1, 然后将主机B的ip与这个子网掩码进行相同运算得到一个ip2, 如果ip1 等于 ip2, 那么此时A与B属于同一子网。否则不属于一个子网。
每台计算机都有一个ARP缓存表,缓存表里面对应的有每一个IP地址对应的MAC地址 (MAC地址是指定计算机的标识,计算机会通过MAC地址进行通信) ,这个MAC地址是主机在和其他主机ARP通信时候的缓存,会时时刷新。
也就是说,我们伪造一个数据包,受害者被我们的数据包欺骗,得到攻击者的MAC地址,受害者就会根据ARP找到攻击者的MAC,认为攻击机就是网关,会把他上网的信息交给攻击机,这个时候攻击机有两种选项,拦截数据包,照成断网操作,也可以开启转发,看着受害者都干了些什么。
简单来说就是攻击机告诉靶机,我就是网关,计算机呢,只看数据,也不管你是谁,你说啥就是啥,靶机相信,目的达成。
操作:
攻击机IP:172.16.1.222
靶机IP:172.16.1.113
网关IP:172.16.1.254
- 开启路由转发,否者很容易被发现,如果想要达到 断网操作,就不需要开启
echo "1" > /proc/sys/net/ipv4/ip_forwrd
- 进行正反向欺骗
arpspoof -i eth1 -t 172.16.1.113 172.16.1.254
arpspoof -i eth1 -t 172.16.1.254 172.16.1.113
-
这个时候靶机中网关的MAC地址会变为攻击机的MAC地址,使用ARP-a查看
-
由于我们开启的路由转发,使用靶机
ping www.baidu.com
查看靶机是否可以上网
可以上网,此时我们就达到了ARP欺骗的目的 -
我们使用命令
echo "0" > /proc/sys/net/ipv4/ip_forward
将路由转发关闭,再次验证靶机是否可以上网
靶机无法上网,断网操作成功