文章总结: 本文详细介绍了ARP欺骗攻击的原理和实施方法,演示了如何利用arpspoof工具在局域网中劫持流量,并使用Wireshark分析HTTP和HTTPS通信。文章指出公共WiFi环境下ARP欺骗的风险,强调使用VPN作为有效防护措施的重要性。虽然HTTPS普及降低了风险,但攻击者仍可获取访问行为信息,提醒用户在公共网络中保持警惕。
综合评分: 88
文章分类: 渗透测试,网络安全,实战经验,内网渗透,WEB安全
arp欺骗攻击,局域网内劫取流量,获取别人上网时所浏览的内容
原创
W不懂安全
W不懂安全
2025年12月16日 15:41
河北
在局域网环境中,设备之间的通信并非像表面看起来那样“直接”。
ARP(Address Resolution Protocol)作为 IP 到 MAC 的地址解析机制,在设计之初默认局域网是一个可信环境。
正是这种“默认信任”的设计,使得 ARP 协议在面对恶意节点时存在被利用的可能。
本文通过一个局域网环境内进行操作演示,演示ARP欺骗的基本原理与实现方式,帮助读者或从事网络安全专业人士理解中间人攻击(MITM)在二层网络中是如何发生的。
免责声明
本文所涉及的所有实验与演示内容,均在本人自有的家庭局域网环境中进行,所有设备均为本人所有。
本文仅用于网络安全原理学习与防御意识提升,不涉及、也不鼓励任何形式的非法入侵、监听或攻击行为。
请勿在公共网络、他人网络或未授权的环境中复现实验,因不当使用本文内容所造成的一切后果,均与本文作者无关。
前期需要准备:
- Kali Linux:需要更新到最新的版本,如果你的版本过旧,工具包可能拉取不成功。源是国内镜像源即可。
- Wireshark:这是全球最流行的网络协议分析工具之一,用来实时捕获和分析网络数据包。这个工具Kali中自带,若没有,则需要手动安装。
- arpspoof:这是一款基于ARP欺骗原理的网络攻击与测试工具,主要用于局域网环境中的流量劫持与安全研究。
进入kali之后,执行以下命令查看arpspoof是否安装。
arpspoof -h
若能看到版本号,证明已安装。
若没有,则执行以下命令安装:
apt-get install dsniff
接着需要查看一下我们的物理网卡名称、IP地址和网关地址:
ip route show default
可以看到我的网卡名称是eth0、网关地址是39.2,kali地址则是39.129。
本次演示我将用另一台Windows电脑作为攻击目标。
在kali中使用netdiscover工具对局域网内存活的机器进行扫描(若你不知道对方的IP地址)
netdiscover -i eth0 -r 192.168.39.0/24
- eht0:是你的网卡名称,根据实际修改
- -r:后边的IP地址是你要扫描哪一个段的IP,比如我这里是39段,那么它会把所有192.168.39.底下的机器都扫描,若要扫描全部段,则把39改成0。
这里我已经能够扫描出来我的另一条电脑的IP。
接着我们进行ARP欺骗。
在这之前说一下arpspoof到底干了什么?原理又是什么?
在局域网中:
- 设备靠 ARP 把「IP ↔ MAC」对应起来
- ARP 没有认证机制
arpspoof就是利用这一点:
- 骗目标主机:我是网关(路由器)。
- 骗网关:我是目标主机。
结果就是:
目标 <——> 你(攻击机) <——> 网关
👉 所有流量 必须经过你****
开始实操:
开启IP转发(否则目标主机会断网)
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
对目标和网关进行ARP欺骗
sudo arpspoof -i eth0 -t 192.168.39.128 192.168.39.2
另开一个终端,对网关再骗一次:
sudo arpspoof -i eth0 -t 192.168.39.2 192.168.39.128
参数解释:
| | |
| — | — |
| 部分 | 含义 |
| -i eht0 | 使用物理网卡 |
| -t 192.168.39.128 | 被欺骗的机器IP |
| 192.168.39.2 | 你要冒充的IP网关 |
那为什么骗了目标主机,还要再次执行一次骗网关一次?
如果你只执行一条命令,会发生什么?
❌ 只骗目标的后果
目标 ---> 你 -X-> 网关
-
目标把数据发给你 ✅
-
但 网关并不知道你是谁
-
你发给网关的数据,MAC 不匹配
-
很多情况下会:
-
目标断网
-
或者只能单向通信
-
或连接极不稳定
这叫:半中间人。
那第二个终端的作用,真正形成了MITM。
你还要反过来骗网关,这两条命令同时运行后,网络结构就变成了:
目标 <——> 你 <——> 网关
此时:
- 目标以为你是网关
- 网关以为你是目标
- 双向流量都经过你
- 再配合 IP 转发
👉 网络不断
👉 流量全在你这
👉 完整中间人攻击成立
接着打开Wireshark抓包工具,监听eth0网卡,然后我们进行过滤条件的筛选。
只看HTTP明文流量:
http && ip.addr == 192.168.39.128
如果是老设备/内容,你能直接看到:
- URL
- Cookie
- 表单内容
HTTPS情况下能看到什么?
tls && ip.addr == 192.168.1.100
你看不到明文的内容,数据是加密的,你能看到:
- 访问了哪个 IP
- SNI(域名)
- 证书
- 握手信息
- 流量模式
如果你想知道对方浏览了哪些网站,更精准的过滤条件就是:
dns && ip.src == 192.168.39.128
你能明显的看到对方在浏览什么网站,图片中已经很明显了,没错,我另一台电脑就是在看视频。
其实还有很多玩法,你们可以慢慢发掘,这里我就不细说了,说也说不完。
能够获取的信息有很多,如:使用的浏览器、搜索引擎、浏览的网站等。如果网站是HTTP协议的,没有加密,你甚至能看到明文内容。
那么如果对方浏览器的网站是HTTP协议,没有加密,除了可以获取内容,还可以获取它浏览网页时所获取的图片。
这里就使用driftnet来获取。
若没有,执行以下命令安装:
apt install driftnet
创建一个要把图片保存的目录:
sudo mkdir -p /root/image
接着执行:
driftnet -i eth0 -a -d /root/image
| | |
| — | — |
| 参数 | 含义 |
| -i eth0 | 监听网卡 |
| -a | 捕获所有图像 |
| -d /root/image | 将抓取的图片保存到指定目录 |
⚠️ driftnet 的现实效果已经大不如前
-
driftnet 只能抓 HTTP 明文图片
-
现代网站:
-
HTTPS
-
CDN
-
HTTP/2 / HTTP/3
-
图片内容已被加密
👉 所以你很可能会看到:
- 几乎抓不到图片
- 或只抓到局域网内测试站点
driftnet在现代网络环境中更多是一种教学工具
像这样的中间人攻击,在公共WIFI下,相当于攻击者的温床。
为什么这么说呢?
一、公共 Wi‑Fi(商场 / 咖啡店 / 机场)通常具备这些特点:
1️⃣ 同一二层网络
大多数公共 Wi‑Fi:
- 所有用户在同一个局域网
- 没有 AP 隔离
这意味着你和攻击者在同一个广播域,ARP、DHCP、广播包全都能看到。
2️⃣ 无加密 or 弱隔离
- 开放 Wi‑Fi(无密码)
- Portal 认证(连上才能弹网页)
⚠️ 但注意:Portal 认证 ≠ 数据加密,认证完之后,局域网层面仍是明文。
3️⃣ 攻击者成本极低
攻击工具早就“平民化”了:
- bettercap
- ettercap
- dsniff
- Wireshark
👉 一台笔记本 + Kali 就够
二、在公共 Wi‑Fi 下,攻击者能干什么?
① ARP 中间人(最经典)
攻击路径:
你 ←→ 攻击者 ←→ 网关
攻击者可以:
- 嗅探你的流量
- 劫持会话
- 注入恶意内容(HTTP)
② 能被偷走的东西(真实存在)
🧾 HTTP 明文(仍然存在)
- 老旧系统
- 内网后台
- 路由器管理页面
- IoT 设备
能直接看到:
- 用户名
- 密码
- Cookie
🍪 Cookie 劫持(重点)
即便是 HTTPS:
- 如果网站配置不严谨
- Cookie 没
Secure/HttpOnly - 混合内容(HTTP + HTTPS)
👉 会话直接被接管
🔎 行为监控(HTTPS 也防不了)
即便全 HTTPS,攻击者仍可看到:
- 你访问了哪些域名(SNI / DNS)
- 访问时间、频率
- 应用行为特征
对社工 / 定向攻击非常有价值
③ 进阶攻击(现实中存在)
- DNS 劫持
- HTTPS 降级(SSL Strip)
- 假热点(Evil Twin)
- 注入钓鱼页面
三、那现在 HTTPS 普及了,还危险吗?
✔️ 事实是:比以前安全,但不绝对安全
| | |
| — | — |
| 项目 | 能不能防 |
| HTTPS 内容嗅探 | ✅ 基本防住 |
| 访问行为分析 | ❌ 防不住 |
| DNS 劫持 | ❌(无 DoH/DoT) |
| 假热点 | ❌ |
| Cookie 劫持 | ⚠️ 看网站配置 |
| 设备攻击 | ❌ |
四、普通人在公共 Wi‑Fi 下该怎么防?(实用)
最简单、最实用、最重要的一条就是:
立刻开 VPN!!!
不是为了翻墙,是为了:
- 把所有流量加密
- 防止局域网嗅探
- 防止 ARP 中间人
👉 攻击者看到的只剩:
你 <-> VPN 服务器(加密)
再者就是不访问高风险服务,比如:
- 网银
- 后台管理
- SSH登录
- 公司内网
细说一下为什么公共WIFI下,建议开启VPN。
在公共 Wi‑Fi 下,VPN 不是“翻墙工具”,而是“二层/三层防护罩”。
它的核心作用只有一个:把你在不可信局域网里的“裸流量”,包进一个“端到端加密隧道”里。
VPN 到底“挡住”了什么?
1️⃣ VPN 在网络层干了什么?
VPN 不是魔法,它很简单:
你 <====== 加密隧道 ======> VPN 服务器
在你本机:
- 创建一个虚拟网卡(tun/tap)
- 改默认路由
- 所有流量先进 VPN
2️⃣ 开 VPN 后,攻击者还能看到什么?
对比一下就清楚了
| | | |
| — | — | — |
| 项目 | 不开VPN | 开启VPN |
| ARP 欺骗 | ✅ 可用 | ✅ 仍可 |
| 抓包 | ✅ | ✅ |
| 看清内容 | ❌(HTTPS) | ❌ |
| 看访问网站 | ✅ | ❌ |
| DNS 查询 | ✅ | ❌ |
| 劫持会话 | ⚠️ | ❌ |
| 注入攻击 | ⚠️ | ❌ |
攻击者只能看到你在和“一个 IP”通信(VPN 服务器)
3️⃣ 为什么 ARP 攻击在 VPN 下“失效”?
注意:不是ARP不存在了,而是攻击没有意义了。
攻击者看到的是:
你 <-> VPN IP (加密)
即便他:
- 成功中间人
- 成功抓包
拿到的也是:
ESP / TLS / WireGuard 加密流量
👉 解不开,也没法改
总结
通过本次在家庭局域网环境中的实验,可以直观地理解 ARP 协议在设计上的信任机制,以及 ARP 欺骗为何能够实现中间人攻击。结合 arpspoof、Wireshark、driftnet 等工具,可以清楚地看到:在 HTTP 明文通信场景下,攻击者确实能够劫持并分析目标设备的网络流量,甚至恢复访问的图片与请求内容。
但实验结果也同时说明,随着 HTTPS 的全面普及,加密已成为网络通信的默认形态。在真实环境中,大多数网站的关键数据已无法被明文嗅探,这在一定程度上有效遏制了被动监听和简单中间人攻击的风险。
因此,ARP 欺骗更多地体现为一种协议层面的安全教学案例,其意义不在于攻击本身,而在于帮助我们理解:
- 为什么公共 WiFi 存在天然风险
- 为什么 HTTPS 和 VPN 至关重要
- 以及为什么“不加密的网络通信本身就是一种隐患”
网络安全的核心并不是攻击,而是理解风险、建立防护、提升安全意识。只有在合法、可控的环境中进行实验和研究,技术才能真正服务于防御与安全。
本期内容到此结束。
三连加关注,追文不迷路。


免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:W不懂安全 W不懂安全《arp欺骗攻击,局域网内劫取流量,获取别人上网时所浏览的内容》