Учебники

Python Forensics — Виртуализация

Виртуализация — это процесс эмуляции ИТ-систем, таких как серверы, рабочие станции, сети и хранилище. Это не что иное, как создание виртуальной, а не фактической версии любой операционной системы, сервера, устройства хранения или сетевых процессов.

Основной компонент, который помогает в эмуляции виртуального оборудования, определяется как гипервизор .

На следующем рисунке показаны два основных типа используемой виртуализации системы.

Типы виртуализации

Виртуализация использовалась в компьютерной экспертизе рядом способов. Это помогает аналитику таким образом, что рабочая станция может использоваться в проверенном состоянии для каждого исследования. Восстановление данных возможно, если подключить образ виртуальной машины как дополнительный диск к виртуальной машине. Эта же машина может быть использована в качестве программного обеспечения для сбора доказательств.

Следующий пример помогает понять создание виртуальной машины с помощью языка программирования Python.

Шаг 1 — Пусть виртуальная машина будет иметь имя «dummy1».

Каждая виртуальная машина должна иметь 512 МБ памяти в минимальном объеме, выраженном в байтах.

vm_memory = 512 * 1024 * 1024

Шаг 2. Виртуальная машина должна быть подключена к кластеру по умолчанию, который был рассчитан.

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

Шаг 3 — Виртуальная машина должна загружаться с виртуального жесткого диска.

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

Все параметры объединяются в объект параметров виртуальной машины, прежде чем использовать метод add коллекции vms для виртуальной машины.

пример

Ниже приведен полный скрипт 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

Выход

Наш код выдаст следующий результат: