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密码, 加密工具, 安全实验, 安全实验室, 安全教学, 安全防御评估, 客户端加密, 情报分析, 抓包与欺骗, 网络安全, 网络诊断, 请求拦截, 逆向工具, 防火墙, 隐私保护