воскресенье, 30 сентября 2012 г.

Windows: Как сменить MAC-адрес сетевой карты

Данная статья посвящена проблеме смене MAC-адреса в операционных системах класса Windows.

Внимание! Важно понимать разницу между сменой MAC-адреса на уровне драйвера и на аппаратном уровне. В первом случае меняются программные настройки драйвера и/или операционной системы. Во втором случае требуется перепрошивка памяти устройства, которая изменяет соответствующие параметры.

Я, например, не могу изменить MAC-адрес беспроводного (WiFi) сетевого адаптера "Atheros AR5B97 Wireless Network Adapter" на моём ноутбуке, а также на "виртуальном сетевом адаптере Microsoft замыкания на себя". Хотя в тоже время я могу изменить MAC-адрес "проводной" сетевой карты "Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20)". Странно, но факт.

Также рекомендуется ознакомиться со статьёй "Windows: Как узнать MAC-адрес сетевой карты".
Итак, существует несколько способов изменить MAC-адрес.

Способ 1. Используя свойства драйвера

Это наиболее популярный и простой способ. Все действия для изменения MAC-адреса показаны на следующем рисунке:



  • В диспетчере устройств выбрать требуемый сетевой адаптер. И в контекстном меню выбрать "Свойства".
  • В окне свойств на вкладке "Общие" нажать на кнопку "Изменить параметры". Появиться вкладка "Дополнительно".
  • На вкладке "Дополнительно" в перечне свойств необходимо выбрать "Сетевой адрес" или "Network Address" и указать новый MAC-адрес.
  • Затем нажать "ОК". В этот момент происходит программное отключение и подключение устройства, после которого виден новый MAC-адрес.
  • Закрыть "Диспетчер устройств".

Внимание! Как выяснилось опытным путём не все MAC-адреса воспринимаются ОС Windows корректно. Формально MAC-адрес настроек драйвера изменяется, но фактически используется и отображается при запросе старый родной MAC-адрес. При этом для одного адаптера такой глюк наблюдается, для другого - нет. Кто виноват и что делать - я не знаю.

Например, у меня ни в какую не принимаются MAC-адреса: 44D3CAD9D0FC и ab0987654321. Хотя с первым MAC-адресом имеется реальное устройство.

Кто хочет реально разобраться в причине, рекомендую почитать: http://blog.technitium.com/2011/05/tmac-issue-with-wireless-network.html

Способ 2. Используя параметры реестра

Этот способ эквивалентен предыдущему, но изменение MAC-адреса происходит через реестр.
Данные по MAC-адресам находятся в параметре
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\XXXX\NetworkAddress
который имеет тип REG_SZ.

Вместо XXXX нужно открыть раздел требуемого устройства. Что за устройство можно прочитать в параметре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\XXXX\DriverDesc

Если параметра "NetworkAddress" нет, значит используется родной MAC-адрес для данного устройства. Поэтому при смене необходимо создать или изменить этот параметр. После требуется программно отключить и подключить сетевой адаптер, чтобы изменения вступили в силу. Сделать это можно, например, через диспетчер устройств.

Способ 3. Используя программы

По сути, эти программы реализуют логику описанную в способе 2 и никакого чуда не творят.

Примеры таких программ:
  • macshift (бесплатная; работает из командной строки);
  • Ryll MAC Editor (бесплатная; графический интерфейс; родной сайт умер, но можно найти копии программы в интернете);
  • Technitium MAC Address Changer v6 (бесплатная; графический интерфейс).

Комментариев нет:

Отправить комментарий