Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Labtainers — Labtainers:一个基于Docker的网络实验室框架 | Kitploit
工具/GitHubGitHub/mfthomps/labtainers
漏洞分析取证分析Web安全网络安全数字取证密码学CTF渗透测试入侵检测学习与教育二进制利用实验室与实践
31079774天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
GitHubmfthomps/labtainers

Labtainers

Labtainers:一个基于Docker的网络实验室框架

查看仓库网站
分享

Labtainers:基于 Docker 的网络实验框架

Labtainers 包含 50 多个网络实验练习和用于构建自定义实验的工具。导入单个 VM 设备 或在 Linux 系统上安装,学生即可完成配置和管理设置,适用于当前及未来的实验练习。

  • 通过 Docker 容器实现一致的实验执行环境和自动化配置
  • 在性能适中的笔记本电脑上实现多组件网络拓扑
  • 自动评估学生的实验活动和进度
  • 个性化实验练习,防止学生共享答案

Labtainers 提供受控且一致的执行环境,学生完全在自己的计算机范围内完成实验,不受学生计算机上安装的 Linux 发行版和软件包的影响。Labtainers 可在我们的 [VM 设备][vm-appliancee] 上运行,也可在任何安装了 Docker 的 Linux 上运行。此外,Labtainers 还可作为基于云的 VM 使用,例如在 Azure 上,详见 学生指南。

安装和使用请参阅 学生指南,学生评估请参阅 教师指南。开发和自定义实验练习请参阅 设计者指南。 有关该框架的更多信息,请参阅 论文。 Labtainers 网站及下载(包括预装 Labtainers 的 VM 设备)位于 https://nps.edu/web/c3o/labtainers。

发行版创建时间:09/11/2026 11:33
修订版本:v1.4.4n
提交:9f1012dc
分支:master

内容

分发与使用

目录指南

支持

发行说明

分发与使用

请参阅 docs/license.md 文件 中的许可和分发信息。

目录指南

  • scripts/labtainers-student -- 用于运行和 测试学生实验的工作目录。你必须在该目录下才能运行 学生实验。

  • scripts/labtainers-instructor -- 用于 运行和测试自动评估以及查看学生 结果的工作目录。

  • labs -- 每个实验特有的文件

  • setup_scripts -- 用于安装 Labtainers 和 Docker 以及更新 Labtainers 的脚本

  • docs -- labdesigner.pdf 的 latex 源文件及其他文档。

  • UI -- Labtainers 实验编辑器源代码(Java)。

  • headless-lite -- 用于管理 Docker Workstation 和 Labtainers 云实例(没有原生 X11 服务器的系统)的脚本。

  • scripts/designer -- 用于构建新实验和管理基础 Docker 镜像的工具。

  • config -- 系统级配置设置(这些不是 实验特定的配置设置)。

  • distrib -- 分发支持脚本,例如用于将实验发布到 Docker hub。

  • testsets -- 测试过程和预期结果。(SimLab 的每个实验的驱动程序不 分发)。

  • pkg-mirrors -- 用于内部 NPS 软件包镜像的实用脚本,以减少测试和分发期间的外部 软件包拉取。

支持

请使用 GitHub 问题报告,或发送电子邮件至 [email protected]

另请参阅 https://my.nps.edu/web/c3o/support1

发行说明

标准 Labtainers 发行版不包含开发 新实验所需的文件。如需这些文件,请从 labtainer/trunk/setup_scripts 目录运行 ./update-designer.sh。

安装脚本和 update-designer.sh 脚本会设置环境变量, 因此你可能需要注销/登录,或在首次使用 Labtainers 之前 启动一个新的 bash shell。

2026 年 1 月 6 日

  • 修复了因缩进导致安装脚本中引入的 bug。

2025 年 12 月 30 日

  • 将 checkwork 报告格式修改为垂直显示;无头模式的视频指南;便捷路径

2025 年 10 月 15 日

  • 修订 packet-introspection 实验,更新 maxmind 地理位置数据库的链接,并注明使用旧版数据库。

2025 年 4 月 24 日

  • 修复 imodule,使其根据 pull request #96 正确创建缺失的目录

2024 年 11 月 22 日

  • 替换了 google cloud VM,这次是因为容器内 systemd 故障。

2024 年 9 月 23 日

  • 替换了 google cloud VM,其使用了错误的 Docker 版本

2024 年 9 月 10 日

  • 创建 imodule 路径时的拼写错误

2024 年 7 月 26 日

  • 修改 capinout,不再使用 grantpt clib 函数,该函数现在从容器中运行时似乎会崩溃。

2024 年 7 月 22 日

  • 添加 Ubuntu22 的基础容器,并对框架进行更改以支持它。

2024 年 7 月 5 日

  • 迁移到 Ubuntu 24 作为 VM 设备
  • docker python 包使用了损坏的 python http 库,需要降级软件包。
  • 使用虚拟 python 环境以避免 Ubuntu 对 python 软件包的锁定。
  • 添加启动参数以允许在容器和 VM 之间共享 systemd。
  • 重定向更新时损坏的 tar 工具产生的错误消息。
  • Ubuntu 更新导致 msc 软件包损坏(参见 update-ubuntu.sh),针对版本 18 VM
  • docker-compose 命令已损坏,请使用 "docker compose"
  • 在无头 labtainers 中强制设置 socket 权限。
  • 更新无头 Labtainers 以使用 Ubuntu 24

2023 年 11 月 27 日

  • 为 ec2 机器上的 ubuntu22 添加 Google Cloud Platform 选项。

2023 年 9 月 18 日

  • 之前的修复实现存在缺陷。

2023 年 8 月 8 日

  • 处理 DockerHub 镜像 json 格式的变更。感谢 Kees!

2023 年 4 月 17 日

  • 强制使用最新的实验版本,例如使用 iptables2 而非 iptables。修复 tab 补全以仅显示最新版本。(Issue #77)
  • CyberCIEGE 实验安装因 X11 竞态条件而失败。(Issue #76)
  • 在 CyberCIEGE readme 中注明,引导学生将收集的日志保存到 $HOME 目录。(Issue #75)
  • Radius 实验 checkwork 错误地报告 "radiusd not running",缺少 prestop 脚本。(Issue #74)
  • 当使用 MACVLAN_EXT 选项时,Labedit 损坏了启动配置文件。(Issue #73)

2023 年 2 月 1 日

  • 非默认用户的 Bash 历史记录未被保存。 2023 年 1 月 26 日
  • 修改 gcloud 的 powershell 脚本,使用所选区域来限定 VM 名称。 2023 年 1 月 4 日
  • 使用 systemd 的容器在 Ubuntu 22 中较新的 systemd 上失败
  • 为 google cloud 脚本添加 --zone 参数,其值从 set_defaults 脚本派生。 2022 年 12 月 21 日
  • 修复 xforge 结果标准,不再期望路径名,并添加检查以查看是否发出了 POST 来编辑配置文件。并修复攻击者 http 服务器以从主目录运行。 2022 年 12 月 19 日
  • 添加 strace 实验以介绍系统调用跟踪。
  • 如果 /tmp/.X11-unix 目录中有多个设备,X11 DISPLAY 值不正确。
  • 使用不带参数的 python/bash/sh/etc 会导致 capinout 崩溃。 2022 年 12 月 9 日
  • 修改 Azure vm 创建脚本,使用来自 Azure Community Gallery 的预构建 Labtainer VM 镜像。
  • 云 VM 上的终端在启动期间或右键单击终端时因未知原因崩溃。尝试 通过启动/停止终端来解决。 2022 年 12 月 5 日
  • 收集工件时,包含来自非默认用户目录的已修改文件,例如他们的 bash 历史记录。
  • 修改 web 评估以显示新的 "其他用户" 文件。
  • 在工件中包含每个容器上 .local/bin 中的文件。旨在使这些文件可通过 web 评估供教师使用。
  • 在 ACL 实验中,将 /shared_data/bob/fun 文件包含在结果中,供教师参考。
  • 捕获命令行中 "sh" 或 "bash" 的使用,并在解析给定命令时跳过,例如对 "time" 或 "sudo" 所做的那样。
  • 在 tcpip 实验中,在后续实验会话期间无法 ssh 到服务器,/run/sshd 目录未被重新创建。 2022 年 11 月 16 日
  • 修复 snort 实验中 Snort 手册的路径。
  • 在 ossec 手册中,修复 manage_agents 的路径 2022 年 10 月 12 日
  • Google cloud 从 gnome-terminal 命令中移除后台操作符,右键单击时仍会崩溃 但在运行 newterm.sh 后似乎稳定了。 2022 年 10 月 10 日
  • 修复 Google cloud newterm.sh;将该启动磁盘扩展到 30G。 2022 年 9 月 20 日
  • 在实验手册中注明 TCP/IP 实验的用户 ID 和密码。 2022 年 8 月 30 日
  • 从容器的 .profile 设置 DISPLAY 时使用 X11 socket 名称 2022 年 8 月 9 日
  • 修复 grader 中 processValueMax 函数的名称。Issue #63

2022 年 8 月 4 日

  • labedit 程序使用错误的 JDK 重新构建,导致较旧的 JRE 无法运行 labedit

2022 年 7 月 18 日

  • 在 IModules 中创建基于 Ubuntu20 的容器失败。Issue #61。

2022 年 3 月 23 日

  • 修复 tap 锁目录的路径;此前导致使用网络 tap 的实验失败
  • 更新 plc-traffic netmon 计算机,使其具有 java 环境中新 grassmarlin 所需的 openjfx
  • 通过避免 chown -R 来加速实验启动,这在 docker 中非常慢。
  • 再次尝试避免删除容器 /tmp 目录中的 X11 链接。
  • 修复 webtrack 对访问站点的计数,并移除 live-headers 目标,该工具已不再可用。 澄清了一些实验手册步骤。

2022 年 3 月 2 日

  • 添加新的 ssh-tunnel 实验(感谢 GWD!)
  • 修复 labedit 未能反映 new_lab_setup 设置的 X11 值
  • 添加不参数化容器的选项

2022 年 2 月 23 日

  • 在添加新容器后,labedit 损坏了 start.config
  • 学生 README 文件中学生指南的路径不正确;为云配置动态更改
  • update-labtainer.sh 的扩展名不正确
  • Msc 指南增强
  • 更新 ghidra 实验以包含 Ghidra 10.1.2 版本

2022 年 2 月 15 日

  • 将 Azure 云支持恢复为为每个学生进行配置。Azure 不鼓励共享资源。

2022 年 1 月 24 日

  • Azure 云现在使用存储在 Azure blob 中的镜像,而不是为每个学生进行配置。
  • 添加对 Google Cloud 的支持。

2022 年 1 月 19 日

  • 在 Azure 云上引入 Labtainers。有关如何使用它的详细信息,请参阅学生指南。

2022 年 1 月 3 日

  • 修订 setuid-env 实验以添加更好的评估;simlab 测试并避免 printenv 子进程中的 sighup。
  • 修复评估目标计数指令,以排除结果标签值为 false 的情况。
  • 当使用带有 debug 选项启动的 grader 运行 gradelab -a 时,不要求 labname。
  • 修订 capinout(stdin/stdout 镜像)以处理命令进程子进程的孤儿化,改进文档 和错误处理。
  • 添加首次运行实验时正在拉取的 docker 镜像的进度条显示。
  • 向用户反馈容器初始化进度。
  • pcap-lib 实验缺少自动评估所需的 notify 文件;从实验手册中移除多余步骤。

2021 年 11 月 23 日

  • 在测试 VM 上禁用 ubuntu 弹出错误。
  • 修复不同 DISPLAY 变量格式的处理。

2021 年 10 月 22 日

  • 修订 tcpip 实验指南,注明成功的 syn-flood 攻击是不可能的。修复其自动评估并添加 SimLab 脚本。
  • 将工件文件扩展名从 zip 更改为 lab,并添加前导内容以迷惑 GUI 文件管理器。学生此前会打开 zip 并提交其内容。
  • 将 gradelab 的 -r 选项设为默认,添加 -c 选项用于 grader 的累积使用。
  • 修改 refresh_mirror 以引用本地发布日期,避免频繁查询 DockerHub。每次此类查询都算作一次镜像拉取, 而他们现在正试图将其货币化。

2021 年 9 月 30 日

  • 更改 bufoverflow 实验指南和评分,不再期望在开启 ASLR 时成功,评估其是否运行过。
  • web grader 在缺少学生结果时的错误处理。
  • 运行已弃用实验时打印警告。
  • 更改 formatstring 评分,移除未使用的 "_leaked_secret" 描述并澄清 leaked_no_scanf 的值。
  • 同时更改 formatstring 评分,允许易受攻击的可执行文件使用任意名称。

2021 年 9 月 29 日

  • Gradelab 错误处理,减少因损坏的 zip 文件导致的崩溃实例。
  • 将 stdout 工件文件限制为 1MB

2021 年 9 月 17 日

  • Ghidra 实验指南中的 IP 地址错误,未从源重新制作。

2021 年 9 月 14 日

  • 使用 SSL 的 LDAP 和 Mariadb 示例实验。旨在作为新实验的模板。
  • 处理 Mariadb 日志格式
  • 添加每个容器的参数以限制 CPU 使用或将容器固定到 CPU 集。
  • Labpack 创建现在可通过 GUI(makepackui)使用。
  • labtainer、labpack 和 gradelab 命令的 Tab 补全。
  • 使用 MPI 的新并行计算实验 ``parallel''。

2021 年 8 月 3 日

  • 添加 "WAIT_FOR" 配置选项,使容器延迟参数化,直到 另一个容器完成其参数化。
  • 在结果解析中支持 Mariadb 日志格式
  • 移除对 Mac 和 Windows 使用 Docker Desktop 的支持。该产品太不稳定,我们无法支持。
  • 当用户使用内置 bash 命令(如 "which")时抑制 stderr 消息。
  • makepack/labpack 程序的 bug 修复。

2021 年 7 月 19 日

  • 添加 DNS 实验以介绍 DNS 协议和配置。
  • 修订 VirtualBox 设备镜像,使其以正确的更新脚本启动。
  • 将 resolv.conf nameserver 参数从 lab_gw 配置字段中拆分出来,作为独立值。
  • 如果在任何实验启动之前运行,IModule 命令会失败。

2021 年 7 月 5 日

  • DISPLAY 环境变量管理中的错误破坏了 Docker Desktop 上的 GUI 应用程序。

2021 年 7 月 1 日

  • 支持 Mac 软件包安装无头 Labtainers。
  • routing-basics 实验自动评估因缺少 treataslocal 文件而失败
  • 更正 routing-basics 实验中的拼写错误和错误地址,并修复自动评估。
  • pcapanalysis 的评估失败。

2021 年 6 月 10 日

  • 所有实验手册 PDF 现在都在 github 仓库中
  • 将 vpnlab 和 vpnlab2 说明转换为 PDF 实验手册。
下载工具