GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit virtualizaci pomocí skriptu Sys::Detect::Virtualization Perl?

Opožděně jsem začal pracovat na cloudovém bezpečnostním projektu, kde potřebuji zjistit typ hypervizoru, který provozuje virtuální počítač. Pro experiment jsem nastavil testovací prostředí založená na cloudové platformě OpenStack s KVM jako základním hypervizorem a také samostatný KVM s QEMU, Xen a VirtualBox. Cílem je spustit virtuální stroj nad těmito prostředími a zjistit, zda dokážu detekovat virtualizační technologii, která pohání aktuální VM. Naštěstí je to super snadné.

Poznámka: Existuje několik nativních příkazů Linuxu, jako je dmesg (analýza systémového protokolu), lshw, dmidecode atd..., které vám pomohou dokončit tuto práci – které se budu věnovat v samostatném tutoriálu.

Zde použiji „Sys::Detect::Virtualization ” perl skript, který si můžete stáhnout z tohoto odkazu.

Jak zjistit typ virtualizace z virtuálního počítače (VM)

Jakmile budete mít „Sys::Detect::Virtualization ” skript stažený z výše uvedeného odkazu, zkopírujte jej na virtuální počítač a nainstalujte jej, jak je uvedeno níže:

[root@vm ]# tar xvfz Sys-Detect-Virtualization-0.107.tar.gz
[root@vm ]# cd Sys-Detect-Virtualization-0.107
[root@vm Sys-Detect-Virtualization-0.107]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite ExtUtils::MakeMaker 6.59 not found. We have 6.30.
Warning: prerequisite Test::Deep 0 not found.
Warning: prerequisite Test::Exception 0 not found.
Warning: prerequisite Test::More 0.82 not found. We have 0.62.
Writing Makefile for Sys::Detect::Virtualization

Vyrobit

[root@vm Sys-Detect-Virtualization-0.107]# make
cp lib/Sys/Detect/Virtualization.pm blib/lib/Sys/Detect/Virtualization.pm
cp lib/Sys/Detect/Virtualization/linux.pm blib/lib/Sys/Detect/Virtualization/linux.pm
cp lib/Sys/Detect/Virtualization/freebsd.pm blib/lib/Sys/Detect/Virtualization/freebsd.pm
cp script/virtdetect blib/script/virtdetect
/usr/bin/perl "-Iinc" "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/virtdetect
Manifying blib/man1/virtdetect.1
Manifying blib/man3/Sys::Detect::Virtualization.3pm
Manifying blib/man3/Sys::Detect::Virtualization::freebsd.3pm
Manifying blib/man3/Sys::Detect::Virtualization::linux.3pm

Instalovat

[root@vm Sys-Detect-Virtualization-0.107]# make install
Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization.pm
Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization/linux.pm
Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization/freebsd.pm
Installing /usr/share/man/man1/virtdetect.1
Installing /usr/share/man/man3/Sys::Detect::Virtualization::freebsd.3pm
Installing /usr/share/man/man3/Sys::Detect::Virtualization::linux.3pm
Installing /usr/share/man/man3/Sys::Detect::Virtualization.3pm
Installing /usr/bin/virtdetect
Writing /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Sys/Detect/Virtualization/.packlist
Appending installation info to /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/perllocal.pod

Detekce virtualizace pomocí funkce virtdetect ‘ příkaz

[root@vm Sys-Detect-Virtualization-0.107]# virtdetect
Multiple possible virtualization systems detected:
 Linux KVM
 Qemu

Můžete také spustit „virtdetect ‘ v nevirtualizovaném prostředí, abyste viděli, co příkaz vypíše.

[peter@non-virtualized-machine ]$ virtdetect
No virtualization detected

Linux
  1. Jak nainstalovat moduly Perl ručně a pomocí příkazu CPAN

  2. Jak ve skriptu Python nastavím PYTHONPATH?

  3. Jak zajistit, aby skript Python běžel jako služba?

  1. Jak stahovat soubory ze serveru SFTP pomocí skriptu python

  2. Jak zkontrolovat přístup k internetu pomocí bash skriptu v linuxu?

  3. Jak ukončit terminál Linux pomocí skriptu Python?

  1. Jak spustit příkazy bash Linuxu ve skriptu PERL?

  2. Jak mohu spustit skript v Perlu jako systémový démon v linuxu?

  3. Jak nahradit mezery v názvech souborů pomocí bash skriptu