2026-05-25 win10 arp欺骗教程

我们需要两台win10虚拟机,在同一个局域网,同一网关下面。

我们之前已经安装好了攻击机,还有靶机,并且在攻击机上面配置了arp攻击的基本环境和工具。现在我们开始实验。

Pasted image 20260525230710

一、网络连通性测试

在实验开始之前,我们要确保靶机和攻击机在同一个网段下面,使用同一个网关,并且都可以访问互联网。

我们这里使用管理员权限启动两台win10的cmd窗口:

Pasted image 20260525230838

再次确认两天win10,IP地址,网关配置正确,并且可以相互ping通。

ipconfig /all
Pasted image 20260525230952

攻击者 ping 靶机IP地址,确认可以ping通。

Pasted image 20260525231132

靶机 ping 攻击者IP地址,也确认可以ping通。

Pasted image 20260525231236

至此,我们确认两台设备均在同一个局域网下面,并且可以访问互联网,正式开始攻击者arp欺骗靶机实验。

二、arp欺骗(单向欺骗)

1、软件配置启动

NetFuke_1.07 文件夹当中,找到NetFuke软件,双击启动软件。

Pasted image 20260525231506

界面如下:

Pasted image 20260525231617

2、单向 arp 欺骗理论基础

1.NetFuke 的单向 ARP 欺骗,采用 S→M→D(Source → Middle → Destination) 模型:

角色 含义 欺骗中的作用
S(Source) 被冒充的 IP 地址 你要伪造 ARP 响应包中,声明 “MAC 是中间人” 的 IP
D(Destination) 被欺骗的目标设备 IP 接收伪造 ARP 响应包的设备,ARP 缓存会被篡改
M(Middle / 中间人) 你的攻击机 IP/MAC 伪造的 MAC 地址,也就是你要让 D 认为 “S 的 MAC 就是 M”

2.ARP_Response模式:工具会向目标 IP(D)发送伪造的 ARP 响应包,报文格式固定为:

ARP Response: [S的IP] is at [M的MAC]
  • 报文含义:向 D 声明 “IP 地址 S 对应的 MAC 地址,是中间人 M 的 MAC”
  • 触发效果:D 收到这个响应包后,会无条件更新自己的 ARP 缓存,把 S的IP→MAC 映射改成 M的MAC
  • 流量劫持:D 后续所有发往 S 的数据包,二层都会转发给中间人 M,从而被你拦截

3.两种场景,一种是劫持靶机到网关的流量,攻击者需要欺骗靶机,第二种是截止网关到靶机的下行流量,攻击者需要欺骗网关。

场景目标 欺骗对象 S(冒充 IP) D(被欺骗设备) 流量效果
劫持上行流量(靶机→网关) 欺骗靶机,让它认为网关的 MAC 是攻击机 MAC 网关 IP 靶机 IP 靶机发往网关的上行流量,全部发给攻击机
劫持下行流量(网关→靶机) 欺骗网关,让它认为靶机的 MAC 是攻击机 MAC 靶机 IP 网关 IP 网关发往靶机的下行流量,全部发给攻击机
4.来源IP、中间人IP,目标IP定义
Pasted image 20260525233254
  • 来源 IP = S
  • 中间人 IP = M(攻击机自身 IP)
  • 目标 IP = D

3、单向ARP实验–劫持上行流量操作

开始之前,我们需要记录,靶机、攻击者、网关的IP和对应的mac,在本实验当中:

角色 IP 地址 真实 MAC 地址 角色定位
攻击者(攻击机) 192.168.150.10 00:0C:29:D4:81:8C NetFuke 中间人设备,ARP 欺骗发起方
靶机(被攻击者) 192.168.150.12 00:0C:29:AE:C7:53 被欺骗的 Windows 主机,业务流量发起方
网关(默认网关) 192.168.150.2 局域网出口,真实网络网关

因为我们需要劫持从靶机→网关的上行流量,因此靶机是上行流量的发送者即来源IP,中间人IP固定是攻击者IP,目标IP就是网关的IP,在本实验当中配置如下:

  • 来源IP=网关IP :192.168.150.12
  • 中间人IP=攻击者IP:192.168.150.10
  • 目标IP = 靶机IP:192.168.150.2
A、嗅探配置
Pasted image 20260525233920

1.选择正确的网卡(本机 IP:192.168.150.10)

配置内容

选中了对应攻击机 IP 192.168.150.10 的物理网卡

  • 网卡是 NetFuke 收发数据包的物理载体,必须选择和靶机、网关在同一个局域网的网卡,否则:
    • 伪造的 ARP 欺骗包无法单播 / 广播到靶机;
    • 靶机被劫持后发往网关的流量,也无法发送到攻击机。
  • 之前的实验中,攻击机 IP 是192.168.150.10,和靶机192.168.150.12、网关192.168.150.2同网段,只有选这个网卡,才能保证三层连通、二层广播可达。

2.勾选「启用 ARP 欺骗」选项

开启 NetFuke 的 ARP 欺骗总开关。

  • 这是 ARP 欺骗的功能总开关,只有勾选后,NetFuke 才会按照你后续配置的「冒充网关、欺骗靶机」规则,发送伪造的ARP Response响应包;
  • 不勾选的话,工具只会做普通的网络嗅探,不会发送任何伪造 ARP 包,靶机的 ARP 缓存永远不会被篡改,欺骗和断网都无从谈起。

3.勾选「启用混杂模式监听」

开启网卡的混杂模式。

4.勾选「关闭转发」(断网实验的核心配置)

选择「关闭转发」,而非「主动转发」

模式 效果 适用场景
主动 / 路由转发 攻击机收到靶机的流量后,会转发给真实网关 中间人攻击(透明劫持,靶机不知道被欺骗,能正常上网)
关闭转发 攻击机收到靶机的流量后,直接丢弃,不转发给网关 断网实验(流量被拦截,靶机无法访问外网)
配置方式如图所示:
Pasted image 20260525234325
B、ARP欺骗设置

配置方式如图所示,我们需要配置欺骗方式、IP地址、欺骗模式,为了劫持上行流量,也就是从靶机发送到网关的流量,此时靶机IP就是来源IP,这里填写 192.168.150.12 ,中间人IP默认是攻击者IP,填写192.168.150.10,目标IP就是网关IP,填写 192.168.150.2

Pasted image 20260525235341
  • ARP_Request:发送 ARP 请求包,只能做存活探测,无法篡改 ARP 缓存
  • ARP_Response:发送伪造的 ARP 响应包,这才是 ARP 欺骗的核心模式
Pasted image 20260526141414

配置完成之后,点击启动按钮,开始arp欺骗:

Pasted image 20260526141932
C、wireshark抓包

在攻击者win10,打开wireshark,选择对应网卡,开始抓包:

Pasted image 20260526150952

通过wireshark指令,对数据报文进行筛选,规则如下:

此指令翻译:筛选出arp包,并且目标是IP地址为192.168.150.12(即靶机)的报文。

arp && (arp.dst.proto_ipv4 == 192.168.150.12) # 替换为你自己的靶机IP
Pasted image 20260526150846
D 、靶机断网(实验效果展示)
被arp攻击之前

在靶机cmd窗口,查看arp映射表:

arp -a

可以发现,靶机在被arp攻击之前,映射表存储的IP和mac映射是正确的,如图所示:

Pasted image 20260526142352

靶机可以访问网页,正常上网

Pasted image 20260526142513
被arp攻击之后

被arp攻击之后,可以发现,靶机的arp映射表当中,网关IP对应的

Pasted image 20260526142747

无法访问网页

Pasted image 20260526150417

4、单向arp实验–劫持下行流量操作

开始之前,我们需要记录,靶机、攻击者、网关的IP和对应的mac,在本实验当中:

角色 IP 地址 真实 MAC 地址 角色定位
攻击者(攻击机) 192.168.150.10 00:0C:29:D4:81:8C NetFuke 中间人设备,ARP 欺骗发起方
靶机(被攻击者) 192.168.150.12 00:0C:29:AE:C7:53 被欺骗的 Windows 主机,业务流量发起方
网关(默认网关) 192.168.150.2 局域网出口,真实网络网关

因为我们需要劫持从网关→靶机的下行流量,因此网关是下行流量的发送者即来源IP,中间人IP固定是攻击者IP,目标IP就是靶机的IP,在本实验当中配置如下:

  • 来源IP=网关IP :192.168.150.2
  • 中间人IP=攻击者IP:192.168.150.10
  • 目标IP = 靶机IP:192.168.150.12
A、嗅探配置

完全参考上行流量arp实验的嗅探配置[[#A、嗅探配置]]

B、ARP欺骗设置

配置方式如图所示,我们需要配置欺骗方式、IP地址、欺骗模式,为了劫持下行流量,也就是从网关发送到靶机的流量,此时网关IP就是来源IP,这里填写 192.168.150.2 ,中间人IP默认是攻击者IP,填写192.168.150.10,目标IP就是网关IP,填写 192.168.150.12

Pasted image 20260526152118
  • ARP_Request:发送 ARP 请求包,只能做存活探测,无法篡改 ARP 缓存
  • ARP_Response:发送伪造的 ARP 响应包,这才是 ARP 欺骗的核心模式

这里为了欺骗网关,欺骗模式依然选择ARP_Response模式。

配置完成之后,点击启动按钮,开始arp欺骗:

Pasted image 20260526152319
C、wireshark抓包

在攻击者win10,打开wireshark,选择对应网卡,开始抓包:

Pasted image 20260526150952

通过wireshark指令,对数据报文进行筛选,规则如下:

此指令翻译:筛选出arp包,并且目标是IP地址为192.168.150.2(即网关)的报文。

arp && (arp.dst.proto_ipv4 == 192.168.150.2) # 替换为自己的网关IP
Pasted image 20260526153345
D 、靶机断网(实验效果展示)
被arp攻击之前

在靶机cmd窗口,查看arp映射表:

arp -a

可以发现,靶机在被arp攻击之前,映射表存储的IP和mac映射是正确的,如图所示:

Pasted image 20260526142352

而且网页可以正常访问:

Pasted image 20260526152736
被arp攻击之后

可以发现,靶机的arp映射表在被攻击之前,和在被攻击之后,是完全一样的,这是为什么?

答案:是因为下行流量的欺骗,是欺骗了网关的arp映射,网关错误的把攻击者当做是目标主机,从而把本来要发送给靶机的流量发送给了攻击者,从而实现了靶机的断网。因此靶机的arp表没有任何变化。

Pasted image 20260526152908

再次刷新浏览器网页,发现已经无法正常访问互联网:

Pasted image 20260526153200

可能遇到的问题

A、Netfuke运行启动报错:Error ARP欺骗设置
Pasted image 20260526140537

ARP 欺骗是二层网络攻击,只能在 同一个广播域(同一局域网、同一 IP 网段)内生效,配置里三个 IP 完全不在一个网段,则会报错,如图所示:

Pasted image 20260526140803

解决:

  • 中间人IP有问题,需要检查网卡是否选择正确
    • Pasted image 20260526140910
  • 若网卡选择正确,则重新填写中间人IP,中间人IP就是攻击者电脑的静态IP。

三、arp欺骗(双向欺骗)

1、软件配置启动

参考arp单向欺骗启动方式 [[#1、软件配置启动]]

2、双向 arp 欺骗理论基础

1.NetFuke 的双向 ARP 欺骗,采用 S↔M↔D(Source ↔ Middle ↔ Destination) 模型:

角色 含义 欺骗中的作用
S(Source) 网关 IP(或主机 AIP) 被冒充的 IP 地址之一,伪造 ARP 响应包中声明 “MAC 是中间人” 的 IP
D(Destination) 靶机 IP(或主机 BIP) 被冒充的 IP 地址之二,伪造 ARP 响应包中声明 “MAC 是中间人” 的 IP
M(Middle / 中间人) 你的攻击机 IP/MAC 伪造的 MAC 地址,双向发送伪造响应包,让 S 和 D 互相认为对方的 MAC 就是 M
2.ARP_Response 模式:工具会同时向目标 IP(D)和来源 IP(S)发送两组伪造的 ARP 响应包,报文格式为:
// 向D发送:声明S的MAC是M ARP Response: [S的IP] is at [M的MAC] 
// 向S发送:声明D的MAC是M ARP Response: [D的IP] is at [M的MAC]
  • 报文含义:同时向 D 声明 “IP 地址 S 对应的 MAC 是中间人 M”,向 S 声明 “IP 地址 D 对应的 MAC 是中间人 M
  • 触发效果:S 和 D 收到伪造响应包后,都会无条件更新自身 ARP 缓存,将S↔D的 IP-MAC 映射都修改为S→MD→M
  • 流量劫持:D 发往 S 的上行流量、S 发往 D 的下行流量,二层都会转发给中间人 M,实现双向全流量劫持

3.双向欺骗的核心目标:同时劫持上行(靶机→网关)和下行(网关→靶机)流量,完整实现中间人攻击,两种方向的欺骗会同时生效:

场景目标 欺骗对象 S(冒充 IP) D(被欺骗设备) 流量效果
双向全流量劫持(靶机↔网关) 同时欺骗靶机 + 网关,让两者互相认为对方的 MAC 是攻击机 MAC 网关 IP 靶机 IP 靶机发往网关的上行、网关发往靶机的下行流量,全部经过攻击机
注:双向欺骗本质是同时执行了 “欺骗靶机” 和 “欺骗网关” 两个单向欺骗过程,因此 S 和 D 是对称的,工具会自动双向发送伪造包,无需额外配置反向参数。

4.来源 IP、中间人 IP,目标 IP 定义

  • 来源 IP = S(网关 IP)
  • 目标 IP = D(靶机 IP)
  • 中间人 IP = M(攻击机自身 IP)

双向欺骗模式下,工具会自动以对称方式处理:既向 D 发送 “S的IP→M的MAC” 的伪造包,也向 S 发送 “D的IP→M的MAC” 的伪造包,无需额外配置反向参数。

3、双向ARP实验

记录下,靶机、攻击者、网关的IP和对应的mac

角色 IP 地址 真实 MAC 地址 角色定位
攻击者(攻击机) 192.168.150.10 00:0C:29:D4:81:8C NetFuke 中间人设备,ARP 欺骗发起方
靶机(被攻击者) 192.168.150.12 00:0C:29:AE:C7:53 被欺骗的 Windows 主机,业务流量发起方
网关(默认网关) 192.168.150.2 局域网出口,真实网络网关
A、嗅探配置

嗅探配置把关闭转发 修改为 主动转发,其他设置保持不变,从而让攻击者可以作为中间人,同时转发上行流量和下行流量。

Pasted image 20260526170528
B、ARP欺骗设置

因为双向欺骗是上下行流量全部欺骗,因此网关和靶机都被欺骗,两者地位一致。因此来源IP和目标IP 两者,分别填写靶机IP和网关IP,且可以交换顺序。

Pasted image 20260526170343

保存配置之后,启动arp欺骗。

Pasted image 20260526170801
C、wireshark抓包

使用如下筛选条件,找到所有的arp包:

arp
Pasted image 20260526170936

请自行分析各个数据包的含义,写入实验报告当中。

当然也可以追踪靶机的http,tcp流量,筛选指令如下(仅供参考):

ip.addr == 192.168.150.12 && http  # IP 替换为你自己靶机的IP
D、靶机arp表变化
arp -a
Pasted image 20260526171228

因为攻击者开启了主动转发,因此靶机依然可以上网,只不过流量从攻击者这里绕了一圈。

Pasted image 20260526171311
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Archive PDF预览 PPTX Obsidian