Python 取证 - 虚拟化


虚拟化是模拟服务器、工作站、网络和存储等 IT 系统的过程。它只不过是创建任何操作系统、服务器、存储设备或网络进程的虚拟版本而不是实际版本。

有助于模拟虚拟硬件的主要组件被定义为虚拟机管理程序

下图解释了所使用的两种主要系统虚拟化类型。

虚拟化类型

虚拟化已以多种方式应用于计算取证。它可以帮助分析人员在每次调查中以经过验证的状态使用工作站。特别是,通过将驱动器的 dd 映像附加为虚拟机上的辅助驱动器,可以实现数据恢复。同一台机器可以用作恢复软件来收集证据。

以下示例有助于理解使用 Python 编程语言创建虚拟机。

步骤 1 - 将虚拟机命名为“dummy1”。

每个虚拟机的最小容量必须为 512 MB(以字节为单位)。

vm_memory = 512 * 1024 * 1024

步骤 2 - 虚拟机必须连接到已计算的默认集群。

vm_cluster = api.clusters.get(name = "Default")

步骤 3 - 虚拟机必须从虚拟硬盘驱动器启动。

vm_os = params.OperatingSystem(boot = [params.Boot(dev = "hd")])

在使用 vms 集合的 add 方法添加到虚拟机之前,所有选项都会组合成一个虚拟机参数对象。

例子

以下是用于添加虚拟机的完整 Python 脚本。

from ovirtsdk.api import API #importing API library
from ovirtsdk.xml import params

try: #Api credentials is required for virtual machine
   api = API(url = "https://HOST", 
      username = "Radhika", 
      password = "a@123", 
      ca_file = "ca.crt")
      
   vm_name = "dummy1"
   vm_memory = 512 * 1024 * 1024 #calculating the memory in bytes
   vm_cluster = api.clusters.get(name = "Default")
   vm_template = api.templates.get(name = "Blank")
   
   #assigning the parameters to operating system
   vm_os = params.OperatingSystem(boot = [params.Boot(dev = "hd")])
   
   vm_params = params.VM(name = vm_name,
      memory = vm_memory,
      cluster = vm_cluster,
      template = vm_template
      os = vm_os)

   try: 
      api.vms.add(vm = vm_params) 
      print "Virtual machine '%s' added." % vm_name #output if it is successful. 
   except Exception as ex: 
      print "Adding virtual machine '%s' failed: %s" % (vm_name, ex) 
      api.disconnect()
      
except Exception as ex: 
   print "Unexpected error: %s" % ex

输出

我们的代码将产生以下输出 -

虚拟化输出