GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendeteksi Virtualisasi menggunakan Sys::Detect::Virtualization Perl script?

Terlambat, saya mulai mengerjakan proyek keamanan Cloud di mana saya perlu mendeteksi jenis hypervisor yang menjalankan mesin virtual. Untuk percobaan, saya telah menyiapkan lingkungan pengujian berdasarkan platform cloud OpenStack dengan KVM sebagai hypervisor yang mendasarinya dan juga KVM mandiri dengan QEMU, Xen, dan VirtualBox. Idenya adalah untuk memulai mesin virtual di atas lingkungan ini dan melihat apakah saya dapat mendeteksi teknologi virtualisasi yang menggerakkan VM saat ini. Untungnya, ini sangat mudah.

Catatan: Ada beberapa perintah Linux asli seperti dmesg (menganalisis log sistem), lshw, dmidecode dll... yang membantu Anda menyelesaikan pekerjaan ini – yang akan saya bahas dalam tutorial terpisah.

Di sini, saya akan menggunakan “Sys::Detect::Virtualization ” skrip perl, yang dapat Anda unduh dari tautan ini.

Cara mendeteksi jenis Virtualisasi dari Mesin Virtual (VM)

Setelah Anda memiliki “Sys::Detect::Virtualization ” script yang diunduh dari tautan di atas, salin ke mesin virtual dan instal seperti yang ditunjukkan di bawah ini:

[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

Buat

[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

Pasang

[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

Deteksi Virtualisasi menggunakan ‘virtdetect ‘perintah

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

Anda juga dapat menjalankan 'virtdetect ' pada lingkungan non-virtual untuk melihat apa yang dihasilkan perintah.

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

Linux
  1. Cara mengganti spasi pada nama file menggunakan skrip bash

  2. Dalam skrip Python, bagaimana cara mengatur PYTHONPATH?

  3. Bagaimana cara membuat skrip Python dijalankan sebagai layanan?

  1. Bagaimana cara mengecek akses internet menggunakan skrip bash di linux?

  2. Bagaimana cara Keluar dari terminal Linux menggunakan skrip Python?

  3. Bagaimana cara menambahkan pekerjaan crontab ke crontab menggunakan skrip bash?

  1. Bagaimana menjalankan perintah bash Linux dalam skrip PERL?

  2. Bagaimana saya bisa menjalankan skrip node js saya secara otomatis menggunakan penjadwal di server

  3. Skrip Perl berjalan tanpa batas - bagaimana cara men-debug apa yang terjadi?