Как обойти ограничение первого октета для MAC-адресов беспроводных адаптеров в Windows 8.1

6816
ag415

В Windows 8.1 имеется «функция», ограничивающая значения, которые вы можете установить для MAC-адреса беспроводного сетевого адаптера (примечание: это ограничение не распространяется на сетевые адаптеры), даже если сам сетевой адаптер не содержит ограничений и предоставляет вам все возможности изменить MAC-адрес на любое значение, которое вам нравится (что можно подтвердить, загрузившись в любую другую ОС, такую ​​как BSD или Linux, и изменив там MAC-адрес)

Этот вопрос уже задавался здесь: Измените Windows 7/8 Wi-Fi Mac Address на пользовательское значение

Однако пользователи, которые ответили, проигнорировали то, что сказал автор, и предоставили инструкции по изменению mac-адреса с помощью методов, которые он (и я) уже используют для его изменения. Эти методы не обходят ограничение, и вы по-прежнему можете изменять адрес только на значения, соответствующие следующим шаблонам:

X2-XX-XX-XX-XX-XX

X6-XX-XX-XX-XX-XX

XA-XX-XX-XX-XX-XX

Х-XX-XX-XX-XX-XX

Так, например, если вы измените MAC-адрес на 02:E3:14:D7:4C:00, изменение вступит в силу. Если вы попытаетесь изменить его на 24:E3:14:D7:4C:00, оно не вступит в силу. Это значение будет по-прежнему отображаться в поле «сетевой адрес» в дополнительных настройках драйвера, но ОС принудительно вернет mac-адрес к значению по умолчанию для этой карты.

Также вот несколько скриншотов, чтобы проиллюстрировать проблему:

изменение mac-адреса работает, если первый октет равен 02

изменение mac-адреса завершается неудачно, если первый октет 24

Чтобы добавить оскорбление к травме, этот вопрос пользователя также был неправильно помечен как дубликат общего вопроса, спрашивающего, как изменить mac-адреса в целом . Это не то, что он спрашивал, и это не то, что я спрашиваю. Поэтому, прежде чем ответить, пожалуйста, убедитесь, что вы понимаете, что я спрашиваю:

Я НЕ спрашиваю, как изменить мой MAC-адрес в целом. Я знаю, как это сделать. Я знаю способ его изменения в расширенном меню адаптера, я знаю способ его изменения с помощью командной строки, я знаю способ изменить его, отредактировав реестр, я знаком с распространенными инструментами изменения MAC-адресов, такими как TMAC, SMAC, macshift и т. д. Все эти инструменты являются просто абстракциями для методов, перечисленных выше. Я УЗНАЮ все эти методы УЖЕ.

Я ЕСМЬ спрашиваю, как изменить адрес макинтоша успешно к чему - то, что не начинается с 02, 06, 0A или 0E на ОС Windows 8.1, потому что есть «функция» в операционной системе, которая переопределяет любое значение, вы установите его к MAC-адресу сетевой карты по умолчанию, если первый октет не является одним из этих значений . Другими словами, я спрашиваю, есть ли какой-либо способ отключить эту функцию ограничения или как-то обойти ее.

1
Так что просто быстрое обновление, у кого-то есть видео на YouTube с (очень) хакерским обходным решением для этого ограничения, передав управление беспроводным USB-адаптером виртуальной машине, работающей под управлением другой ОС, не имеющей этого ограничения, и затем соединяя виртуальный Сетевой адаптер, предоставленный VMware, который подключается к виртуальной машине к адаптеру Ethernet хоста OS. Некоторое время назад я думал о чем-то похожем, но надеялся, что смогу найти что-то менее хакерское (например, программу или процедуру отключения ограничения октетов в Windows). посмотрите видео здесь https://www.youtube.com/watch?v=VYsTklYzKGw ag415 7 лет назад 0
Когда я редактирую это через реестр и затем перезагружаюсь, это действительно позволяет этому придерживаться. Я использовал ваш пример MAC-адреса выше: 24: E3: 14: D7: 4C: 00 n8te 7 лет назад 0
Это на windows 8.1? Wmic или ipconfig показывают, что аппаратный адрес под адаптером? @ n8te ag415 7 лет назад 0
Протестировано и проверено на Win 8.1 и 10. И да, это видно при выполнении ipconfig / all n8te 7 лет назад 0
Я написал полный ответ, но затем вернулся и прочитал ваш пост еще раз и понял, как вы уже попробовали метод редактирования реестра. Но, возможно, мы делаем это по-другому. n8te 7 лет назад 0
@ n8te Я попробовал твой метод, но он не сработал. Я все еще вижу оригинальный назначенный производителем mac-адрес в ipconfig после изменения mac. Я попытался изменить свойство «NetworkAddress» в реестре в разделе HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Class \ \ 0023 (моя сетевая карта № 23). Я также попытался зайти в HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Class \ \ 0023 \ params \ NetworkAddress и изменить там значение «По умолчанию», но безрезультатно. ag415 7 лет назад 0
Измененные значения, которые я ввел для обоих полей NetworkAddress в реестре, все еще там, но когда я включаю карту, ОС, кажется, перезаписывает ее обратно на MAC-адрес производителя ag415 7 лет назад 0
Хм странно. На обоих из них он остается постоянным после перезагрузок и отключения / включения сетевых карт. n8te 7 лет назад 0
@ n8te - это беспроводные или сетевые карты, на которые вы меняете MAC-адрес? Из того, что я понимаю, это ограничение касается только беспроводных карт ag415 7 лет назад 0
Ах, хорошо, это может быть. Мои локальные сети. n8te 7 лет назад 0
@ n8te я обновил свой вопрос, чтобы он был более понятным ag415 7 лет назад 0
Я достану свой ноутбук, поиграюсь с ним и посмотрю, есть ли способ обойти его. n8te 7 лет назад 0
Почему `ControlSet001`? Изменения должны быть внесены в CurrentControlSet. Appleoddity 7 лет назад 0
@Appleoddity CurrentControlSet просто выглядит как псевдоним ControlSet001 на моей машине ag415 7 лет назад 0
Это не так. Изменения всегда выполняются в CurrentControlSet. Папки ControlSetXXX - это не просто псевдонимы. Они чередуются, и сделанные там изменения могут никогда не попасть в вашу живую систему. Appleoddity 7 лет назад 0
хорошо, я только что проверил CurrentControlSet, и все значения, которые я ввел для MAC-адреса, также отображаются там ag415 7 лет назад 0

1 ответ на вопрос

2
ag415

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

Имейте в виду, однако, что этот метод является FAR с довольно, и потребует значительного объема ресурсов. Соединение также будет страдать от некоторой дополнительной задержки (но все равно будет использоваться).

Чтобы использовать этот метод, вам понадобится:

После того, как вы установили проигрыватель VMWare и загрузили образ Kali Linux, вот что вы делаете:

  • Убедитесь, что ваш USB-адаптер Wi-Fi подключен
  • Откройте образ Kali Linux VMWare и убедитесь, что в настройках его сети указано «Только хост»
  • Загрузите образ Kali Linux в VMWare Player.
  • В меню настроек проигрывателя VMWare выберите «Съемные устройства» -> (имя вашего USB-адаптера) -> «Подключиться» (отключиться от хоста)
    • Примечание. Вы больше не сможете использовать адаптер непосредственно на хост-компьютере. Управление устройством будет передано на виртуальную машину Kali Linux.
  • Подождите, пока Kali Linux обнаружит устройство и включит его.
    • Если по какой-либо причине он не появляется сам по себе, вам может понадобиться специальный драйвер для него. Google - твой друг (во всяком случае, для поиска драйверов)

Теперь в гостевой ВМ :

  • Подключитесь к нужной беспроводной сети и установите нужный MAC-адрес в свойствах подключения.
    • Зайдите в Настройки -> Сеть -> Wi-Fi
    • Нажмите на значок справа от имени сети
    • Перейти в личность
    • Введите нужный MAC-адрес в поле клонированного адреса.
    • Нажмите Применить и снова подключитесь к сети.
  • Вернитесь в окно настроек сети (Настройки -> Сеть)
  • Выберите ваше (виртуальное) подключение к сети Ethernet («Проводной»)
  • Нажмите Cog настройки и перейдите к Identity
  • Убедитесь, что флажок «Сделать доступным для других пользователей» установлен и нажмите «Применить».
  • Откройте терминал и запустите nm-connection-editor
  • Нажмите «Добавить»
  • Из списка выберите «Ethernet» и нажмите «Создать»
  • Зайдите в настройки IPv4
  • В раскрывающемся меню «Метод» выберите «Общий для других компьютеров»
  • Дайте соединению соответствующее имя, например «Поделиться через Ethernet» или «Microsoft сосет»
  • Теперь вернитесь к основным настройкам сети (Настройки -> Сеть)
  • Выберите «Проводной» снова
  • Теперь вы должны увидеть новое соединение, которое вы установили там. Если он еще не подключен, вы можете нажать на него, чтобы подключить его. Запишите IP-адрес его использования (в моем случае его 10.42.0.1)

Теперь на главном компьютере (в вашей коробке Windows):

  • Перейдите в Центр управления сетями и общим доступом -> Изменить настройки адаптера.
  • Щелкните правой кнопкой мыши «Сетевой адаптер VMWare VMnet1» и выберите «Свойства»
  • Выберите «Протокол Интернета версии 4 (TCP / IPv4)» и нажмите «Свойства»
  • Установите флажок «Использовать следующий IP-адрес» и введите следующее
    • Для IP-адреса установите его в качестве уникального адреса в той же сети, что и гостевой адаптер Ethernet. Так что, если адаптер Ethernet вашей гостевой виртуальной машины использует xxx1, вы можете использовать xxx2. В моем случае я использовал10.42.0.2
    • Используйте ту же маску подсети, что и гостевая виртуальная машина. В моем случае это было255.255.255.0
      • Вы можете проверить это с ifconfig eth0 | grep netmaskгостем
    • Для шлюза по умолчанию введите IP, который ваш гость использует на своем адаптере Ethernet (т.е. 10.42.0.1)
    • Введите тот же IP в поле Предпочитаемый DNS-сервер.
    • Нажмите ОК
  • Нажмите OK еще раз

Теперь у вас должен быть рабочий туннель от интерфейса VMNet1 вашей хост-системы к интерфейсу wlan0 на гостевой ОС через интерфейс eth0 (туннель к туннелю, хех.). Вы можете использовать гостевую систему для подмены macs и делать все, что вы хотите с карта без BS произвольных ограничений Microsoft

Я попытаюсь найти более элегантный способ сделать это, так как я не очень большой поклонник Linux. В идеале я хотел бы создать компактную виртуальную машину на базе BSD только для CLI, чтобы справиться с этим вместо запуска раздутого дистрибутива Linux, но в то же время этот метод работает для меня и, надеюсь, он поможет другим, сталкивающимся с той же проблемой.

Также обратите внимание, что вы можете сделать что-то подобное с отдельным физическим устройством (например, Raspberry Pi) вместо виртуальной машины, если у вас есть (к сожалению, у меня нет другого устройства на данный момент), основная концепция такая же, только вы есть еще один шаг для беспокойства (настройка виртуального сетевого адаптера.)