MAC address: what is it
What is the physical address of a network card, how to find it out, why randomization is needed in iOS/Android, and what is MAC spoofing.
What is a MAC address
MAC-адрес (Media Access Control address) — это уникальный физический адрес сетевой карты (Ethernet, Wi-Fi). Записывается как 6 пар hex-цифр (0-9, A-F), разделённых двоеточием или дефисом: 00:1A:2B:3C:4D:5E или 00-1A-2B-3C-4D-5E.
Каждая сетевая карта, произведённая в мире, получает уникальный MAC на заводе. Теоретически не должно быть двух устройств с одинаковым MAC (но на практике — бывает, особенно на виртуалках и при клонировании).
MAC-адрес используется только внутри локальной сети — для доставки пакетов между устройствами в одном сегменте Ethernet/Wi-Fi. За пределы вашей локалки MAC не уходит. Когда пакет идёт через роутер в интернет — MAC отбрасывается, наружу виден только IP.
На уровне OSI MAC работает на канальном уровне (L2), IP — на сетевом (L3).
MAC vs IP: what is the difference
| Параметр | MAC address | IP-адрес |
|---|---|---|
| Уровень OSI | L2 (канальный) | L3 (сетевой) |
| Назначается | Производителем (зашит в карту) | Администратором/DHCP |
| Уникальность | Глобально (теоретически) | В пределах сети |
| Длина | 48 бит (6 байт) | 32 бит (IPv4) / 128 бит (IPv6) |
| Видимость | Только в локальной сети | Глобально (если публичный) |
| Изменяемость | Можно (spoofing) | Меняется легко (DHCP) |
| Назначение | Доставка пакета в локалке | Маршрутизация между сетями |
Когда ваш компьютер хочет отправить пакет на 8.8.8.8:
- Смотрит:
8.8.8.8— в другой сети. Нужен роутер (default gateway192.168.1.1). - Спрашивает через ARP: «Какой MAC у
192.168.1.1?» - ARP-ответ: «MAC =
AA:BB:CC:DD:EE:FF». - Формирует Ethernet-фрейм:
src MAC = 00:11:22:33:44:55, dst MAC = AA:BB:CC:DD:EE:FF, payload = IP-пакет (src IP = 192.168.1.100, dst IP = 8.8.8.8). - Роутер получает фрейм, читает IP-пакет, смотрит свою таблицу маршрутизации, пересылает дальше (уже с другим src/dst MAC).
Format and structure
MAC-адрес — это 48 бит (6 октетов), обычно записывается в hex:
00:1A:2B:3C:4D:5E
^^ ^^^^^^^ ^^^^^^^
│ │ └────── Уникальный номер устройства (NIC specific)
│ └────────────── OUI (Organizationally Unique Identifier) — производитель
└───────────────── Биты: unicast/multicast (0=unicast) + U/L (0=универсальный, 1=локальный)
Биты флагов
Младший бит первого октета (I/G):
- 0 — индивидуальный (unicast) — адрес конкретного устройства
- 1 — групповой (multicast) — пакет всем устройствам в группе (FF:FF:FF:FF:FF:FF = broadcast)
Второй бит первого октета (U/L):
- 0 — универсальный (UAA) — присвоен производителем (OUI)
- 1 — локальный (LAA) — изменён вручную (spoofing, рандомизация)
Форматы записи
- Windows:
00-1A-2B-3C-4D-5E(дефис) - Linux/macOS:
00:1A:2B:3C:4D:5E(двоеточие) - Cisco:
001a.2b3c.4d5e(точки, по 3 пары) - EUI-64 (IPv6):
001A:2BFF:FE3C:4D5E(вставка FF:FE в середину для 48→64 bit)
OUI: find out the manufacturer by MAC
Первые 3 октета (24 бита) — это OUI (Organizationally Unique Identifier), выданный IEEE производителю. По OUI можно узнать, кто выпустил устройство.
Примеры OUI:
| OUI | Производитель |
|---|---|
00:1A:2B | Apple |
00:50:F2 | Microsoft |
B8:27:EB | Raspberry Pi Foundation |
3C:5A:B4 | |
FC:FB:FB | Cisco |
00:1B:63 | Apple (старый) |
AC:DE:48 | Apple (новый) |
F0:18:98 | Apple (новый) |
00:0C:29 | VMware (виртуалка) |
00:50:56 | VMware (старый) |
52:54:00 | QEMU/KVM |
| Lennart Poettering (специально для тестов) |
Полный список OUI: IEEE OUI list (30 МБ).
Это используется:
- Для идентификации устройств в локальной сети (роутер показывает «iPhone Саши» потому что узнал OUI Apple).
- Для отслеживания: в магазинах, аэропортах Wi-Fi-сканеры считают уникальные MAC для подсчёта посетителей (раньше; сейчас рандомизация мешает).
- Для безопасности: список подключённых MAC в роутере — если видите неизвестный OUI, возможно несанкционированный доступ.
How ARP works
Чтобы отправить IP-пакет, сначала нужно узнать MAC получателя. Для этого есть ARP (Address Resolution Protocol).
Процесс
- Хост A хочет отправить пакет хосту B (IP
192.168.1.50). - Хост A проверяет свой ARP-кеш: «есть ли уже MAC для
192.168.1.50?» - Если нет — рассылает ARP-request на broadcast: «Кто имеет
192.168.1.50? Скажите свой MAC!» - Хост B получает broadcast, видит свой IP, отвечает ARP-reply напрямую хосту A: «Это я, мой MAC
AA:BB:CC:DD:EE:FF». - Хост A сохраняет пару в ARP-кеш (на 15-60 минут) и отправляет пакет.
ARP-кеш на вашем компьютере:
# Windows
arp -a
# Linux/macOS
ip neigh
# или
arp -an
Пример:
$ arp -an
? (192.168.1.1) at aa:bb:cc:dd:ee:ff [ether] on en0
? (192.168.1.50) at 11:22:33:44:55:66 [ether] on en0
? (192.168.1.100) at <incomplete> on en0
ARP-spoofing
Злоумышленник может отправить поддельный ARP-reply: «Я — 192.168.1.1 (роутер), мой MAC XX:XX:XX:XX:XX:XX». Все в сети будут слать трафик «роутеру» через атакующего — классическая MITM-атака. Защита: Dynamic ARP Inspection (DAI) на управляемых коммутаторах, статические ARP-записи на важных хостах.
How to find out your MAC
Windows
ipconfig /all
Ищите «Физический адрес» (Physical Address):
Адаптер беспроводной локальной сети Wi-Fi:
Описание . . . . . . . . . : Intel Wi-Fi 6 AX201
Физический адрес . . . . . : A4-B1-C1-XX-XX-XX
Через GUI: Параметры → Сеть и Интернет → Wi-Fi → Свойства адаптера → «Физический адрес».
macOS
ifconfig en0 | grep ether
Через GUI: Системные настройки → Сеть → Wi-Fi → Дополнительно → Аппаратура (внизу, в hex без двоеточий).
Linux
ip link show
# или
ip a
# или
ifconfig -a | grep ether
Пример:
2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
link/ether a4:b1:c1:xx:xx:xx brd ff:ff:ff:ff:ff:ff
Android
- Настройки → Wi-Fi.
- Нажмите на подключённую сеть (или «шестерёнку»).
- Ищите «MAC-адрес» (на Samsung) или «MAC-адрес Wi-Fi» (на Pixel).
Примечание: на Android 10+ по умолчанию показывается рандомизированный MAC. Чтобы увидеть реальный: Настройки → Wi-Fi → сеть → «Конфиденциальность» → «Использовать реальный MAC» (или «Использовать MAC устройства»).
iOS
- Настройки → Wi-Fi.
- Нажмите (i) рядом с подключённой сетью.
- «Wi-Fi адрес» — это и есть MAC.
Примечание: на iOS 14+ по умолчанию включена рандомизация. Чтобы увидеть реальный: «Частный Wi-Fi адрес» → выключить (но это снижает приватность).
Роутер
Зайдите в админ-панель роутера (192.168.1.1 или 192.168.0.1), найдите раздел «DHCP clients» / «Список устройств» / «Подключённые устройства». У каждого будет указан MAC. Это самый надёжный способ узнать MAC всех устройств в домашней сети.
MAC Randomization on iOS and Android
Начиная с 2019-2020, мобильные ОС автоматически рандомизируют MAC при подключении к Wi-Fi.
Зачем это нужно
Без рандомизации:
- Wi-Fi в кафе, аэропорту, магазине видит ваш реальный MAC и логирует.
- При повторном заходе в то же кафе — MAC тот же, вас идентифицируют.
- Рекламодатели сопоставляют данные: «человек с MAC X зашёл в ТЦ → живёт в районе Y → работает в районе Z».
С рандомизацией:
- Каждое подключение к сети — новый случайный MAC.
- Сеть видит «устройство A» сегодня и «устройство B» завтра — не связывает.
Как включить/выключить
iOS: Настройки → Wi-Fi → (i) → «Частный Wi-Fi адрес» → вкл/выкл. По умолчанию включён с iOS 14.
Android 10+: Настройки → Wi-Fi → ваша сеть → «Конфиденциальность» → «Использовать рандомизированный MAC» (по умолчанию) или «MAC устройства» (отключить рандомизацию).
Windows 10/11: Настройки → Сеть и Интернет → Wi-Fi → ваша сеть → «Случайный аппаратный адрес» → вкл/выкл. По умолчанию включён.
Linux: NetworkManager: /etc/NetworkManager/conf.d/mac-randomization.conf с [connection] wifi.cloned-mac-address=random.
Ограничения
Рандомизация ломает некоторые сценарии:
- Фильтрация по MAC на роутере (белый список устройств) — нужно либо отключить рандомизацию для этой сети, либо внести в whitelist текущий рандомный MAC (но он меняется).
- Captive portal (Wi-Fi в кафе с авторизацией через браузер) — иногда не работает, потому что captive portal привязывает сессию к MAC. Решение: подключиться, авторизоваться, и тогда MAC-ассоциация сохранится в браузере.
- Родительский контроль — если ребёнок меняет MAC, его устройство не опознаётся. Решение: отключить рандомизацию для домашней сети.
MAC spoofing
MAC можно изменить программно. Это называется MAC-spoofing.
Зачем (легально)
- Приватность в ненадёжных сетях (хотя рандомизация делает это автоматически).
- Обход ограничения по MAC (например, в Wi-Fi в университете «только зарегистрированные устройства»).
- Тестирование — эмуляция разных устройств.
Зачем (нелегально)
- Обход MAC-фильтрации в защищённой сети.
- Атака «человек посередине» через ARP-spoofing.
- Кража чужого MAC для маскировки.
Как изменить MAC
Windows:
# Диспетчер устройств → Сетевые адаптеры → свойства → Дополнительно → Network Address
# Или через PowerShell:
Set-NetAdapterAdvancedProperty -Name "Wi-Fi" -DisplayName "Network Address" -DisplayValue "001A2B3C4D5E"
Linux (временно):
sudo ip link set wlan0 down
sudo ip link set wlan0 address 00:11:22:33:44:55
sudo ip link set wlan0 up
Linux (постоянно через NetworkManager):
nmcli connection modify "MyWiFi" 802-11-wireless.cloned-mac-address 00:11:22:33:44:55
macOS: Системные настройки → Сеть → Wi-Fi → Дополнительно → Аппаратура → «Изменить MAC» (требует root, не на всех адаптерах).
Или утилита SpoofMAC.
Инструменты ip.brazya.ru
- Browser Info — показывает User-Agent, язык, разрешение. (Сам браузер MAC не отдаёт — это JS API не имеет доступа к MAC.)
- IP Spy — какие данные «светит» ваш браузер (IP, UA, timezone, language).
- WebRTC Anonymity Check — проверка IP и fingerprint.
- Anonymity Check — комплексная проверка приватности.
Часто задаваемые вопросы
Что такое MAC-адрес простыми словами?
MAC-адрес (Media Access Control address) — это уникальный физический адрес сетевой карты (Wi-Fi, Ethernet). Записывается как 6 пар hex-цифр через двоеточие: 00:1A:2B:3C:4D:5E. Уникален для каждого устройства в мире (в теории). Используется в локальной сети для доставки пакетов между устройствами. За пределы вашей локальной сети MAC-адрес не уходит — наружу виден только IP.
Как узнать MAC-адрес?
Windows: ipconfig /all → ищите «Физический адрес». macOS: ifconfig en0 | grep ether. Linux: ip link show или ip a (ищите link/ether). Android: Настройки → Wi-Fi → ваша сеть → «MAC-адрес». iOS: Настройки → Wi-Fi → (i) рядом с сетью → «Wi-Fi адрес». Роутер: список подключённых устройств (DHCP clients).
Чем отличается MAC от IP?
MAC-адрес работает на канальном уровне (L2) и используется внутри локальной сети для адресации «от устройства к устройству». IP работает на сетевом уровне (L3) и используется для глобальной маршрутизации между сетями. MAC — постоянный (зашит в сетевую карту, хотя можно изменить), IP — динамический (может меняться). Чтобы отправить пакет по IP, сначала нужно узнать MAC получателя через ARP.
Что такое MAC-spoofing?
MAC-spoofing — подмена MAC-адреса сетевой карты на другой. Используется: 1) Легально — для обхода ограничений по MAC (например, Wi-Fi в кафе привязан к MAC). 2) Анонимность — не «светить» реальный MAC при подключении к ненадёжной сети. 3) Нелегально — для атак на сеть (обход фильтрации по MAC, перехват трафика других устройств в локалке). В iOS 14+ и Android 10+ MAC рандомизируется автоматически при каждом подключении к Wi-Fi.
Что такое рандомизация MAC в iOS и Android?
iOS 14+ (с 2020) и Android 10+ (с 2019) автоматически используют разные MAC-адреса для каждой Wi-Fi сети. Когда телефон подключается к Wi-Fi в кафе, он использует случайный MAC, а не реальный. Это сделано для приватности: точки доступа и трекеры не могут идентифицировать устройство по MAC при сканировании. В Android: Настройки → Wi-Fi → ваша сеть → «Конфиденциальность» → «Использовать рандомизированный MAC». В iOS: «Частный Wi-Fi адрес».
Можно ли узнать производителя по MAC?
Да. Первые 3 байта (OUI — Organizationally Unique Identifier) выдаются производителю. Например: 00:1A:2B — Apple, 00:50:F2 — Microsoft, B8:27:EB — Raspberry Pi Foundation, 3C:5A:B4 — Google. Полный список OUI: ieee.org. Можно определить, что устройство в вашей сети — iPhone (OUI Apple), Raspberry Pi, или неизвестное устройство (потенциально взлом).
👉 Что знает о вас интернет → — IP, User-Agent, часовой пояс, fingerprint браузера.