Содержание
- Способ 1: Наклейка на устройстве
- Способ 2: Веб-интерфейс маршрутизатора
- TP-Link
- ZyXEL
- ASUS
- Способ 3: Командная строка в Windows
- Способ 4: Меню «Свойства» в Windows
- Вопросы и ответы
MAC-адрес роутеру присваивается еще на стадии производства каждой модели и является уникальным. Он выступает в роли аппаратного идентификатора, который необходим для взаимодействия с устройством в операционной системе или в том же веб-интерфейсе маршрутизатора. Определить его не так сложно, как это может показаться на первый взгляд, ведь адрес считается открытым и доступен к просмотру любому пользователю, который обладает целевым девайсом или подключен к нему.
Способ 1: Наклейка на устройстве
Этот вариант подойдет только в тех ситуациях, когда юзер может взять маршрутизатор в руки и посмотреть на его корпус. На панели сзади или снизу есть наклейка с основной информацией. Обычно к ней обращаются для того, чтобы узнать данные для авторизации в веб-интерфейсе, однако среди этих сведений там печатается и физический адрес. Отыщите блок со штрих-кодом, который называется «WAN MAC», чтобы определить MAC-адрес. Возможный вариант расположения надписей на такой наклейки вы видите на представленном далее изображении.
Способ 2: Веб-интерфейс маршрутизатора
Для выполнения следующей инструкции потребуется быть подключенным к роутеру через Wi-Fi или кабель локальной сети, ведь придется авторизовываться в веб-интерфейсе. Практически в любой реализации данного меню процесс определения MAC-адреса происходит практически-одинаково, а самое главное сейчас — войти в интернет-центр, о чем развернуто читайте далее.
Подробнее:
Определение логина и пароля для входа в веб-интерфейс роутера
Вход в веб-интерфейс роутеров
Решение проблемы с входом в конфигурацию роутера
Теперь мы предлагаем на примере трех разных представлений веб-интерфейсов разобраться с получением интересующей информации, а также вкратце расскажем о том, как быть тем юзерам, кто клонировал MAC-адрес.
TP-Link
Компания TP-Link — один из самых популярных производителей сетевого оборудования с привычным для многих интерфейсом интернет-центра, поэтому мы остановились на его устройствах в первую очередь. Для определения локального MAC-адреса нужно только выполнить авторизацию, чтобы оказаться в разделе «Состояние». Там обратите внимание на строки «LAN». Пример расположения сведений указан на следующем скриншоте.
Однако локальный адрес не всегда совпадает с тем, что находится на наклейке самого устройства, ведь там даже указано, что этот параметр относится к WAN. Чтобы определить его, просто опуститесь ниже в том же разделе «Состояние» и в блоке «WAN» найдите интересующее значение.
Если вы ранее уже клонировали MAC-адрес, присвоив роутеру значение компьютера, он может не отображаться в упомянутом выше меню, поэтому придется поступить немного другим образом.
- Через левое меню переместитесь в «Сеть».
- Здесь выберите категорию «Клонирование MAC-адреса».
- Посмотрите на поле «MAC-адрес в сети WAN». Сейчас вы можете его восстановить, если это нужно.
- После клонирования MAC в двух полях будет одинаков.
ZyXEL
Следующим рассмотрим веб-интерфейс от ZyXEL Keenetic, чей внешний вид немного отличается от общепринятого. После авторизации в интернет-центре вы попадаете в раздел «Монитор». Здесь посмотрите на блок «Домашняя сеть», где и определите MAC-адрес устройства. При необходимости его можно без проблем скопировать, выделив и зажав комбинацию клавиш Ctrl + C.
Если к текущему маршрутизатору подключен любой другой роутер и вы знаете его IP-адрес, чуть ниже в этом же разделе найдите блок «MAC-адреса клиентов». Посмотрите на присутствующую таблицу и отыщите необходимый физический адрес.
ASUS
Роутеры от компании ASUS обладают самыми продвинутыми и слегка запутанными интерфейсами, в связи с чем расскажем о таких моделях тоже. Главное меню у них называется «Карта сети», а LAN MAC-адрес отображается справа внизу, где показаны основные сведения о локальной сети.
При необходимости переключитесь к беспроводной точке доступа, где вы тоже сможете просмотреть ее физические адреса, только учитывайте, что некоторые модели поддерживают функционирование на двух разных частотах одновременно, соответственно, MAC-адреса могут различаться.
Принцип поиска нужной информации в других моделях маршрутизаторов, которые не попали в разбор этого способа, примерно такой же. В большинстве случаев не требуется переходить к другим разделам или меню, ведь необходимая информация отображается в главном окне.
Способ 3: Командная строка в Windows
При помощи одной простой консольной команды определить MAC-адрес роутера можно и через операционную систему, не запуская при этом браузер и какие-либо сторонние программы. Для этого произведите следующие действия:
- Откройте «Пуск» и запустите оттуда «Командную строку», например, отыскав приложение через поиск.
- Пропишите
ipconfig
и нажмите на Enter. - Через несколько секунд на экране появится общая карта сети, где нужно найти основной шлюз. Это IP-адрес роутера, который мы и будет использовать для получения MAC в дальнейшем. Есть и другие возможные варианты определения этого IP. Детальнее о них читайте далее.
Подробнее: Определение IP-адреса роутера
- Затем введите команду
ping + определенный ранее IP
. - Эта команда отвечает за проверку обмена информации между устройствами. Если ответы пришли быстро и потерь не обнаружено, переходите далее.
- Основная команда, отвечающая за определение MAC-адреса, имеет вид
arp -a
. - После ее активации слева появится список с адресами в интернете. Изучите его, отыщите подходящий IP и узнайте его физический адрес.
Этот метод является универсальным и позволяет узнать определенный MAC-адрес или IP в зависимости от того, какие исходные данные заранее известны пользователю. Если вас заинтересовала тема поиска подобных сведений, рекомендуем взглянуть на статьи по ссылкам ниже.
Подробнее:
Определение IP устройства по MAC-адресу
Поиск по MAC-адресу
Способ 4: Меню «Свойства» в Windows
Последний метод сегодняшнего материала подразумевает использование стандартной функциональности операционной системы для определения физического MAC-адреса устройства. Для этого пользователю нужно лишь открыть соответствующее меню в настройках сетевого адаптера и найти подходящие сведения. Выполнение этой процедуры займет не более минуты.
- Откройте «Пуск» и перейдите в «Параметры».
- Там вас интересует категория «Сеть и Интернет».
- В разделе «Состояние» щелкните по кликабельной надписи «Изменить свойства подключения».
- Опуститесь вниз по списку, где отыщите «Физический адрес (MAC)». При необходимости его можно скопировать, нажав по специально отведенной кнопке.
Как видно, определение MAC-адреса любого маршрутизатора не займет у пользователя много времени вне зависимости от того, какой для этого метод был выбран. Теперь, обладая соответствующей информацией, вы можете настраивать межсетевой экран роутера или осуществлять другие действия, связанные с его физическим адресом.
Обновлено:
Опубликовано:
Что такое MAC-адрес?
Для того, чтобы узнать MAC-адрес сетевой карты нужно выполнить одно из нескольких возможных действий, описанных ниже. Данная инструкция позволит узнать физический адрес в системах на базе Windows. Она подойдет как для проводных сетевых адаптеров, так и WiFi.
Способ 1. Команда ipconfig /all
1. Нажимаем правой кнопкой по Пуск — выбираем Командная строка или Windows PowerShell:
* в Windows 7 и XP нажимаем Пуск — Выполнить. Вводим команду cmd и нажимаем OK.
2. В командной строке набираем:
ipconfig /all
… нажимаем Enter;
3. Находим пункт «физический адрес» — это и есть MAC-адрес (если на вашем компьютере установлено несколько сетевых карт, то пунктов «физический адрес» может быть несколько):
Способ 2. Состояние адаптера
Переходим в Панель управления\Сеть и Интернет\Сетевые подключения — для этого можно просто ввести команду:
control /name Microsoft.NetworkAndSharingCenter
… и перейти в Изменение параметров адаптера:
В открывшемся окне кликаем дважды по сетевому адаптеру, для которого хотим узнать mac-адрес — Сведения — смотрим поле «Физический адрес»:
Как узнать MAC-адрес роутера
Что такое роутер?
Для того, чтобы узнать MAC-адрес роутера достаточно просто посмотреть на его нижнюю сторону и найти наклейку с надписью «MAC».
Однако, данный способ не позволяет, как правило, увидеть физические адреса всех сетевых интерфейсов роутера. Для получения более детальной информации, заходим в настройки через веб-интерфейс и находим пункт «Состояние» или «Статус» — в нем можно увидеть MAC-адреса различных сетевых интерфейсов: WAN, LAN, WiFi.
Зачем нужно знать MAC-адрес
Чаще всего, MAC-адрес нужно узнать, чтобы сообщить интернет-провайдеру, так как последний использует его для идентификации клиентов.
Также, возможно, мы захотим поменять физический адрес компьютера, присвоив ему адрес другого компьютера. Это может потребоваться по той же озвученной выше причине — так как провайдер нас ограничивает по MAC-адресу, при смене компьютера мы можем просто поменять физический адрес, вместо обращения в техническую поддержку поставщика Интернет. Подробнее о смене в инструкции Как поменять MAC-адрес на компьютере с Windows.
Была ли полезна вам эта инструкция?
Да Нет
Для регистрации абонентов и предоставления доступа в интернет провайдеры используют привязку к MAC-адресу сетевого устройства. Такая процедура необходима как для идентификации клиента, так и для правильной работы протокола Ethernet. Чтобы облегчить жизнь абонентам и службе поддержки провайдеров, была придумана функция клонирования MAC адресов.
Содержание
- Зачем это нужно?
- Определение
- Клонирование через админ-панель
- ASUS
- D-Link
- Zyxel Keenetic
- TP-Link
- Изменение для сетевой карты
- Заключение
- Задать вопрос автору статьи
Зачем это нужно?
MAC адрес – это уникальный идентификатор, который присваивается каждой единице оборудования. Клонирование Мак-адреса позволяет заменять реальный физический адрес на виртуальный. Как бы временно прописать второй адрес, наделив его всеми полномочиями первого.
Сделав это, при замене роутера не нужно обращаться к провайдеру с просьбой дать доступ в интернет новому маршрутизатору. Достаточно изменить MAC-адрес на тот, с которым роутеру предоставляется доступ в интернет (то есть прописать физический Мак-адрес старого роутера в новый). Как это сделать? Для начала определите идентификатор нужного вам маршрутизатора.
Определение
Подробно о том, как узнать MAC маршрутизатора, читайте здесь.
Быстрый и легкий способ определения физического адреса маршрутизатора – посмотреть его на развороте корпуса. Он указан на наклейке, как MAC, вместе с остальной информацией.
Если к роутеру подключен компьютер, смартфон или планшет, узнать Мак можно через админку в разделе «Состояние» – «Локальная сеть». Это начальная страница с основной информацией о роутере.
Далее информацию можно передать провайдеру (если смотрели идентификатор незарегистрированного маршрутизатора). Или же поменять Мак-адрес этого роутера в настройках другого, но как это сделать? Достаточно выполнить пару операций в параметрах сетевого устройства.
Клонирование через админ-панель
Как клонировать идентификатор роутера, рассказывается в следующем видео:
Для этого понадобится подключенный к роутеру по сети компьютер. У различных производителей сетевых устройств данная функция может размещаться в различных местах веб-интерфейса.
ASUS
Как изменить Мак-адрес роутера ASUS? Все довольно просто:
- Откройте вкладку «Интернет».
- В одном из разделов найдите поле с MAC и измените его на нужный.
D-Link
Популярные модели DIR-615, DIR-300 и прочие роутеры D-Link позволяют клонировать физический адрес в разделе «Сеть» – «WAN».
Чтобы попасть в этот раздел, нужно нажать «Расширенные настройки» или «Настройка вручную» на основной странице веб-интерфейса.
Zyxel Keenetic
Прописывать идентификатор нужно в разделе «Интернет» — «Подключение».
Далее в поле «Использовать MAC–адрес» выберите «Введенный».
TP-Link
Расскажу, как настроить Мак-адрес через настройки роутера:
- Откройте веб-интерфейс по указанному на обороте доступу.
- Введите данные для авторизации, также указанные на обратной стороне корпуса устройства.
- Найдите раздел «Клонирование MAC-адреса» в разделе «Сеть».
- Впишите 12 символов нужного идентификатора в первой строке вместо того, который указан.
- Затем нажмите «Применить».
Вы всегда сможете откатиться к реальному физическому адресу, нажав «Восстановить заводской».
Изменение для сетевой карты
Дополнительно можно клонировать MAC-адрес компьютера (автоматически прописав его в первом поле), с которого вы управляете в админке, если привязка к интернету сделана провайдером по физическому адресу сетевой карты ПК. Можно поступить наоборот, и прописать MAC маршрутизатора в свойствах сетевой карты.
Это понадобится, если временно нужно подключить кабель от провайдера не к маршрутизатору, а напрямую к компьютеру. Клонирование в операционной системе Windows 10 происходит следующим образом:
- Комбинацией клавиш + R вызовите строку «Выполнить» и пропишите команду mmc devmgmt.msc.
- В диспетчере устройств откройте «Сетевые адаптеры», клацните ПКМ по нужному устройству и выберите «Свойства».
- В разделе «Дополнительно» выберите строку «Locally Administered Address» или в русской локализации «Сетевой адрес».
- В строке «Значение» пропишите 12-ти символьный MAC.
- Готово. Жмите «ОК» для применения изменений.
Заключение
Замена MAC-адреса проводится в панели администратора роутера и не вызывает сложностей. Так как провайдеры продолжают делать привязку к физическому идентификатору сетевого оборудования, функция клонирования MAC помогает использовать один зарегистрированный физический адрес для любого устройства, которому нужно предоставить интернет напрямую, подключившись от Ethernet-кабеля провайдера.
У любого устройства, способного подключиться к глобальной сети, есть специальный идентификатор, который называется MAC-адрес. Зачастую он нужен для настройки сетевого подключения. MAC-адрес является одной из основных характеристик сетевого адаптера, поэтому информация о нём содержится во множестве инструментов, встроенных в операционную систему.
Если для настройки оборудования вас просят прописать (или назвать) MAC-адрес, нужно для начала его найти. Вот как это сделать.
Как найти MAC-адрес через командную строку
Это самый простой метод. Нажимаем комбинацию клавиш Win + R и в появившемся меню вводим cmd. После подтверждения запустится командная строка. Вводим getmac. Отобразится физический адрес, который и является MAC-адресом. Для более подробной информации можно воспользоваться командой ipconfig /all.
Таким образом вы сможете узнать модель сетевого адаптера, конфигурацию основных параметров оборудования, ip-адрес маршрутизатора и другую информацию. Последний, кстати, пригодится, если вы собираетесь осуществлять настройку подключения или Wi-Fi сети.
Как узнать MAC-адрес в сведениях о системе
Практически всю информацию о компьютере и установленных комплектующих можно найти в специальной утилите, встроенной в операционную систему. Для её запуска потребуется нажать уже знакомую комбинацию клавиш Win + R и ввести команду msinfo32. Появится окно программы. Нас интересует раздел Компоненты > Сеть > Адаптер.
В самом низу мы найдём MAC-адрес. Также здесь можно обнаружить и другие полезные данные. Например, версию BIOS, тип и разрядность операционной системы, сообщения об ошибках Windows и многое другое. В случае, если вам нужна какая-либо информация о ПК, рекомендуем в первую очередь заглядывать сюда. Скорее всего, вы найдёте в этой программе то, что вам нужно.
Как узнать MAC-адрес через сетевые подключения
Разумеется, нужная нам информация находится в свойствах сетевого адаптера. Чтобы их открыть, нажмите комбинацию клавиш Win + R и введите команду ncpa.cpl. Вы увидите все активные и неактивные подключения. Выберите то, которое используется в данный момент и кликните по нему правой кнопкой мыши. Затем зайдите в свойства.
В самой верхней строчке будет отображаться ваш сетевой адаптер. Просто наведите курсор на название оборудования. После пары секунд появится окно, в котором будет указан MAC-адрес.
Как узнать MAC-адрес смартфона
В смартфонах, как и в любых домашних компьютерах есть сетевой адаптер, который отвечает за интернет-соединение. Соответственно, есть и MAC-адрес. Чтобы его узнать, придется зайти в настройки гаджета.
В зависимости от модели искомая информация может находится в разных местах. Обычно найти идентификатор в сети можно в разделе с общей информацией. Для владельцев Android это Настройки > Система > О телефоне > Общая информация.
MAC-адрес других устройств в сети
Для того чтобы узнать MAC-адрес любого другого устройства, подключенного к сети, нужно запустить командную строку. Нажимаем Win + R и вводим команду cmd. Далее вводим arp -a и подтверждаем операцию.
Отобразятся все подключения в локальной сети. Для того чтобы определить идентификатор нужного вам устройства, нужно знать его ip-адрес. Эту информацию можно получить в настройках сетевого окружения.
Читайте также:
- 4 преимущества роутеров с поддержкой Wi-Fi 6
- Как гарантированно защитить свой Wi-Fi от посторонних подключений?
Всё, что вы хотели знать о МАС адресе
Время на прочтение
9 мин
Количество просмотров 188K
Всем известно, что это шесть байт, обычно отображаемых в шестнадцатеричном формате, присвоены сетевой карте на заводе, и на первый взгляд случайны. Некоторые знают, что первые три байта адреса – это идентификатор производителя, а остальные три байта им назначаются. Известно также, что можно поставить себе произвольный адрес. Многие слышали и про «рандомные адреса» в Wi-Fi.
Разберемся, что это такое.
МАС адрес (media access control address) – уникальный идентификатор, назначенный сетевому адаптеру, применяется в сетях стандартов IEEE 802, в основном Ethernet, Wi-Fi и Bluetooth. Официально он называется «идентификатором типа EUI-48». Из названия очевидно, что адрес имеет длину в 48 бит, т.е. 6 байт. Общепринятого стандарта на написание адреса нет (в противоположность IPv4 адресу, где октеты всегда разделяют точками).Обычно он записывается как шесть шестнадцатеричных чисел, разделенных двоеточием: 00:AB:CD:EF:11:22, хотя некоторые производители оборудования предпочитают запись вида 00-AB-CD-EF-11-22 и даже 00ab.cdef.1122.
Исторически адреса прошивались в ПЗУ чипсета сетевой карты без возможности их модификации без флеш-программатора, но в настоящее время адрес может быть изменен программно, из операционной системы. Задать вручную МАС адрес сетевой карте можно в Linux и MacOS (всегда), Windows (почти всегда, если позволит драйвер), Android (только рутованный); с iOS (без рута) подобный трюк невозможен.
Структура адреса
Адрес состоит из части идентификатора производителя, OUI, и идентификатора, присваиваемого производителем. Назначением идентификаторов OUI (Organizationally Unique Identifier) занимается организация IEEE. На самом деле его длина может быть не только 3 байта (24 бита), а 28 или 36 бит, из которых формируются блоки (MAC Address Block, МА) адресов типов Large (MA-L), Medium (MA-M) и Small (MA-S) соответственно. Размер выдаваемого блока, в таком случае, составит 24, 20, 12 бит или 16 млн, 1 млн, 4 тыс. штук адресов. В настоящий момент распределено порядка 38 тысяч блоков, их можно посмотреть многочисленными онлайн-инструментами, например у IEEE или Wireshark.
Кому принадлежат адреса
Несложная обработка публично доступной базы данных выгрузки IEEE даёт довольно много информации. Например, некоторые организации забрали себе много OUI блоков. Вот наши герои:
У Google их всего 40, и это не удивительно: они сами производят не так много сетевых устройств.
Блоки МА не предоставляются бесплатно, их можно приобрести за разумные деньги (без абонентской платы) за $3000, $1800 или $755 соответственно. Интересно, что за дополнительные деньги (в год) можно приобрести «сокрытие» публичной информации о выделенном блоке. Таких сейчас, как видно выше, 232.
Когда закончатся МАС-адреса
Мы все порядком устали от не прекращающихся уже лет 10 историй о том, что «IPv4 адреса вот-вот кончатся». Да, новые блоки IPv4 получить уже непросто. При этом известно, что IP адреса распределены крайне неравномерно; существуют гигантские и мало использованные блоки, принадлежащие крупным корпорациям и государственным учреждением США, впрочем, без особой надежды на их перераспределение в пользу нуждающихся. Распространение NAT, CG-NAT и IPv6 сделало проблему нехватки публичных адресов не такой острой.
В МАС адресе 48 бит, из которых «полезными» можно считать 46 (почему? читай дальше), что даёт 246 или 1014 адресов, что в 214 раз больше IPv4 адресного пространства.
В настоящий момент распределено примерно полтриллиона адресов, или лишь 0.73% от всего объёма. До исчерпания MAC адресов ещё очень, очень далеко.
Случайность бит
Можно предположить, что OUI распределены случайно, а вендор затем также случайно назначает адреса индивидуальным сетевым устройствам. Так ли это? Посмотрим на распределение бит в имеющихся в моём распоряжении базах МАС адресов 802.11-устройств, собранных работающими системами авторизации в беспроводных сетях WNAM. Адреса принадлежат реальным устройствам, подключавшихся к Wi-Fi на протяжении нескольких лет в трех странах. В дополнение идет маленькая база 802.3-устройств проводной ЛВС.
Разобьем каждый МАС-адрес (шесть байт) каждой из выборок на биты побайтово, и посмотрим на частоту появления бита «1» в каждой из 48 позиций. Если бит выставлен совершенно произвольным образом, то вероятность получить «1» должна быть 50%.
Откуда такая несправедливость в 7 и 8 битах? Там почти всегда нули.
Действительно, стандарт определяет эти биты как специальные (Википедия):
Восьмой (с начала) бит первого байта МАС адреса называется Unicast/Multicast битом и определяет, какого типа кадр (фрейм) передается с этим адресом, обычный (0) или широковещательный (1) (мультикаст или броадкаст). Для обычного, unicast взаимодействия сетевого адаптера, этот бит выставлен в «0» во всех пакетах, им отправляемых.
Седьмой (с начала) бит первого байта МАС адреса называется U/L (Universal/Local) битом и определяет, является ли адрес глобально уникальным (0), или локально уникальным (1). По умолчанию, все «прошитые изготовителем» адреса глобально уникальны, поэтому подавляющее число собранных МАС адресов содержат седьмой бит выставленным в «0». В таблице присвоенных идентификаторов OUI только порядка 130 записей имеет U/L бит «1», и по всей видимости это блоки МАС адресов для специальных нужд.
С шестого по первый биты первого байта, биты второго и третьего байта в OUI идентификаторах, и тем более биты в 4-6 байтах адреса, назначаемые производителем, распределены более-менее равномерно.
Таким образом, в реальном МАС-адресе сетевого адаптера биты фактически равноценны и не несут технологического смысла, за исключением двух служебных бит старшего байта.
Распространенность
Интересно, какие производители беспроводного оборудования наиболее популярны? Объединим поиск по базе OUI с данными выборки №1.
Практика показывает, что чем зажиточнее контингент абонентов беспроводной сети в данном месте, тем больше доля устройств Apple.
Уникальность
Уникальны ли МАС адреса? В теории да, поскольку каждый из производителей устройств (владельцев блока МА) обязан обеспечивать уникальный адрес для каждого из выпускаемых им сетевых адаптеров. Однако некоторые производители чипов, а именно:
- 00:0A:F5 Airgo Networks, Inc. (сейчас Qualcomm)
- 00:08:22 InPro Comm (сейчас MediaTek)
выставляют последние три байта МАС адреса в случайное число, по всей видимости, после каждой перезагрузки устройства. Таких адресов в моей выборке №1 нашлось 82 тысячи.
Поставить себе чужой, не уникальный адрес можно, конечно, путем целенаправленной его установки «как у соседа», определив его сниффером, или выбрав наугад. Также возможно случайно поставить себе не уникальный адрес, выполнив, например, восстановление бэкапа конфигурации какого-нибудь маршрутизатора вроде Mikrotik или OpenWrt.
Что будет, если в сети будет присутствовать два устройства с одним МАС адресом? Все зависит от логики сетевого оборудования (проводного роутера, контроллера беспроводной сети). Скорее всего, оба устройства или не будут работать, или будут работать с перебоями. С точки зрения стандартов IEEE, защиту от подделки МАС адресов предлагается решать при помощи, например, MACsec или 802.1Х.
Что, если поставить себе МАС с выставленным в «1» седьмым или восьмым битом, т.е. local или multicast-адрес? Скорее всего, ваша сеть на это не обратит внимания, но формально такой адрес не будет соответствует стандарту, и лучше так не делать.
Как работает рандомизация
Мы знаем, что с целью предотвратить отслеживание перемещения людей путем сканирования эфира и сбора МАС-операционные системы смартфонов уже несколько лет применяют технологию рандомизации. Теоретически, при сканировании эфира в поиске известных сетей смартфон отправляет пакет (группу пакетов) типа 802.11 probe request с МАС-адресом в качестве источника:
Включенная рандомизация позволяет указывать не «прошитый», а какой-то другой адрес источника пакета, меняющийся при каждом цикле сканирования, во времени или ещё как-то. Работает ли это? Посмотрим на статистику собранных МАС-адресов из эфира так называемым «Wi-Fi Радаром»:
Картина совсем другая.
8й бит первого байта МАС адреса по-прежнему соответствует Unicast-природе SRC-адреса в probe request пакете.
7й бит в 92.2% случаев установлен в Local, т.е. с достаточной долей уверенности можно считать, что именно столько собранных адресов относится к рандомизированным, а менее 8% — к реальным. При этом распределение бит в OUI для таких реальных адресов примерно совпадает с данными предыдущей таблицы.
Какому производителю, по OUI, принадлежат рандомизированные адреса (т.е. с 7м битом в «1»)?
При этом все рандомизированные адреса, отнесенные к Google, принадлежат одному OUI c префиксом DA:A1:19. Что это за префикс? Давайте посмотрим в исходники Android.
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");
Стоковый андроид в поиске беспроводных сетей использует специальный, зарегистрированный OUI, один из немногих с установленным седьмым битом.
Вычислить реальный МАС из рандомного
Посмотрим там же:
private static final long VALID_LONG_MASK = (1L << 48) - 1;
private static final long LOCALLY_ASSIGNED_MASK = MacAddress.fromString("2:0:0:0:0:0").mAddr;
private static final long MULTICAST_MASK = MacAddress.fromString("1:0:0:0:0:0").mAddr;
public static @NonNull MacAddress createRandomUnicastAddress(MacAddress base, Random r) {
long addr;
if (base == null) {
addr = r.nextLong() & VALID_LONG_MASK;
} else {
addr = (base.mAddr & OUI_MASK) | (NIC_MASK & r.nextLong());
}
addr |= LOCALLY_ASSIGNED_MASK;
addr &= ~MULTICAST_MASK;
MacAddress mac = new MacAddress(addr);
if (mac.equals(DEFAULT_MAC_ADDRESS)) {
return createRandomUnicastAddress(base, r);
}
return mac;
}
Адрес целиком, либо его младшие три байта, это чистый Random.nextLong(). «Патентованное восстановление реального МАС» — надувательство. С большой долей уверенности можно ожидать, что производители Android-телефонов применяют и другие, не зарегистрированные OUI. Исходников iOS у нас нет, но скорее всего там применен схожий алгоритм.
Вышесказанное не отменяет работу других механизмов деанонимизации Wi-Fi абонентов, основанных на анализе других полей probe request фрейма, или корреляции относительной частоты посылаемых устройством запросов. Однако достоверно отследить абонента внешними средствами крайне проблематично. Собираемые данные больше подойдут для анализа средней/пиковой нагрузки по местоположению и времени, на основе больших чисел, без привязки к конкретным устройствам и людям. Точные данные есть только у тех, кто «внутри», у самих производителей мобильных ОС, у установленных приложений.
Что может быть опасного в том, что кто-то другой узнает МАС-адрес вашего устройства? Для проводных и беспроводных сетей можно организовать атаку «отказ в обслуживании». Для беспроводного устройства, к тому же, с некоторой вероятностью можно зафиксировать момент появления в месте, где установлен сенсор. Подменой адреса можно попробовать «представиться» вашим устройством, что может сработать, только если не применяется дополнительных средств защиты (авторизация и/или шифрование). 99.9% людей здесь не о чем волноваться.
МАС-адрес сложнее, чем кажется, но проще, чем мог бы быть.