YoinkingFishy/cybersecurity-learning-toolkit

GitHub: YoinkingFishy/cybersecurity-learning-toolkit

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

Stars: 0 | Forks: 0

# 网络安全学习工具包 ![License](https://img.shields.io/github/license/YoinkingFishy/cybersecurity-learning-toolkit) ![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?logo=python&logoColor=white) ![Tests](https://img.shields.io/badge/tests-unittest-blue) ## 概述 一个面向初学者到中级开发者的 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, 安全规则引擎, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 隐私保护