我有一臺VMWARE ESX服務器。我在該服務器上運行Redhat虛擬機。我需要一種編程方式來測試我是否在虛擬機中運行。理想情況下,我想知道如何從Perl中做到這一點。如何判斷我是否在VMWARE虛擬機(從linux)中運行?
9
A
回答
8
3
VMWare有幾個SDK,包括一個SDK for Perl。
2
我認爲(取決於esx的版本),您可以檢查NIC的MAC地址。在VMWare NIC中運行的VM將有一個製造商字符串分配給VMWare,沒有物理NIC MAC。 (我們試圖欺騙MAC到VM許可證服務器,新版本不會讓你這樣做。)另外,這並不能保證你沒有運行在一個僞造NIC的物理盒子上,看起來像VMWare,但無論如何,這在大多數情況下都是很奇怪的事情。
4
您不應該100%依賴於任何方法,因爲它們是未公開的功能/錯誤 - 它們適用於某些主機操作系統和某些虛擬化解決方案,但不能保證它們將繼續工作;事實上,虛擬化的整體觀點應儘可能與真實金屬無法區分。考慮到這一點,(在this similar question的接受答案中提到)似乎正在工作......暫時。
0
運行以下命令:
lspci | grep VMware
它應該顯示是這樣的:
00:0f.0 VGA兼容控制器:VMware的SVGA II適配器
00:11.0 PCI橋:VMware PCI橋(rev 02)
00:15.0 PCI橋:VMware PCI Express根端口(rev 01)
相關問題
- 1. 如何判斷廚師是否在虛擬機上運行
- 2. 如何判斷MIDIEndpointRef是否爲虛擬?
- 3. 在VMWare虛擬機中運行Vagrant
- 4. 如何判斷虛擬機是否位於Xen 6虛擬機監控程序
- 5. 從VMware CLI在Guest虛擬機中運行遠程進程
- 6. 如何判斷我的jQuery代碼是否在iFrame中運行?
- 7. 如何判斷我的Javascript代碼是否在Jint中運行?
- 8. 如何判斷WCF服務是否在主機上運行?
- 9. 如何判斷AIX機器是否在power7 cpu上運行?
- 10. 如何檢測vmware播放器上運行的linux guest虛擬機中斷開的串口?
- 11. Windows Vista虛擬機錯誤:客戶機中未運行VMware Tools
- 12. 如何判斷我的Titanium應用程序是否在模擬器上運行?
- 13. 如何判斷虛擬內核地址是否有效?
- 14. 如何在linux虛擬機中運行節點項目?
- 15. 如何判斷我是否在網絡服務器下運行?
- 16. 我的Perl程序如何判斷是否在mod_perl下運行?
- 17. 虛擬機從DVD運行?
- 18. 如何檢測腳本是否在虛擬機上運行?
- 19. 訪問vmware虛擬機
- 20. VMWare虛擬機服務器
- 21. 如何在vmware虛擬機中運行時獲取鍵盤輸入?
- 22. 從VMware虛擬機讀取文件
- 23. 如何判斷是否在Linux控制檯中運行而不是在ssh會話中運行?
- 24. 在VMware虛擬機上運行的Android Studio:未安裝KVM
- 25. 如何判斷虛擬機是在服務器還是客戶端模式下運行?
- 26. 如何判斷我的Android應用是否由InstrumentationTestRunner運行?
- 27. python程序如何判斷它是否在emacs中運行?
- 28. 如何判斷(VB)代碼是否在Visual Studio中運行?
- 29. 如何判斷代碼是否從Visual Studio/Cassini本地運行
- 30. 如何判斷makefile是否從交互式shell運行?
Virtualbox可以讓你輸入你想要的任何MAC地址 – 2009-02-12 15:45:53