I-Sheng/Security-Projects
GitHub: I-Sheng/Security-Projects
一套安全教学与实验项目,提供从网络嗅探到入侵检测的多模块动手实践方案。
Stars: 0 | Forks: 0
# 安全代码
一系列动手实践的安全研究与教育实验室,涵盖网络攻击、入侵检测、防火墙和加密工具。每个模块都包含独立的构建说明、实验报告和实验笔记。
## 模块
| 模块 | 主题 | 语言 / 工具 |
|---|---|---|
| [`sniffing_and_spoofing/`](#sniffing_and_spoofing) | 数据包嗅探与 ICMP/TCP 欺骗 | C (libpcap)、Python (Scapy) |
| [`ddos/`](#ddos) | 使用 MAC 地址随机化的 DoS 洪水模拟 | hping3、macchanger、Make |
| [`dns_lab/`](#dns_lab) | Docker 化 DNS 探索与安全分析 | Docker、BIND、dig |
| [`dns_cache_poisoning/`](#dns_cache_poisoning) | 通过伪造响应进行 DNS 缓存投毒 | Python (Scapy) |
| [`firewall/`](#firewall) | 从内核到 iptables 的 Linux 防火墙实现 | C (Netfilter)、iptables、conntrack |
| [`ids_snort/`](#ids_snort) | 基于规则的数据包检查入侵检测 | Snort |
| [`hex_tools/`](#hex_tools) | 对原始字节进行异或密码操作 | Python |
| [`win_linux_monitor_mapping_utility/`](#win_linux_monitor_mapping_utility) | 跨平台系统/网络诊断参考 | Bash、Batch |
## 嗅探与欺骗
**主题:** 在链路层和 IP 层捕获与伪造网络数据包。
工具:用于原始数据包捕获的 C 语言 `libpcap`,以及用于灵活构造和发送的 Python `Scapy`。涵盖 BPF 过滤器、混杂模式、ICMP 欺骗、原始套接字编程以及“先嗅探后欺骗”模式。
→ [模块说明](sniffing_and_spoofing/README.md) · [实验笔记](sniffing_and_spoofing/experiment/README.md)
## DDoS
**主题:** 带有源地址混淆的模拟拒绝服务攻击。
使用 `hping3` 以最大速率向目标发送原始 IP 数据包,同时通过 `macchanger` 持续轮换 MAC 地址以阻碍过滤和追踪。
→ [模块说明](ddos/README.md)
## DNS 实验
**主题:** DNS 解析内部机制与安全特性。
一个 Docker 化实验环境(BIND 服务器 + 客户端,位于 `172.30.0.0/24` 桥接网络),用于探索 DNS 查询链、捕获 DNS 流量、观察 DNSSEC 验证,并理解递归解析器周围的威胁模型。
→ [模块说明](dns_lab/README.md) · [实验笔记](dns_lab/experiment/README.md)
## DNS 缓存投毒
**主题:** 对本地 BIND 解析器进行伪造 DNS 响应的缓存投毒攻击。
使用 Scapy 竞争性地发送精心构造的 DNS 回复——投毒 A 记录、NS 记录(同区域和跨区域)以及附加段中的胶水记录——针对正在运行的解析器,以观察哪些记录被缓存、哪些被拒绝。
→ [模块说明](dns_cache_poisoning/README.md) · [实验笔记](dns_cache_poisoning/experiment/README.md)
## 防火墙
**主题:** 从内核层开始的 Linux 防火墙实现。
五个递进式实验:编写一个“Hello World”内核模块、注册 Netfilter 钩子以检查和丢弃数据包、配置无状态 `iptables` 规则、升级到基于 `conntrack` 的状态化规则、添加速率限制,以及实现轮询 / 随机 DNAT 负载均衡。
→ [模块说明](firewall/README.md) · [实验笔记](firewall/experiment/README.md)
## IDS Snort
**主题:** 使用 Snort 进行网络入侵检测。
涵盖 Snort 的三种运行模式、编写自定义检测规则(ICMP、TCP、内容匹配),以及使用实时流量或 pcap 文件进行测试。
→ [模块说明](ids_snort/README.md)
## 十六进制工具
**主题:** 原始字节数据的异或密码。
一个 Python 实用工具,实现重复密钥异或——可用于解码混淆的 shellcode 或简单的异或加密载荷。
→ [模块说明](hex_tools/README.md)
## Windows 与 Linux 监控映射工具
**主题:** 跨平台诊断命令参考。
成对的 `.sh`/`.bat` 脚本,以及将 Windows CLI 工具(`netstat`、`tasklist`、`wevtutil`、`net user` 等)映射到其 Linux 等效工具(`ss`、`ps`、`journalctl`、`getent` 等)的对照表。
→ [模块说明](win_linux_monitor_mapping_utility/README.md)
## 仓库结构
```
security-code/
├── sniffing_and_spoofing/
│ ├── README.md ← build & usage guide
│ ├── *.c / *.py ← source code
│ ├── experiment/
│ │ ├── README.md ← detailed lab write-up
│ │ └── images/ ← lab screenshots
│ └── local/ ← course lab sheet (PDF)
├── ddos/
├── dns_lab/
├── dns_cache_poisoning/
├── firewall/
├── ids_snort/
├── hex_tools/
└── win_linux_monitor_mapping_utility/
```
每个模块遵循相同的结构:一个用于构建/使用的顶层 `README.md`,一个包含详细实验说明和图片的 `experiment/` 文件夹,以及一个包含原始课程材料(PDF)的 `local/` 文件夹。
标签:Bash, Batch, BIND, DDoS模拟, DNS安全, DNS缓存投毒, Docker, hex工具, hping3, ICMP欺骗, iptables, MAC随机化, Netfilter, Scapy, Snort规则, TCP欺骗, XOR密码, 加密工具, 安全实验, 安全实验室, 安全教学, 安全防御评估, 客户端加密, 情报分析, 抓包与欺骗, 网络安全, 网络诊断, 请求拦截, 逆向工具, 防火墙, 隐私保护