ARP欺骗(ARP Spoofing)是一种网络攻击技术,攻击者通过伪造ARP(地址解析协议)消息,将其MAC地址与目标IP地址关联,从而实现对网络流量的截获、篡改或重定向。以下是ARP欺骗的详细信息:
一.理论
1. ARP协议概述
-
功能:ARP用于将IP地址解析为MAC地址,以便在局域网中进行数据传输。
-
工作原理:当设备需要发送数据到特定IP地址时,它会广播ARP请求,询问哪个设备拥有该IP地址。拥有该IP地址的设备会回复其MAC地址。
-
ARP的分类
ARP主要分为普通的ARP、免费ARP和代理ARP(此处主要介绍普通ARP和免费ARP)
普通ARP和免费ARP的作用
1、通过ARP的请求和应答报文,可以根据目的IP地址来解析其对应的MAC地址
2、发送免费ARP请求,可以探测本机的IP地址在广播域内是否冲突、告知其他网络节点自己的IP地址和MAC地址、更新其他网络节点的ARP缓存表
ARP报文中涉及的全0-MAC地址和全F-MAC地址
全F为数据链路层封装的MAC,表示二层广播发送(免费ARP应答的Target MAC也为全F,表示该目的IP对应的MAC为非未知的)
全0为ARP请求报文的Target MAC封住的,表示目的MAC未知
-
arp协议:即地址解析协议,将IP地址转换为对应的mac地址,属链路层协议
-
补充内容:计算机网络基础知识总结 | 菜鸟教程
2. ARP欺骗的原理
- 伪造ARP响应:攻击者向网络中的设备发送伪造的ARP响应,声称自己的MAC地址与目标IP地址相关联。
- 缓存中毒:受害者的ARP缓存会被更新,导致其将数据发送到攻击者的MAC地址,而不是目标设备。
- arp欺骗原理_arp欺骗的工作原理-CSDN博客
- ARP攻击最终的结果是导致网络中断,而ARP欺骗的最终结果是使得流量通过自身达到监控或控制的目的
3. 攻击目的
- 数据截获:攻击者可以监听和记录通过其设备传输的数据。
- 中间人攻击:攻击者可以修改数据包内容,例如篡改网页内容或注入恶意代码。
- 拒绝服务:通过不断发送伪造的ARP消息,使网络中的设备无法正常通信。
4. 攻击步骤
- 侦察:攻击者使用网络嗅探工具(如Wireshark)识别网络中的设备和IP地址。
- 发送伪造ARP消息:攻击者向网络中的设备发送伪造的ARP响应。
- 缓存中毒:受害者的ARP缓存被更新,导致数据流向攻击者。
- 数据截获和篡改:攻击者可以监听、记录或修改数据流。
vmware虚拟网卡配置Kali学习(ms17-010、ms08-067漏洞复现)_kali没有网络-CSDN博客
二.实验:
靶机 win7
默认网关:192.168.222.2
ip地址:192.168.222.132
攻击机:kali2023
ip地址:192.168.222.130
(一)arp断网攻击
1.在虚拟机中下载好arpspoof工具,并且查看好kali和win7的ip,看看相互ping能不能ping通
2. 利用命令查看存活主机,fping -g 192.168.222.0/24,查看当前局域网还存在那些主机,以确定要攻击的主机的ip地址
- fping:这是一个用于发送 ICMP Echo 请求的命令行工具,类似于
ping
,但可以同时对多个主机进行 ping 操作。fping
的优点是速度快,适合在大范围内进行网络探测。 -
-g:这个选项表示生成一个 IP 地址的列表。它会根据提供的网络地址范围生成所有可能的主机地址。
-
192.168.222.0/24:这是一个 CIDR(无类域间路由)表示法,表示一个子网。
192.168.222.0/24
表示从192.168.222.0
到192.168.222.255
的所有 IP 地址(共 256 个地址),其中24
表示网络部分的位数,即前 24 位为网络地址,后 8 位为主机地址。
3.命令格式:arpspoof -i 网卡 -t 目标ip 网关
其中,-i后面的参数是网卡名称,-t后面的参数是目的主机和网关,截取目标的主机发往网关的数据包
可见目标win7直接断网了
终止进程后
可以继续访问
(二)arp限速
大致概念:
当kali欺骗了网关和受害者的时候,受害者访问网络就需要经过kali的网卡,那我们限制kali网卡的速度或者转发的速度就可以限制对方的网速。这里可以使用的工具有tc、iptables、WonderShaper等等,我们以tc为例,tc是通过限制网卡的速度来限制对方的,是一种杀敌一千自损八百的手段。
在写这个之前,介绍工具:(TC)
在Linux中,流量控制都是通过TC这个工具来完成的。通常, 要对网卡进行流量控制的配置,需要进行如下的步骤:
◆ 为网卡配置一个队列;
◆ 在该队列上建立分类;
◆ 根据需要建立子队列和子分类;
◆ 为每个分类建立过滤器。
需要注意的是, 在TC 中使用下列的缩写表示相应的网络延迟:
时间的计量单位:
s、sec或者secs 秒
ms、msec或者msecs 毫秒
us、usec、usecs或者一个无单位数字 微秒
QDisc(排队规则) [qdɪsk]是queueing discipline [ˈkjuːɪŋ] [ˈdɪsəplɪn] 的简写,它是理解流量控制(traffic control)的基础。无论何时,内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的qdisc(排队规则)把数据包加入队列。然后,内核会尽可能多地从qdisc里面取出数据包,把它们交给网络适配器驱动模块。
ARP限制网速攻击-CSDN博客
1.要限制网速,kali要先开启路由器转发功能
1.开启端口转发
cat /proc/sys/net/ipv4/ip_forward #值为0表示没开启流量转发,为1表示开启了
echo 1 > /proc/sys/net/ipv4/ip_forward #开启流量转发
2.开启ARP攻击
arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.11
- arpspoof:这是一个用于 ARP 欺骗(ARP Spoofing)的工具。ARP(地址解析协议)用于将网络层地址(如 IP 地址)解析为链路层地址(如 MAC 地址)。通过 ARP 欺骗,攻击者可以伪装成网络中的其他设备,从而拦截、修改或阻止网络流量。
-
-i eth0:这个选项指定了要使用的网络接口。在这个例子中,
eth0
是一个常见的以太网接口名称。根据你的系统配置,接口名称可能会有所不同(例如,en0
、wlan0
等)。 -
-r 192.168.110.1:这个选项指定了要伪装的目标 IP 地址。在这个例子中,
192.168.110.1
是网络中的一个设备,通常是网关或路由器。-r
表示 "reverse",即攻击者将伪装成这个设备。 -
-t 192.168.110.11:这个选项指定了攻击的目标 IP 地址。在这个例子中,
192.168.110.11
是网络中的另一个设备,攻击者希望通过伪装成192.168.110.1
来拦截与该设备之间的通信。
3.查看靶机当前的网速
https://www.speedtest.cn/
4.开启网络延迟限速
tc qdisc add dev eth0 root netem delay 500ms
5.查看限速规则
tc qdisc show