LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

操作系統(tǒng)能知道自己是在虛擬機(jī)中運(yùn)行的嗎?


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

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

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…

這是電影《黑客帝國(guó)1》中的經(jīng)典場(chǎng)景之一。墨菲斯(Morpheus)邀請(qǐng)尼奧(Neo)做出一個(gè)決定,選擇紅藥丸還是藍(lán)藥丸——選擇追求真相還是沉迷虛假。

?

運(yùn)行在虛擬機(jī)中的操作系統(tǒng)與生活(被奴役)在矩陣中的居民面臨同樣的問(wèn)題,它們能夠感知到自己運(yùn)行在一個(gè)虛幻的環(huán)境中嗎?或者說(shuō),它們能夠區(qū)分自己是運(yùn)行在真正的硬件上,還是由 Oracle VirtualBox、VMware 等虛擬機(jī)軟件創(chuàng)建的“矩陣”中呢?

真巧,Oracle(先知)一詞出現(xiàn)在了一篇以黑客帝國(guó)開(kāi)場(chǎng)的文章中

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


例如,這里在蘋(píng)果的 macOS 上安裝了 Oracle VirtualBox,又在新建的虛擬機(jī)中安裝了 Ubuntu。那 Ubuntu 是否知道自己運(yùn)行在虛擬機(jī),而不是 mac 中呢?

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

  1. $ systemd-detect-virt

  2. oracle

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

該命令的工作原理其實(shí)不難:通過(guò)一系列預(yù)設(shè)的探索策略,檢查運(yùn)行在虛擬機(jī)中的操作系統(tǒng)的“隱秘角落”,尋找真相。

比如,最簡(jiǎn)單的策略之一就是掃描如下文件:

  • /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

若在其中發(fā)現(xiàn) VirtualBoxVMwareAmazonEC2QEMU 等關(guān)鍵詞,就可以知道自己是運(yùn)行在對(duì)應(yīng)的虛擬機(jī)中。

/sys/class/dmi 是什么

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

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

systemd-detect-virt 命令的其他策略還包括探索 /proc/device-tree//sys/hypervisor/ 等路徑的內(nèi)容。當(dāng)無(wú)法從這些特殊的文件中找到有價(jià)值的信息時(shí),該命令還會(huì)執(zhí)行 x86 架構(gòu) CPU 中的一條特殊指令 CPUID,以此來(lái)獲取虛擬環(huán)境的信息。

此外,該命令還能判斷操作系統(tǒng)是否運(yùn)行在 Docker、LXC 等容器中。

除了 systemd-detect-virt 命令, hostnamectl 命令也能輸出有關(guān)操作系統(tǒng)運(yùn)行環(huán)境的信息。


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


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

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.

正如墨菲斯所說(shuō),你認(rèn)為眼見(jiàn)為實(shí), systemd-detect-virt 也是這樣“想”的,它會(huì)優(yōu)先根據(jù)從 /sys/class/dmi/id/中看到的內(nèi)容為判斷依據(jù),接收來(lái)自此處的信號(hào)。

那我是不是能通過(guò)篡改這些文件,從而讓操作系統(tǒng)誤以為運(yùn)行在另一個(gè)虛擬空間中呢?理論上是可以的,只不過(guò)看看那些文件的權(quán)限。

  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. ...

“矩陣”不想讓你醒來(lái)。


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

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
最新国产福利小视频在线观看 | 欧美亚洲另类在线一区 | 在线看片AV观看AV | 亚洲另类欧美综合在线je80 | 色一情一乱一伦一区二区三区 | 一本一本久久久精品综合不卡 |