2009-08-29 50 views
6

我們正在使用MAC地址將PC標識爲許可運行軟件。 (不關心MAC欺騙;許可證很難得到:) 個人電腦可能有多個以太網控制器(我們也不用擔心 的情況,哪裏沒有;我們還沒有遇到過這樣的機器 5年),所以可靠地選擇一個穩定的 一個問題。如何獲得PC的穩定MAC地址?

我以爲我們有這個釘子,但顯然不是。我們使用Microsoft SDK iphlpapi模塊中的GetAdaptersInfo ,然後沿着列表走。 我們使用最後一個適配器,想必它是主板 以太網控制器。唉,我們遇到了一個Thinkpad,它出現 ,根據是否停靠,更改哪個控制器是最後一個。

有沒有辦法在系統上可靠地找到主板 以太網控制器的MAC地址(如果存在)?而對於那些有2個或更多的主板,請選擇其中一個穩定的主板? [如果我知道一套是基於主板的,我可以輕鬆選擇最低地址MAC]。

回答

2

不 - 沒有可靠的方法來做到這一點。 USB軟件狗便宜又容易 - 使用它們。

我曾經有過使用MAC鎖定軟件的「樂趣」,我只能說不這樣做。

+0

同意。如果我們忽略了這個軟件(以及幾個虛擬環境),我們會因爲一個無用的MAC許可系統而拒絕這個... – gbn 2009-08-29 12:15:01

+1

我有幸自己。就我而言,該軟件選擇了一個由VPN軟件創建的「虛擬」MAC地址。猜猜當我卸載VPN軟件時發生了什麼? – 2009-08-29 12:21:41

+0

對於100美元的產品(其中我們有多種產品),加密狗並不實用。他們工作1000美元的產品(其中我們有幾個)。 – 2010-03-13 19:54:08

3

這是一個渾濁的問題。你如何處理虛擬化?在我的機器上,我有幾個以太網適配器,其中只有一個實際上是基於硬件的。我的虛擬機都有軟件生成的MAC地址。而且,如果我真的想,我可以在具有相同MAC地址的不同計算機上設置多個虛擬機(當然不在同一個網絡上)。

+0

同意,這不是一個明智的許可方法。 OP應該實施另一個系統。 – 2009-08-30 02:08:14

+0

你會建議什麼,那是機器的獨特之處? – 2010-03-13 19:53:26

1

我沒有一個解決方案,但也有可能是另一個問題:

存在着創建一個虛擬網卡,隨機一個新的MAC地址,每一個VPN連接建立時間分配給該卡的VPN軟件。

+0

我想要的是主板上以太網控制器的MAC地址。這大概不會被VPN或其他任何東西弄亂。 – 2010-03-13 19:54:55

2

我不認爲有任何可靠的方法來確定哪個接口是「穩定的」。當然,不是沒有深入到硬件細節。

但是如果你以不同的方式接近這一點。您可以讓用戶從安裝列表中選擇界面,這可能不是非常用戶友好的。或者只要記錄系統中的所有MAC地址並進行身份驗證,只要其中一個仍處於活動狀態即可。

同樣供參考,GetAdaptersInfo返回的順序可以由用戶從網絡連接的高級設置菜單中更改。

+0

關於用戶拖動他們的位並不讓我高興。但可能不是一個大問題;幾乎沒有人會這樣做。 – 2010-03-13 19:55:42

1

我也面臨同樣的問題,並找到了不同的方法here

Windows將註冊表中物理網卡的描述存儲在HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ NetworkCards中。 IP_ADAPTER_INFO結構的「描述」成員中也列出了相同的描述。所以我想我可以檢查這個值是否在註冊表中,以確定MAC地址是否屬於物理網卡。