# Руководство по подмене MAC-адреса Wi-Fi на macOS ## 📋 Содержание 1. [Зачем это нужно](#зачем-это-нужно) 2. [Как это работает](#как-это-работает) 3. [Получение MAC-адреса телефона](#получение-mac-адреса-телефона) 4. [Подмена MAC на macOS](#подмена-mac-на-macos) 5. [Ограничения и проблемы](#ограничения-и-проблемы) 6. [Постоянная подмена MAC](#постоянная-подмена-mac) --- ## Зачем это нужно Когда вы подключаете MacBook к точке доступа (hotspot) телефона: - **Оператор сотовой связи** видит трафик, идущий через телефон - **MAC-адрес MacBook** виден только на уровне Wi-Fi соединения между телефоном и MacBook - Подмена MAC MacBook на MAC телефона может помочь в некоторых сценариях идентификации **Важно:** Оператор в первую очередь видит IMEI и другие идентификаторы телефона, а не MAC клиента. --- ## Как это работает ### Уровни идентификации: 1. **Уровень сотовой сети (оператор видит):** - IMEI телефона - IMSI (SIM-карта) - Номер телефона - Трафик идет через телефон 2. **Уровень Wi-Fi (локальная сеть):** - MAC точки доступа (BSSID) - это MAC Wi-Fi интерфейса телефона - MAC клиента (MacBook) - виден только в локальной Wi-Fi сети 3. **Уровень приложений:** - User-Agent браузера - Fingerprint браузера - IP-адрес (от оператора) **Вывод:** Подмена MAC MacBook на MAC телефона влияет только на локальный Wi-Fi уровень, но не меняет идентификацию на уровне оператора. --- ## Получение MAC-адреса телефона ### iPhone (iOS 14+) **Проблема:** На iPhone включена функция "Частный Wi-Fi адрес" по умолчанию, которая скрывает реальный MAC. **Решение:** 1. **Для Wi-Fi клиента (когда телефон подключается к сети):** - Настройки → Wi-Fi - Нажмите (i) рядом с сетью - Отключите "Частный Wi-Fi адрес" (Private Wi-Fi Address) - MAC-адрес будет показан как "Адрес Wi-Fi" 2. **Для точки доступа (hotspot):** - MAC точки доступа может отличаться от MAC Wi-Fi клиента - Настройки → Режим модема → "Имя сети" показывает SSID - MAC точки доступа можно узнать через скрипт (автоматически) **Альтернативный способ:** ```bash # На MacBook, подключенном к hotspot iPhone: /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep BSSID ``` ### Android 1. **Для Wi-Fi клиента:** - Настройки → О телефоне → Статус - Найдите "MAC-адрес Wi-Fi" 2. **Для точки доступа:** - Настройки → Сеть и интернет → Точка доступа и модем → Точка доступа Wi-Fi - MAC может быть показан в расширенных настройках **Через ADB (если включена отладка):** ```bash adb shell ip link show wlan0 | grep link/ether ``` --- ## Подмена MAC на macOS ### Автоматический способ (рекомендуется) Используйте скрипт `spoof-wifi-mac.sh`: ```bash # Автоматическое определение MAC точки доступа ./docs/security/spoof-wifi-mac.sh --phone-mac # Или интерактивный режим ./docs/security/spoof-wifi-mac.sh # Или указать MAC вручную ./docs/security/spoof-wifi-mac.sh AA:BB:CC:DD:EE:FF # Вернуть оригинальный MAC ./docs/security/spoof-wifi-mac.sh --revert ``` ### Ручной способ ```bash # 1. Определить Wi-Fi интерфейс networksetup -listallhardwareports | grep -A 1 "Wi-Fi" # 2. Выключить Wi-Fi networksetup -setairportpower en0 off # 3. Установить новый MAC (требует sudo) sudo ifconfig en0 ether AA:BB:CC:DD:EE:FF # 4. Включить Wi-Fi networksetup -setairportpower en0 on # 5. Проверить ifconfig en0 | grep ether ``` --- ## Ограничения и проблемы ### 1. Временность подмены - MAC сбрасывается после: - Перезагрузки MacBook - Отключения/включения Wi-Fi - Переподключения к сети - Смены сети **Решение:** Используйте `--revert` для восстановления или запускайте скрипт при каждом подключении. ### 2. System Integrity Protection (SIP) На современных версиях macOS (особенно с Apple Silicon) подмена MAC может быть заблокирована SIP. **Проверка статуса SIP:** ```bash csrutil status ``` **Отключение SIP (НЕ рекомендуется без крайней необходимости):** 1. Перезагрузите Mac в Recovery Mode (Cmd+R при загрузке) 2. Утилиты → Терминал 3. `csrutil disable` 4. Перезагрузите **Включение обратно:** ```bash csrutil enable ``` ### 3. Аппаратные ограничения Некоторые Wi-Fi чипы не поддерживают подмену MAC на уровне драйвера. ### 4. Что видит оператор **Важно понимать:** - Оператор видит трафик через телефон (IMEI, IMSI) - MAC MacBook виден только в локальной Wi-Fi сети между телефоном и MacBook - Подмена MAC не меняет идентификацию на уровне оператора - Для оператора важнее IMEI телефона, а не MAC клиента --- ## Постоянная подмена MAC ### Вариант 1: LaunchAgent (автоматический запуск) Создайте `~/Library/LaunchAgents/com.macspoof.plist`: ```xml Label com.macspoof ProgramArguments /path/to/spoof-wifi-mac.sh AA:BB:CC:DD:EE:FF RunAtLoad KeepAlive ``` Загрузите: ```bash launchctl load ~/Library/LaunchAgents/com.macspoof.plist ``` ### Вариант 2: Network Script (macOS) Создайте скрипт в `/etc/network/` (требует отключения SIP). ### Вариант 3: Использование специализированных инструментов - **SpoofMAC** (устарел, не работает на новых macOS) - **Macchanger** (через Homebrew, ограниченная поддержка) --- ## Альтернативные подходы ### 1. Использование VPN на телефоне Вместо подмены MAC на MacBook, используйте VPN на телефоне: - Весь трафик идет через VPN - Оператор видит только VPN-соединение - Не требуется подмена MAC ### 2. USB Tethering Подключите телефон через USB и используйте USB Tethering: - Не требует Wi-Fi - MAC не важен на этом уровне - Более стабильное соединение ### 3. Bluetooth Tethering Альтернатива Wi-Fi hotspot: - Разные протоколы идентификации - Может быть менее заметно для оператора --- ## Проверка результата ### Проверить текущий MAC: ```bash ifconfig en0 | grep ether ``` ### Проверить MAC точки доступа: ```bash /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep BSSID ``` ### Проверить подключение: ```bash networksetup -getairportnetwork en0 ``` --- ## Безопасность и предупреждения ⚠️ **Важно:** - Подмена MAC может нарушать правила оператора - Некоторые сети могут блокировать устройства с подмененным MAC - Это может быть незаконно в некоторых юрисдикциях - Используйте только на своих устройствах и сетях ✅ **Рекомендации:** - Сохраняйте оригинальный MAC для восстановления - Используйте только для легитимных целей - Понимайте ограничения метода - Рассмотрите альтернативные подходы (VPN, USB tethering) --- ## FAQ **Q: Оператор все равно видит, что это не телефон?** A: Да, оператор видит IMEI телефона и трафик через него. MAC клиента важен только на локальном Wi-Fi уровне. **Q: Почему MAC не меняется?** A: Возможно, требуется отключить SIP или Wi-Fi чип не поддерживает подмену MAC. **Q: Как сделать подмену постоянной?** A: Используйте LaunchAgent или отключите SIP (не рекомендуется). **Q: Работает ли это на Apple Silicon?** A: Может потребоваться отключение SIP из-за более строгих ограничений безопасности. --- ## См. также - [OS_COMPARISON.md](./OS_COMPARISON.md) - сравнение систем безопасности - [VPN документация](../vpn/README.md) - альтернативные методы защиты приватности