Привет, коллеги! Ситуация знакомая до боли: смотрите на список арендованных адресов в роутере, а там полтора десятка устройств с ничего не говорящими именами вроде android-7f3a или вообще без имени. Кто из них ваш, кто соседский, а кто вообще непонятно чей? Первое, за что хочется зацепиться — MAC-адрес. В нём действительно зашит производитель, и по нему можно многое понять.
Но есть нюанс, из-за которого половина запросов в интернете звучит как «определил MAC, а производитель неизвестный, почему?». Сегодня разберём и то, как правильно вытащить вендора из адреса, и то, почему иногда это принципиально не работает — причём вы ничего не сделали не так.
Заодно посмотрим на реальные цифры реестра IEEE: сколько там вообще блоков, кто из вендоров занял больше всех и какие страны лидируют. Данные ниже — из нашей собственной копии реестра, не из чужих пересказов.
Оглавление
- Что такое MAC-адрес и где в нём производитель
- Как узнать MAC-адрес в Windows, Linux, macOS и Android
- Форматы записи: двоеточия, дефисы и точки
- Как определить производителя
- Реестр IEEE в цифрах
- Почему производитель «неизвестен»: рандомизация MAC
- Два бита, которые всё объясняют
- Когда вместо вендора показывается «IEEE Registration Authority»
- Зачем это нужно на практике
- Выводы
Что такое MAC-адрес и где в нём производитель
MAC-адрес — это 48 бит, то есть шесть байт, которые обычно записывают как шесть пар шестнадцатеричных цифр. Например, 00:1C:B3:11:22:33.
Адрес делится на две смысловые половины:
- Первые три байта (
00:1C:B3) — это OUI, Organizationally Unique Identifier. Блок, который производитель купил у IEEE. - Последние три байта (
11:22:33) — серийная часть, её производитель раздаёт своим устройствам сам.
Отсюда простая арифметика: один блок OUI — это 224, то есть около 16,7 миллиона адресов. Именно поэтому крупные вендоры покупают не один блок, а десятки и сотни — устройств они выпускают больше.
Как узнать MAC-адрес в Windows, Linux, macOS и Android
Windows — в командной строке:
ipconfig /all
Ищите строку «Физический адрес» у нужного адаптера. Если нужен только список адаптеров и их адресов, короче будет так:
getmac /v
Linux — современный способ:
ip link show
MAC стоит после слова link/ether. Старый добрый ifconfig тоже работает, если пакет net-tools установлен.
macOS:
ifconfig en0 | grep ether
Android — «Настройки» → «О телефоне» → «Общая информация», там будет MAC-адрес Wi-Fi. Но именно на Android вас ждёт сюрприз, о котором ниже: показанный там адрес и адрес, который видит роутер, могут не совпадать.
Чужие устройства в своей сети удобно смотреть через ARP-таблицу — там сразу видны пары «IP — MAC»:
# Windows
arp -a
# Linux
ip neigh show
Форматы записи: двоеточия, дефисы и точки
Один и тот же адрес вы встретите в трёх видах, и это регулярно ломает чужие скрипты:
| Запись | Где встречается |
|---|---|
00:1C:B3:11:22:33 | Linux, macOS, большинство утилит |
00-1C-B3-11-22-33 | Windows |
001c.b311.2233 | Оборудование Cisco |
Разделители — чистая косметика. Нормальный инструмент поиска должен принимать любой вариант: внутри всё равно всё сводится к двенадцати шестнадцатеричным символам. Регистр букв тоже роли не играет.
Как определить производителя
Механика простая: берём первые шесть шестнадцатеричных символов и ищем их в реестре IEEE. Реестр публичный, его выкладывают в открытом доступе одним CSV-файлом.
Руками это делать не обязательно — у нас есть поиск производителя по MAC-адресу: вставляете адрес в любом формате и сразу получаете вендора, страну регистрации блока и тип адреса. Под капотом там полная копия реестра, а не выборка из пары десятков популярных вендоров.
Если хочется своими руками, достаточно скачать реестр и грепнуть по нему:
curl -s https://standards-oui.ieee.org/oui/oui.csv -o oui.csv
grep -i "^MA-L,001CB3" oui.csv
MA-L,001CB3,"Apple, Inc.","1 Infinite Loop Cupertino CA US 95014"
Реестр IEEE в цифрах
Мы держим у себя актуальную копию реестра, так что можем показать не абстрактные рассуждения, а конкретный срез. На момент написания статьи в основном реестре MA-L числится 39 931 блок.
Кто занял больше всех блоков:
| Производитель | Блоков OUI | Это примерно адресов |
|---|---|---|
| Apple, Inc. | 1 553 | 26 млрд |
| HUAWEI TECHNOLOGIES CO.,LTD | 1 396 | 23 млрд |
| Cisco Systems, Inc | 1 247 | 21 млрд |
| Samsung Electronics Co.,Ltd | 894 | 15 млрд |
| Intel Corporate | 666 | 11 млрд |
А вот распределение по странам регистрации — оно неплохо отражает, где физически делают сетевое железо:
| Страна | Блоков |
|---|---|
| США | 13 446 |
| Китай | 9 700 |
| Южная Корея | 2 678 |
| Тайвань | 2 207 |
| Япония | 1 918 |
| Германия | 1 291 |
Важная оговорка: страна здесь — это адрес компании при регистрации блока, а не место сборки устройства. Роутер с американским OUI вполне может быть собран в Китае, и наоборот.
Почему производитель «неизвестен»: рандомизация MAC
Вот главная причина, по которой поиск по OUI сегодня всё чаще возвращает пустоту. Современные телефоны и ноутбуки специально подставляют случайный MAC-адрес при подключении к Wi-Fi — чтобы вас нельзя было отслеживать между сетями по постоянному идентификатору.
Так делают iOS, Android и Windows: для каждой сети генерируется свой адрес, и в реестре IEEE его, разумеется, нет. Никакой поиск не покажет вам «Apple» или «Samsung», потому что первые три байта такого адреса просто выдуманы устройством.
Хорошая новость: случайный адрес легко отличить от настоящего, и для этого не нужен никакой сервис — достаточно посмотреть на второй бит первого байта.
Два бита, которые всё объясняют
В самом первом байте адреса два младших бита несут служебный смысл.
- Младший бит (I/G) — если он равен единице, адрес групповой (multicast), а не адрес конкретной сетевой карты.
- Второй бит (U/L) — если он равен единице, адрес назначен локально, то есть его выдал не производитель. Это и есть признак рандомизации или ручной смены MAC.
На практике проще запомнить по второй цифре адреса. Если она 2, 6, A или E — перед вами локально администрируемый адрес, и искать производителя бессмысленно:
| Пример | Что это |
|---|---|
00:1C:B3:... | Обычный адрес производителя, ищется в реестре |
02:1C:B3:... | Локальный: рандомизация или ручная настройка |
DA:A1:19:... | Локальный (DA) — типичный случайный MAC телефона |
01:00:5E:... | Групповой (multicast), не адрес устройства |
Наш инструмент показывает это отдельным полем — UAA (universally administered, то есть от производителя) или LAA (locally administered). Если видите LAA, дальше можно не копать: устройство намеренно спрятало свою принадлежность.
Когда вместо вендора показывается «IEEE Registration Authority»
Иногда поиск честно находит блок, но в качестве владельца показывает саму IEEE. В нашей копии реестра таких блоков 432, и это не ошибка.
Дело в том, что кроме больших блоков MA-L есть блоки поменьше — MA-M и MA-S. Их продают компаниям, которым не нужны 16 миллионов адресов, и один такой «крупный» префикс делится между множеством мелких владельцев. По первым трём байтам вы в этом случае определите только то, что адрес выдан через IEEE, а конкретного производителя придётся искать по более длинному префиксу.
Так что «IEEE Registration Authority» в ответе означает: устройство сделано небольшой компанией, купившей маленький блок. Довольно часто это IoT-железо и всякая китайская мелочь.
Зачем это нужно на практике
Несколько сценариев, ради которых всё это затевается.
- Инвентаризация сети. Выгружаете ARP-таблицу с коммутатора, прогоняете MAC-адреса через реестр — и у вас появляется понимание, что у вас 40 рабочих станций одного вендора, десяток телефонов и три устройства, которых быть не должно.
- Поиск чужого в Wi-Fi. Тут придётся учитывать рандомизацию, но железо попроще — камеры, принтеры, умные розетки — обычно рандомизацию не умеет и честно показывает вендора.
- Разбор инцидента. Когда в логах остался только MAC, вендор сужает круг: одно дело сетевой принтер, другое — ноутбук.
- Проверка партии оборудования. Если у «одинаковых» устройств из закупки разные OUI, это повод задать вопросы поставщику.
И сразу про ограничение, чтобы не было завышенных ожиданий: MAC-адрес виден только внутри одного сегмента сети. Через маршрутизатор он не проходит — на той стороне вы увидите MAC самого роутера, а не устройства за ним. Определить производителя устройства «где-то в интернете» по MAC невозможно в принципе.
Выводы
Коротко, если пролистали: производитель зашит в первых трёх байтах MAC-адреса, ищется по открытому реестру IEEE, в котором сейчас без малого 40 тысяч блоков. Apple, Huawei и Cisco держат больше тысячи блоков каждый, а почти четверть всех блоков зарегистрирована в Китае.
Если производитель не находится — сначала посмотрите на вторую цифру адреса. Двойка, шестёрка, A или E означают локальный адрес: телефон или ноутбук просто спрятался за случайным MAC, и это нормальное поведение современных устройств, а не поломка.
Проверить конкретный адрес быстрее всего в нашем поиске по MAC-адресу — он принимает любой формат записи и сразу говорит, настоящий это адрес производителя или локально сгенерированный. Удачных разборов и чистых сетей!
Попробуйте ScaniteX бесплатно!
Автоматизированная платформа для сканирования открытых портов и обнаружения активных сервисов в режиме онлайн.
Начните 24ч пробный период (промокод FREE10), чтобы протестировать все функции сканирования для безопасности вашего бизнеса.
Получить бесплатный триал
RU
English
Оставить комментарий