hiteshus816/ARP-Cache-Poisoning-MITM-Attack-Lab
GitHub: hiteshus816/ARP-Cache-Poisoning-MITM-Attack-Lab
一个基于Scapy的ARP缓存中毒与MITM攻击教学实验,演示如何在局域网中拦截和篡改Telnet与Netcat通信。
Stars: 0 | Forks: 0
# 🔥 ARP 缓存中毒与 MITM 攻击实验
## 📌 概述
本实验演示了如何在局域网中利用 ARP 缓存中毒来执行中间人(MITM)攻击。
使用 Scapy 发送构造的 ARP 数据包来篡改受害机器的 ARP 缓存,将流量重定向至攻击者机器。本实验探索了多种 ARP 中毒技术,并演示了如何拦截 Telnet 和 Netcat 通信。
## 🎯 目标
- 理解 ARP 协议行为
- 执行 ARP 缓存中毒
- 使用 ARP 请求毒化主机
- 使用 ARP 响应毒化主机
- 使用无偿 ARP 毒化主机
- 建立 MITM 位置
- 转发拦截的流量
- 使用 Wireshark 分析数据包
- 拦截 Telnet 流量
- 拦截 Netcat 通信
## 🛠️ 使用的技术
- Linux
- Python
- Scapy
- Wireshark
- Telnet
- Netcat
- TCP/IP 网络
# 🏗️ 实验拓扑
| 设备 | IP 地址 |
|----------|----------|
| 攻击者 (M) | 10.9.0.105 |
| 受害者 A | 10.9.0.5 |
| 受害者 B | 10.9.0.6 |
# ARP 缓存中毒
## ARP 请求欺骗
使用 Scapy 创建了伪造的 ARP 请求,诱使受害者 A 相信受害者 B 的 IP 地址属于攻击者。
### ARP 请求代码

### 执行结果

### 结果
受害者 A 的 ARP 缓存被成功毒化,将受害者 B 的 IP 地址映射到了攻击者的 MAC 地址。
## ARP 响应欺骗
向受害者 A 发送了一个未经请求的 ARP 响应,其中包含伪造的 IP 到 MAC 的映射。
### ARP 响应代码

### 执行结果

### 结果
伪造的 ARP 响应更新了受害者的 ARP 缓存,并将流量重定向至攻击者。
## 无偿 ARP 中毒
广播了一个无偿 ARP 数据包,以宣告对受害者 B IP 地址的虚假所有权。
### Gratuitous ARP 代码

### 执行结果

### 结果
受害者 A 接受了伪造的 ARP 信息,并相应地更新了其缓存。
# 针对 Telnet 的 MITM 攻击
## 步骤 1 – 发起 ARP 中毒
执行了双向 ARP 中毒,使得:
- A 将 B 映射 → 攻击者 MAC
- B 将 A 映射 → 攻击者 MAC
### 中毒脚本

## 步骤 2 – 验证 ARP 中毒
使用 Wireshark 观察伪造的 ARP 流量,并验证是否成功中毒。
### Wireshark 抓包

## 步骤 3 – 测试连通性
在攻击者作为中间人的情况下,两名受害者之间建立了 Telnet 会话。
### Telnet 会话

## 步骤 4 – 观察 ICMP 重定向消息
由于流量经过了攻击者,Wireshark 中观察到了生成并捕获的 ICMP 重定向消息。
### ICMP 重定向抓包

## 步骤 5 – 启用数据包转发
攻击者启用了 IP 转发,在受害者之间中继数据包,而不中断通信。
### 攻击者终端

## 步骤 6 – 执行 MITM 脚本
使用基于 Scapy 的 MITM 脚本来拦截和篡改 Telnet 流量。
### MITM 脚本

# 针对 Netcat 的 MITM 攻击
使用相同的 ARP 中毒技术来拦截 Netcat 通信。
### Netcat MITM 代码

### Netcat 拦截结果

### 结果
通过 Netcat 交换的流量在到达目的地之前,已被攻击者拦截并篡改。
# 📊 演示的关键概念
- ARP 缓存中毒
- ARP 请求欺骗
- ARP 响应欺骗
- Gratuitous ARP
- MITM 攻击
- Telnet 拦截
- Netcat 拦截
- 数据包构造
- 数据包篡改
- IP 转发
- Wireshark 分析
- Scapy 自动化
# 🔐 安全影响
ARP 中毒使攻击者能够将自身置于正在通信的主机之间,从而在不安全的网络中实现流量拦截、篡改、凭据窃取和会话劫持。
了解这些攻击有助于防御者实施以下保护措施:
- 静态 ARP 条目
- 动态 ARP 检查 (DAI)
- 端口安全
- VLAN 隔离
- 加密协议(使用 SSH 代替 Telnet)
# 📚 学习成果
通过完成本实验,我获得了以下方面的实践经验:
- ARP 协议内部机制
- 使用 Scapy 构造数据包
- 流量拦截技术
- MITM 攻击工作流
- 使用 Wireshark 进行网络流量分析
- 安全网络设计注意事项
## ⚠️ 免责声明
本项目在受控的教育实验环境中进行,仅用于网络安全学习和研究目的。
标签:ARP欺骗, Scapy, 中间人攻击, 免杀, 流量劫持, 网络协议分析, 网络安全, 逆向工具, 隐私保护