YoinkingFishy/cybersecurity-learning-toolkit
GitHub: YoinkingFishy/cybersecurity-learning-toolkit
一个纯标准库实现的 Python 网络安全教育工具包,帮助初学者通过端口扫描、日志分析、文件完整性检查和 CTF 写作模板来理解并实践核心安全概念。
Stars: 0 | Forks: 0
# 网络安全学习工具包



## 概述
一个面向初学者到中级开发者的 Python 网络安全学习工具包。它包含四个
小型、专注且经过充分测试的项目,旨在教授核心安全概念,同时
遵循防御、教育和授权使用的原则:
1. **Python 端口扫描器** — 基于标准 `socket` 库构建的 TCP 连接扫描器。
2. **日志分析器** — 用于防御性日志解析和异常检测的工具。
3. **文件完整性检查器** — 哈希生成和基于清单的完整性验证。
4. **CTF Write-up 仓库** — 用于记录 CTF 挑战的结构化 Markdown 模板。
每个工具均仅使用 Python 的标准库。运行时无需任何
第三方依赖。
## 项目
### 1. Python 端口扫描器
一个 TCP 连接扫描器,适用于 localhost、私有实验室、CTF 环境以及
您被授权测试的系统。它将端口状态报告为 `open`、`closed`、`filtered` 或
`error`,并将结果导出为文本或 CSV。
```
python -m port_scanner.cli --target 127.0.0.1 --ports 22,80,443
python -m port_scanner.cli --target 127.0.0.1 --start-port 1 --end-port 100 --output results.csv --format csv
```
### 2. 日志分析器
一款防御性工具,用于解析 Apache 风格的访问日志、通用身份验证
日志以及导出的 Windows 事件日志 (CSV)。它能标记连续登录失败和
异常 IP 活动,随后生成包含推荐防御措施的报告。
```
python -m log_analyzer.cli --file examples/sample_apache.log --format apache
python -m log_analyzer.cli --file examples/sample_system.log --format auth --output report.json
```
### 3. 文件完整性检查器
计算文件的 SHA-256(或 MD5)哈希值,创建 JSON 哈希清单,并
根据受信任的基线验证文件。
```
python -m file_integrity.cli hash example.txt
python -m file_integrity.cli create-manifest file1.txt file2.txt --output manifest.json
python -m file_integrity.cli check-manifest manifest.json
```
### 4. CTF Write-ups
一个基于 Markdown 的知识库,按平台(TryHackMe, PicoCTF)组织,
具有固定的 Write-up 结构,其中始终包含经验教训和
防御性修复建议部分。
## 功能特性
- 100% Python 标准库(无运行时依赖)
- 全面采用类型提示、文档字符串,并严格遵循 PEP 8
- 全面的离线测试套件(`unittest`,无需互联网)
- 结构化、可重复的 CLI 接口
- 每个工具中都包含清晰的授权警告和道德指南
- 不提供任何攻击性、隐蔽性或规避性功能
## 环境要求
- Python 3.9 或更高版本
- 运行时无需第三方软件包
- `pytest`(可选),用于通过更好的运行器执行测试 — 参见 `requirements-dev.txt`
## 安装说明
```
git clone
cd cybersecurity-learning-toolkit
python -m venv .venv
```
激活虚拟环境:
Windows (PowerShell):
```
.venv\Scripts\activate
```
Linux/macOS:
```
source .venv/bin/activate
```
安装依赖(运行时无需任何依赖;`requirements-dev.txt` 仅
用于开发):
```
pip install -r requirements-dev.txt # optional, for pytest
```
## 使用方法
每个项目都有自己的 README,其中包含完整的命令参考和示例:
- `port_scanner/README.md`
- `log_analyzer/README.md`
- `file_integrity/README.md`
- `ctf_writeups/README.md`
快速示例:
```
# 扫描 localhost 上的一小部分端口
python -m port_scanner.cli --target 127.0.0.1 --ports 22,80,443
# 分析 Apache access log
python -m log_analyzer.cli --file examples/sample_apache.log --format apache
# 创建并验证 hash manifest
python -m file_integrity.cli create-manifest examples/sample_apache.log
python -m file_integrity.cli check-manifest manifest.json
```
## 项目结构
```
cybersecurity-learning-toolkit/
├── README.md
├── LICENSE
├── SECURITY.md
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
├── .gitignore
├── requirements.txt
├── requirements-dev.txt
├── pyproject.toml
├── port_scanner/
├── log_analyzer/
├── file_integrity/
├── ctf_writeups/
├── tests/
├── examples/
└── docs/
```
## 安全免责声明
**重要提示:** 本仓库仅供教育目的、
防御性安全研究、CTF 竞赛、个人实验室以及
授权的安全测试使用。
仅对您拥有或获得明确测试权限的系统
使用这些工具。
对于因使用本仓库而导致的误用、未经授权的访问、损坏或
非法活动,作者不承担任何责任。
## 授权使用
只有在满足以下至少一项条件时,您才可以使用此工具包:
- 目标系统属于您自己。
- 您已获得系统所有者的书面明确许可。
- 活动在授权的实验室或 CTF 环境中进行。
未经授权扫描或探测系统在许多
司法管辖区可能属于违法行为。您有责任了解并遵守
适用于您的法律。
## 道德准则
- 在运行任何工具之前,务必验证授权。
- 将测试活动限制在实验室环境内。
- 绝不使用这些工具访问您无权查看的数据。
- 负责任地报告您发现的漏洞,切勿首先将其公开。
- 使用 CTF Write-ups 来教导他人 — 不要逐字发布他人的
受版权保护的解决方案。
## 测试说明
测试套件仅使用标准库,绝不接触互联网。
```
python -m unittest discover -s tests -v
```
或使用 pytest:
```
pytest tests -v
```
## 贡献指南
在提交 Pull Request 之前,请阅读 `CONTRIBUTING.md`。
## 许可证
MIT — 参见 `LICENSE`。
标签:DNS 反向解析, Python, 安全规则引擎, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 隐私保护