使用ARP对局域网进行欺骗攻击

ARP是什么?

ARP是地址转换协议(Address Resolution Protocol)的英文缩写。是链路层协议,工作在OSI 模型的第二层,在本层和硬件接口间进行联系,同时对上层(网络层)提供服务。在局域网中我们的主机网卡通信并不能直接使用IP通信,而是使用硬件自带的MAC地址进行通信,想要用IP通信。IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。

ARP攻击原理介绍

在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系。ARP缓存采用老化机制,有老化时间,时间一到就会被删除。想要在建立联系就必须要广播建立。

ARP欺骗攻击就利用了这点,攻击者主动发送ARP报文,发送者的MAC地址为攻击者主机的MAC地址,发送者的IP地址为被攻击主机的IP地址。通过不断发送这些伪造的ARP报文,让局域网上所有的主机和网关ARP表,其对应的MAC地址均为攻击者的MAC地址,这样所有的网络流量都会发送给攻击者主机。由于ARP欺骗攻击导致了主机和网关的ARP表的不正确,这种情况我们也称为ARP中毒。

根据ARP欺骗者与被欺骗者之间的角色关系的不同,通常可以把ARP欺骗攻击分为如下两种:

使用ARP对局域网进行欺骗攻击

arpspoof

driftnet是一款用于抓取指定接口数据流量的工具,Kali linux中自带了该工具,在ubuntu中,安装它只需运行命令:

sudo apt-get install dsniff

arpspoof 命令的工作过程分为两部分:

  1. 发送伪造的ARP请求包,修改目标主机中ARP缓存表,实施ARP欺骗;
  2. 当攻击完成后,再次发送伪造的ARP请求包,修改目标主机中ARP缓存表为正确的值,结束ARP欺骗。

攻击端主机:

arpspoof -i 网卡名 -t 被攻击的主机IP + 局域网网关

运行命令

使用ARP对局域网进行欺骗攻击

效果:被攻击主机无法Ping通外网

使用ARP对局域网进行欺骗攻击

上一篇:【阅读】《Linux高性能服务器编程》——第一章


下一篇:网络笔记02