自动化您的 VirtualBox 配置html
原文地址:medium.com/disruptive-…react
原文做者:medium.com/@0xbharath安全
发布时间:2017年6月7日 - 4分钟阅读bash
咱们在一些软件上常常会遇到一些不为人知但却很是方便的功能。VirtualBox就有这样一个功能,命令行。markdown
VBoxManage是VirtualBox的命令行界面。有了它,你彻底能够在主机操做系统的命令行中控制VirtualBox。VBoxManage支持GUI给你提供的全部功能,但它支持的功能远不止这些。它公开了虚拟化引擎的全部功能,甚至是那些没法(还不能)从GUI访问的功能。网络
幸运的是,VBoxManage有大量的文档,使生活变得简单。它涵盖了VBoxManage中的全部可用选项。若是你发现本身在使用 VBoxManage,文档是你的参考资料。less
VBoxManage文档oop
与其说是在官方文档中已经普遍涉及的内容,让本文成为VBoxManage的又一教程,不如说是我最近使用VirtualBox命令行解决的一个问题。ui
我开始在一个开放的安全社区举办研讨会。在开放社区举办研讨会的好处是,很难预测人们带着什么样的软件/硬件走进来。你必须意识到软件依赖性和硬件要求。spa
咱们计划举办一个关于网络侦查的研讨会。做为实验室设置的一部分,咱们面临着一系列的挑战。
这时,咱们没有太多选择,只能求助于老牌的VirtualBox,这时我认真考虑了VirtualBox命令行。
咱们建立了一堆虚拟机。其中一些虚拟机做为受害者,一个虚拟机做为实验室中的攻击者。咱们使用VirtualBox GUI从咱们的Linux机器中导出OVA格式的虚拟机。这时咱们有一个目录,里面有全部OVA格式的实验室虚拟机。
*nix
建立了一个bash脚本,为Windows建立了一个批处理文件,以使用VBoxManage自动导入实验室设置。bash脚本导入实验室虚拟机。
#!/usr/bin/env bash
VBoxManage import "victim1.ova"
VBoxManage import "victim2.ova"
VBoxManage import "attacker.ova"
printf "\n\nList of all the VMs\n------------------------\n"
VBoxManage list vms
复制代码
batch脚原本导入实验室虚拟机。
PATH=%PATH%;C:\Program Files\Oracle\VirtualBox
vboxmanage import "victim1.ova"
vboxmanage import "victim2.ova"
vboxmanage import "attacker.ova"
echo. && echo 'List of all VMs' && echo. && echo '-------------------------'
vboxmanage list vms
cmd \k
复制代码
*nix
的bash脚本和Windows的批处理文件来运行实验室。bash脚原本启动实验室。
#!/usr/bin/env bash
vboxmanage startvm "victim1" --type headless
vboxmanage startvm "victim2" --type headless
vboxmanage startvm "attacker"
printf "\n\nList of all the VMs running\n------------------------------\n"
vboxmanage list runningvms
复制代码
batch脚原本启动实验室。
PATH=%PATH%;C:\Program Files\Oracle\VirtualBox
vboxmanage modifyvm "victim1" --nic1 hostonly --hostonlyadapter1 "VirtualBox Host-Only Ethernet Adapter"
vboxmanage modifyvm "victim2" --nic1 hostonly --hostonlyadapter1 "VirtualBox Host-Only Ethernet Adapter"
vboxmanage modifyvm "attacker" --nic1 hostonly --hostonlyadapter1 "VirtualBox Host-Only Ethernet Adapter"
vboxmanage startvm "victim1" --type headless
vboxmanage startvm "victim2" --type headless
vboxmanage startvm "attacker"
echo. && echo 'List of all the running VMs' && echo. && echo '-------------------------'
vboxmanage list runningvms
cmd \k
复制代码
*nix
的bash脚本和Windows的批处理文件来优雅地关闭实验室。vboxmanage controlvm
有一个选项能够关闭正在运行的虚拟机。bash脚原本中止实验室。
#!/usr/bin/env bash
vboxmanage controlvm "victim1" poweroff
vboxmanage controlvm "victim2" poweroff
vboxmanage controlvm "attacker" poweroff
printf "\n\nList of all the VMs running\n------------------------------\n"
vboxmanage list runningvms
复制代码
批量文件来中止实验室。
PATH=%PATH%;C:\Program Files\Oracle\VirtualBox
vboxmanage controlvm "victim1" poweroff
vboxmanage controlvm "victim2" poweroff
vboxmanage controlvm "attacker" poweroff
echo. && echo 'List of all the running VMs' && echo. && echo '-------------------------'
vboxmanage list runningvms
cmd \k
复制代码
VBoxManage是VirtualBox提供的一个很是整洁而强大的界面。当你试图自动化你的虚拟环境时,特别是当你试图分发你的环境时,它就会很方便。本文探讨了这样一个问题的解决方案,这还不是冰山一角,找到一个问题/挑战,阅读VBoxManage文档,并享受其中的乐趣!
经过www.DeepL.com/Translator(免费版)翻译