欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

操作系統能知道自己是在虛擬機中運行的嗎?


2024年12月18日 11:35 本文熱度 302

這是最后的機會,之后你將無法回頭。服下藍藥丸,故事結束,你會在床上醒來,繼續信任你愿意相信的一切。服下紅藥丸,你將留在仙境,我會帶你走進兔子洞,告訴你真相有多深……記住,我所提供的,只有真相,僅此而已……”

This is your last chance. After this there is no turning back. You take the blue pill, the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill, you stay in Wonderland, and I show you how deep the rabbit hole goes… Remember, all I’m offering is the truth, nothing more…

這是電影《黑客帝國1》中的經典場景之一。墨菲斯(Morpheus)邀請尼奧(Neo)做出一個決定,選擇紅藥丸還是藍藥丸——選擇追求真相還是沉迷虛假。

?

運行在虛擬機中的操作系統與生活(被奴役)在矩陣中的居民面臨同樣的問題,它們能夠感知到自己運行在一個虛幻的環境中嗎?或者說,它們能夠區分自己是運行在真正的硬件上,還是由 Oracle VirtualBox、VMware 等虛擬機軟件創建的“矩陣”中呢?

真巧,Oracle(先知)一詞出現在了一篇以黑客帝國開場的文章中

答案是取決于具體情況,但有些線索能夠幫助操作系統判斷身在何處。


例如,這里在蘋果的 macOS 上安裝了 Oracle VirtualBox,又在新建的虛擬機中安裝了 Ubuntu。那 Ubuntu 是否知道自己運行在虛擬機,而不是 mac 中呢?

只需要在 Ubuntu 中執行一條命令就可以知道答案:

  1. $ systemd-detect-virt

  2. oracle

這里輸出了“oracle”,證明 Ubuntu 是知道自己運行在 Oracle VirtualBox 中的。

該命令的工作原理其實不難:通過一系列預設的探索策略,檢查運行在虛擬機中的操作系統的“隱秘角落”,尋找真相。

比如,最簡單的策略之一就是掃描如下文件:

  • /sys/class/dmi/id/product_name

  • /sys/class/dmi/id/sys_vendor

  • /sys/class/dmi/id/board_vendor

  • /sys/class/dmi/id/bios_vendor

  • /sys/class/dmi/id/product_version

若在其中發現 VirtualBox、 VMwareAmazonEC2QEMU 等關鍵詞,就可以知道自己是運行在對應的虛擬機中。

/sys/class/dmi 是什么

在 Linux 系統中, /sys/class/dmi 是一個虛擬文件系統路徑(執行 mount 命令可以看到, sysfs on/sys type sysfs(rw,noexec,nosuid,nodev)),用于訪問有關硬件系統的信息,尤其是與 DMI(Desktop Management Interface)相關的數據。

DMI 是一種用于在計算機系統中管理硬件的信息接口,提供系統廠商( sys_vendor)、主板( board_vendor)、BIOS( bios_vendor)等詳細信息。

systemd-detect-virt 命令的其他策略還包括探索 /proc/device-tree/、 /sys/hypervisor/ 等路徑的內容。當無法從這些特殊的文件中找到有價值的信息時,該命令還會執行 x86 架構 CPU 中的一條特殊指令 CPUID,以此來獲取虛擬環境的信息。

此外,該命令還能判斷操作系統是否運行在 Docker、LXC 等容器中。

除了 systemd-detect-virt 命令, hostnamectl 命令也能輸出有關操作系統運行環境的信息。


尼奧選擇了紅藥丸,隨后墨菲斯告知尼奧現在差不多是 2199 年,而不是他以為的 1999 年。這時,墨菲斯提出了一個核心問題,什么是真實?


什么才是真實?你怎么定義‘真實’?如果你說的‘真實’是你能觸摸到的、能聞到的、能品嘗到的、能看到的,那‘真實’其實就是你大腦解讀的電信號。”

What is real? How do you define real? If you’re talking about what you can feel, what you can smell, what you can taste and see, then real is simply electrical signals interpreted by your brain.

正如墨菲斯所說,你認為眼見為實, systemd-detect-virt 也是這樣“想”的,它會優先根據從 /sys/class/dmi/id/中看到的內容為判斷依據,接收來自此處的信號。

那我是不是能通過篡改這些文件,從而讓操作系統誤以為運行在另一個虛擬空間中呢?理論上是可以的,只不過看看那些文件的權限。

  1. -r--r--r-- 1 root root 4096 Dec  4 19:11 /sys/class/dmi/id/bios_vendor

  2. -r--r--r-- 1 root root 4096 Dec  4 19:11 /sys/class/dmi/id/board_vendor

  3. -r--r--r-- 1 root root 4096 Dec  4 19:13 /sys/class/dmi/id/chassis_vendor

  4. -r--r--r-- 1 root root 4096 Dec  4 18:45 /sys/class/dmi/id/sys_vendor

  5. ...

“矩陣”不想讓你醒來。


該文章在 2024/12/18 18:14:35 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved