2009-08-29 7 views
6

Używamy adresów MAC do identyfikacji komputerów jako licencjonowanych do uruchamiania oprogramowania. (Nie przejmuj się podszywaniem się pod MAC, licencje są trudne do uzyskania :) Komputery mogą mieć wiele kontrolerów Ethernet (nie martwimy się też o przypadku, w którym go nie ma, nie spotkaliśmy takiej maszyny w ciągu 5 lat), a więc istnieje problem z niezawodnym wyborem stabilnego modelu .Jak uzyskać stabilny adres MAC na PC?

Myślałem, że mamy to przybite, ale nie. Używamy GetAdaptersInfo z modułu Microsoft SDK iphlpapi i idziemy w dół listy. Używamy ostatniego adaptera, ponieważ prawdopodobnie jest to kontroler Ethernet na płycie głównej . Niestety, natknęliśmy się na Thinkpad, który pojawia się , aby zmienić, który kontroler jest ostatni w zależności od tego, czy jest zadokowany, czy nie.

Czy istnieje sposób, aby niezawodnie znaleźć adres MAC kontrolera Ethernet na płycie głównej w systemie, jeśli istnieje? A dla tych płyt głównych, które mają 2 lub więcej, wybierz jeden z nich, który jest stabilny? [Gdybym wiedział, że zestaw jest oparty na płycie głównej, mogę łatwo wybrać najniższy adres MAC adresu ].

Odpowiedz

2

Nie - nie ma niezawodnego sposobu, aby to zrobić. Klucze USB są tanie i łatwe - użyj ich.

Miałem "przyjemność" z używania MAC zablokowanego oprogramowania przedtem i wszystko, co mogę powiedzieć, to nie robić tego.

+0

Zgadzam się. Jeśli przeszukaliśmy to oprogramowanie (i kilka wirtualnych środowisk), odrzucilibyśmy to ze względu na nieumyślny system licencjonowania MAC ... – gbn

+1

Sam miałem przyjemność. W moim przypadku oprogramowanie wybrało "wirtualny" adres MAC utworzony przez oprogramowanie VPN. Zgadnij, co się stało, gdy odinstalowałem oprogramowanie VPN? –

+0

Klucze nie są praktyczne dla 100 produktów (z których mamy odmianę). Pracują za 1000 USD produktów (z których mamy kilka). –

3

To błotnista sprawa. Jak radzisz sobie z wirtualizacją? Na moim komputerze mam kilka adapterów Ethernet, z których tylko jedna jest oparta na sprzęcie. Wszystkie moje maszyny wirtualne mają generowane przez oprogramowanie adresy MAC. Jeśli naprawdę chcę, mogę ustawić wiele maszyn wirtualnych na różnych komputerach z tym samym adresem MAC (oczywiście nie w tej samej sieci).

+0

Uzgodnione, to nie jest mądra metoda licencjonowania. PO powinien wdrożyć inny system. –

+0

A co sugerowałbyś, co jest maszyną wyjątkową? –

1

nie mam rozwiązanie, ale może być inny problem:

Istnieje oprogramowanie VPN, który tworzy wirtualną kartę sieciową i losowo przydziela nowy adres mac do tej karty za każdym razem, gdy ustanowieniu połączenia VPN.

+0

Potrzebuję adresu MAC kontrolera ethernetowego na płycie głównej. Prawdopodobnie nie jest to manipulowane przez VPN lub cokolwiek innego. –

2

Nie sądzę, że istnieje jakiś wiarygodny sposób określenia, który interfejs jest "stabilny". Na pewno nie bez zagłębiania się w szczegóły sprzętu.

Ale co, jeśli podszedłeś do tego w inny sposób. Użytkownik może wybrać interfejs z listy podczas instalacji, co prawdopodobnie nie jest zbyt przyjazne dla użytkownika. Lub po prostu zapisz wszystkie adresy MAC w systemie i uwierzytelnij tak długo, jak długo jest aktywny.

W celach informacyjnych można również zmienić kolejność wyświetlania zwrotów GetAdaptersInfo z menu Ustawienia zaawansowane w oknie Połączenia sieciowe.

+0

Trochę o tym, jak użytkownicy przetaczają je, nie cieszy mnie. Ale prawdopodobnie nie jest to duży problem; prawie nikt tego nie zrobi. –

1

Ja też stanąłem w obliczu tego samego problemu i znalazłem inne podejście here.

System Windows przechowuje opis fizycznych kart sieciowych w rejestrze na HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ NetworkCards. Ten sam opis jest również wymieniony w elemencie "Description" struktury IP_ADAPTER_INFO. Sądzę więc, że mogę sprawdzić, czy ta wartość figuruje w rejestrze, aby określić, czy adres MAC należy do fizycznej karty sieciowej, czy nie.