2014-07-01 37 views
0

問題:如何獲得IP機短信ID,MAC地址,通過在asp.net mvc的內網Web應用程序的計算機的操作系統的詳細信息(無ActiveX對象)

我被困了中的問題我必須找到機器詳細信息(操作系統版本,操作系統體系結構,操作系統角色主機名,SCCM站點代碼,SCCM版本,IP地址,MAC地址)。

早些時候我使用activex對象,在其中使用activex在客戶端瀏覽器上下文中部署dll(使用C++代碼編寫並使用firebreath從ocx編譯的C++文件生成dll)。 Firebreath使用NPAPI。此本機代碼適用於所有瀏覽器(Chrome,Firefox,IE直到10)。

現在谷歌宣佈今年晚些時候不允許NPAPI後會產生問題。

看着在

因爲我找的上述細節是網絡用戶的細節,所以我一直在尋找到emscripten可以從C++代碼生成JavaScript在瀏覽器上下文中執行,並能得到我的細節,但經過很多嘗試後,我無法從我的C++代碼生成JavaScript代碼(我不確定爲什麼使用emcc命令使用emscripten編譯器生成js代碼時失敗,但無法找到atlbase.h)

這將是偉大的,如果任何人可以幫助我生成JS代碼使用emscript或者可以建議我使用互聯網應用程序獲取上述機器詳情的其他路線。我不希望使用WMI路線作爲我的web應用程序支持Mac機以及現代UI瀏覽器

鏈接emscripten - https://github.com/kripken/emscripten/wiki

+0

作爲服務器獲得客戶端IP應該是微不足道的(除非你想要它是本地IP)。任何方式,JavaScript都無法訪問任何這些細節。如果從C++編譯它並不重要。 – Cerbrus

+0

Cerbrus - 是的,你是對的這是不可能的,並獲得所有上述細節使用傳統的Javascript,但我不知道asm.js能夠訪問從傳統的JavaScript框架很多細節 – Prashant

+1

Emscripten生成asm.js也沒有任何特殊的訪問權限。 –

回答

1

唯一的選擇,我可以看到,將工作於Chrome瀏覽器Native Messaging;爲了獲得大部分我認爲你將不得不運行本機代碼。

您可能需要爲所有其他瀏覽器繼續使用FireBreath插件;我不知道其他可能有用的選項。我想js-ctypes可能在Firefox上工作。

+0

即使我的研究表明,爲了獲得上面提到的細節,我需要使用本地消息傳遞,但即使如此,它依賴於谷歌允許擴展獲取細節。擴展的缺點是每個Web應用程序都能夠獲得易受機器損壞的細節 – Prashant

+2

擴展可以限制在特定的域中;如何比NPAPI和ActiveX插件更安全? – smorgan

+0

是的,不得不同意斯圖爾特在這一個。擴展比插件更容易安全。此外,從字面上看,除了NPAPI插件(已被棄用)或本地消息傳遞外,沒有其他方法可以獲得您想要的內容。本地消息傳遞絕對是兩者中更加安全的,但安裝起來也更加痛苦(如果我理解正確),它需要管理權限進行安裝,並且必須與擴展分開安裝。 – taxilian

相關問題