zqw23/Packet-Size-Side-Channel-Attack
GitHub: zqw23/Packet-Size-Side-Channel-Attack
这是一个利用数据包大小差异进行侧信道攻击的工具,旨在从加密流量中推断敏感信息。
Stars: 0 | Forks: 0
# Wi-Fi 注入研究原型
本仓库捆绑了两个 C++ 研究原型,用于探索 Wi-Fi 数据包大小的侧信道:
- `TCP Injection/`:推断 TCP 连接参数并执行伪造的 TCP 操作。
- `UDP Injection/`:推断 UDP 客户端源端口并注入伪造的 UDP payload。
## 法律与道德声明
此代码仅用于授权的安全研究和受控实验室测试。
未经明确许可,请勿在网络上、设备上或服务上使用它。
## 仓库布局
| 目录 | 用途 | 主文件 |
| --- | --- | --- |
| `TCP Injection/` | TCP 端口/SEQ/ACK 推断与注入/重置阶段 | `main.cpp` |
| `UDP Injection/` | UDP 端口范围推断与 UDP payload 注入 | `main.cpp` |
## 环境要求
- 推荐使用 Linux 环境。
- C++11+ 编译器(例如 `g++`)。
- [libtins](https://libtins.github.io/) 和 `libpcap`。
- 需要 root 权限 (`sudo`) 才能执行原始数据包发送/嗅探操作。
- 处于监听模式并已调谐至目标 Wi-Fi 信道的无线接口。
依赖安装示例(Ubuntu/Debian):
```
sudo apt update
sudo apt install -y build-essential libtins-dev libpcap-dev
```
## 构建
构建 TCP 原型:
```
cd "TCP Injection"
g++ -std=c++11 -O2 main.cpp PortFinder.cpp SeqFinder.cpp AckFinder.cpp Attack.cpp -o tcp_injection -ltins -pthread
cd ..
```
构建 UDP 原型:
```
cd "UDP Injection"
g++ -std=c++11 -O2 main.cpp PortFinder.cpp FastPacketSender.cpp Attack.cpp -o udp_injection -ltins -pthread
cd ..
```
## 配置
在运行之前,请编辑每个子项目的 `main.cpp` 中的参数:
- 目标标识符(`client_mac`、`client_ip`、`server_ip`、`server_port`)
- 接口名称(`send_if_name`、`sniff_if_name`)
- 扫描范围和调优参数(`start_port`、`end_port`、`step_size`、重复次数)
- 攻击选项(对于 TCP:`attack_type`)
## 运行
运行 TCP 原型:
```
cd "TCP Injection"
sudo ./tcp_injection
```
运行 UDP 原型:
```
cd "UDP Injection"
sudo ./udp_injection
```
## 子项目文档
- [TCP 注入 README](./TCP%20Injection/README.md)
- [UDP 注入 README](./UDP%20Injection/README.md)
标签:C++, libtins, WiFi安全, 中间人攻击, 安全研究, 数据包注入, 数据擦除, 网络安全, 配置错误, 隐私保护