arp断网攻击
ARP攻击原理及过程
1、原理:
主机接收到一个应答包之后,并不会验证自己是否发送过对应的arp请求包,也不会验证这个arp请求包是否可信,而是直接用应答包里的IP地址和mac地址的对应关系替换掉arp缓存表里原有的对应关系。
2、过程
攻击主机B向网关C发送一个应答包,包括主机A的IP地址、主机B的mac地址。同时,向主机A发送一个应答包,包括网关C的IP地址,主机B的mac地址。
这个时候,网关C就会将缓存表里主机A的mac地址换成主机B的mac地址,而主机a就会将缓存表里网关C的mac地址换成主机B的mac地址。
所以,网关C发送给主机A的消息全被主机B接收,主机A发送给网关C的消息也全被主机B接收,主机B就成为主机A和网关C通信的“中间人”。
使用win7和kali完成arp断网攻击
首先把win7和kali都设置成NAT模式,在win7中查看IP地址和网关
ipconfig -all
arp缓存表
arp缓存表中存入了大量的IP地址和MAC地址的映射关系
- 当你在命令行中键入
arp -a
(Windows 或 Linux),操作系统将显示与本地系统有关的ARP缓存条目。这些条目列出了已解析的IP地址与对应的MAC地址之间的映射关系,以及其他相关信息,如接口类型、是否静态条目等。
arp -a #查看arp缓存表
然后让win7一直ping www.daidu.com
ping www.baidu.com -t
ip a #查看kaliIP地址
打开kali,使用命令:
arpspoof -i eth0 -t 192.168.160.4 -r 192.168.160.2
-
解释
-
arpspoof
是一个网络工具,用于执行ARP欺骗攻击(ARP spoofing)。ARP欺骗攻击是一种网络攻击技术,通过欺骗目标设备的ARP缓存表,使其将网络流量发送到攻击者控制的中间设备,从而实现网络监听、捕获数据包或进行中间人攻击等目的。 -
在给定的命令中,
-i eth0
指定了使用的接口为eth0
,这是指定要进行ARP欺骗的网络接口。 -
-t 192.168.160.4
表示攻击的目标设备的IP地址 -
-r 192.168.160.2
表示网关的IP地址
win7显示连接超时,断网。
防御arp断网攻击
静态绑定ip地址和mac地址的映射关系
首先查看arp缓存表
arp -a
此时的网关地址和物理地址是动态绑定状态
然后键入netsh命令(network shell), 是一个 windows 系统本身提供的功能强大的网络配置命令行工具
netsh interface ip show interfaces #查看接口信息
查看本地连接的Idx的值,此处为11
然后用管理员身份打开cmd,键入:
netsh -c "i i" add ne 11 10.9.136.1 50-6f-77-89-ad-92
-c
选项用于指定要执行的命令,ne
表示网络接口netsh -c "i i" add neighbors 11 "网关IP" "Mac地址"
这里11是idx号。- 例如:
netsh -c "i i" add neighbors 11 192.168.0.1 00-01-02-03-04-05
然后再次查看arp缓存表,发现此时网关已经静态绑定
如何解除静态绑定
netsh -c "i i" delete ne 11
-
i i
通常代表interface ipv4
或interface ipv6
的缩写,用于操作和配置网络接口的 IPv4 或 IPv6 设置。delete ne 11
可以理解为删除网络接口编号为 11 的网络设置。 -
如果你想删除一个具体的网络接口,并且知道该接口的编号为11,正确的命令应该是类似这样的:
-
对于 IPv4 接口:
netsh interface ipv4 delete interface 11
-
对于 IPv6 接口:
netsh interface ipv6 delete interface 11
然后再次检查arp缓存表,现在已经回复动态绑定
令应该是类似这样的:
- 对于 IPv4 接口:
netsh interface ipv4 delete interface 11
- 对于 IPv6 接口:
netsh interface ipv6 delete interface 11
然后再次检查arp缓存表,现在已经回复动态绑定