Python Forensics - wirtualizacja
Virtualizationto proces emulacji systemów IT, takich jak serwery, stacje robocze, sieci i pamięci masowe. To nic innego jak stworzenie wirtualnej, a nie rzeczywistej wersji dowolnego systemu operacyjnego, serwera, urządzenia magazynującego lub procesów sieciowych.
Główny składnik, który pomaga w emulacji wirtualnego sprzętu, jest zdefiniowany jako plik hyper-visor.
Poniższy rysunek wyjaśnia dwa główne typy stosowanych wirtualizacji systemu.
Wirtualizacja jest wykorzystywana w informatyce śledczej na wiele sposobów. Pomaga analitykowi w taki sposób, że stacja robocza może być używana w walidowanym stanie do każdego badania. Odzyskiwanie danych jest możliwe w szczególności przez dołączenie obrazu dd dysku jako dysku dodatkowego na maszynie wirtualnej. Ta sama maszyna może być używana jako oprogramowanie do odzyskiwania w celu zebrania dowodów.
Poniższy przykład pomaga w zrozumieniu tworzenia maszyny wirtualnej za pomocą języka programowania Python.
Step 1 - Niech maszyna wirtualna zostanie nazwana „dummy1”.
Każda maszyna wirtualna musi mieć 512 MB pamięci o minimalnej pojemności wyrażonej w bajtach.
vm_memory = 512 * 1024 * 1024
Step 2 - Maszyna wirtualna musi być podłączona do domyślnego klastra, który został obliczony.
vm_cluster = api.clusters.get(name = "Default")
Step 3 - Maszyna wirtualna musi zostać uruchomiona z wirtualnego dysku twardego.
vm_os = params.OperatingSystem(boot = [params.Boot(dev = "hd")])
Wszystkie opcje są łączone w obiekt parametrów maszyny wirtualnej przed użyciem metody dodawania kolekcji maszyn wirtualnych do maszyny wirtualnej.
Przykład
Poniżej znajduje się pełny skrypt Pythona do dodawania maszyny wirtualnej.
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
Wynik
Nasz kod wygeneruje następujący wynik -