Files
local_machine/docs/security/find-phone-mac.sh
2026-03-14 20:03:57 +03:00

93 lines
3.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/zsh
# Helper script to find phone MAC address
# Tries multiple methods to detect phone hotspot MAC
set -euo pipefail
BLUE='\033[0;34m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "${BLUE}=== Поиск MAC-адреса телефона ===${NC}\n"
# Method 1: Check if connected to hotspot
echo -e "${YELLOW}Метод 1: Проверка подключения к hotspot...${NC}"
if networksetup -getairportnetwork en0 &>/dev/null; then
network_info=$(networksetup -getairportnetwork en0 2>/dev/null)
if [[ "$network_info" != *"not associated"* ]]; then
echo -e "${GREEN}✓ Подключен к сети${NC}"
# Try to get BSSID using airport (deprecated but may work)
bssid=$(/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I 2>/dev/null | grep -i "BSSID" | awk '{print $2}' || echo "")
if [ -n "$bssid" ] && [ "$bssid" != "none" ]; then
echo -e "${GREEN}✓ Найден BSSID (MAC точки доступа): $bssid${NC}"
echo ""
echo -e "${GREEN}Используйте этот MAC:${NC}"
echo "./spoof-wifi-mac.sh $bssid"
exit 0
else
echo -e "${YELLOW}Не удалось определить BSSID автоматически${NC}"
fi
else
echo -e "${RED}Не подключен к Wi-Fi сети${NC}"
fi
else
echo -e "${RED}✗ Wi-Fi интерфейс не найден${NC}"
fi
echo ""
# Method 2: Check ARP table for connected devices
echo -e "${YELLOW}Метод 2: Проверка ARP таблицы...${NC}"
gateway=$(route -n get default 2>/dev/null | grep gateway | awk '{print $2}' || echo "")
if [ -n "$gateway" ]; then
echo -e "${GREEN}✓ Шлюз: $gateway${NC}"
arp_mac=$(arp -n "$gateway" 2>/dev/null | awk '{print $4}' | grep -E "^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$" || echo "")
if [ -n "$arp_mac" ]; then
echo -e "${GREEN}✓ MAC шлюза (возможно точка доступа): $arp_mac${NC}"
echo ""
echo -e "${GREEN}Возможный MAC точки доступа:${NC}"
echo "./spoof-wifi-mac.sh $arp_mac"
echo ""
echo -e "${YELLOW}⚠ Это MAC роутера/точки доступа, проверьте на телефоне${NC}"
else
echo -e "${YELLOW}Не удалось определить MAC из ARP${NC}"
fi
else
echo -e "${RED}✗ Шлюз не найден${NC}"
fi
echo ""
# Method 3: Instructions
echo -e "${BLUE}=== Ручной способ получения MAC ===${NC}\n"
echo -e "${YELLOW}iPhone:${NC}"
echo "1. Настройки → Wi-Fi"
echo "2. Нажмите (i) рядом с активной сетью"
echo "3. Отключите 'Частный Wi-Fi адрес'"
echo "4. Скопируйте 'Адрес Wi-Fi'"
echo ""
echo -e "${YELLOW}Android:${NC}"
echo "1. Настройки → О телефоне → Статус"
echo "2. Найдите 'MAC-адрес Wi-Fi'"
echo ""
echo -e "${YELLOW}Для точки доступа (hotspot):${NC}"
echo "1. Включите точку доступа на телефоне"
echo "2. Подключите MacBook к hotspot"
echo "3. Запустите: ./spoof-wifi-mac.sh --phone-mac"
echo ""
echo -e "${BLUE}=== Альтернативный способ ===${NC}\n"
echo "Если MAC не отображается на телефоне:"
echo "1. Подключите MacBook к hotspot телефона"
echo "2. Запустите: ./spoof-wifi-mac.sh --phone-mac"
echo " (скрипт автоматически определит MAC точки доступа)"
echo ""