GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo detectar la virtualización usando Sys::Detect::Virtualization Perl script?

Tarde, comencé a trabajar en un proyecto de seguridad en la nube en el que necesito detectar el tipo de hipervisor que ejecuta una máquina virtual. Para el experimento, configuré entornos de prueba basados ​​en la plataforma en la nube OpenStack con KVM como hipervisor subyacente y también KVM independiente con QEMU, Xen y VirtualBox. La idea es iniciar una máquina virtual sobre estos entornos y ver si puedo detectar la tecnología de virtualización que alimenta la VM actual. Afortunadamente, es muy fácil.

Nota: Hay pocos comandos nativos de Linux como dmesg (analizando el registro del sistema), lshw, dmidecode etc... que te ayude a realizar este trabajo, que cubriré en un tutorial separado.

Aquí, voy a usar "Sys::Detect::Virtualization ” perl script, que puede descargar desde este enlace.

Cómo detectar el tipo de virtualización de una máquina virtual (VM)

Una vez que tenga "Sys::Detect::Virtualization ” script descargado desde el enlace anterior, cópielo en una máquina virtual e instálelo como se muestra a continuación:

[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

Hacer

[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

Instalar

[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

Detectar virtualización usando 'virtdetect ‘ comando

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

También puede ejecutar 'virtdetect ' en un entorno no virtualizado para ver qué genera el comando.

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

Linux
  1. Cómo descargar archivos del servidor SFTP usando el script de python

  2. Cómo instalar módulos Perl manualmente y usando el comando CPAN

  3. ¿Cómo puedo ejecutar un script de Perl como un demonio del sistema en Linux?

  4. ¿Cómo salir de la terminal de Linux usando el script de Python?

  5. ¿Cómo puedo ejecutar mi script de nodo js automáticamente usando el programador en el servidor?

Cómo sincronizar archivos de dos vías usando Osync Script en Linux

Cómo configurar la ejecución automática de un script de Python usando Systemd

Cómo instalar módulos Perl usando CPAN en CentOS 8

Cómo monitorear el rendimiento de Ubuntu usando Netdata

Cómo instalar módulos Perl usando CPAN en CentOS 8

¿Cómo instalar módulos Perl usando cPanel?