MAC-адрес вашей сетевой карты, даже беспроводной - это уникальный идентификатор, в котором “зашита” информация о производителе и некоторое другие данные.
Очень часто MAC используется для идентификации компьютера в сети. Например, аэропорт “даёт” попользоваться сетью 1 час, после этого за доступ придётся заплатить.
Сброс MAC-адреса в случайное значение поможет обойти данное ограничение, правда для идентификации компьютера может использоваться не только MAC, но и, например, cookie-файлы.
В Windows можно вписать новое значение MAC-адреса в свойствах сетевой карты, а непосредственное значение выдать вот этот сервис.
В Linux можно воспользоваться вот этим скриптом:
#!/bin/shif [ $# -eq 0 ]; then
echo “Usage: $0 <interface>”
echo "Your MAC will be spoofed with random values"
exit 1
fiip link set $1 down
macaddr=$(printf ‘%02x’ $((0x$(od /dev/urandom -N1 -t x1 -An | cut -c 2-) & 0xFE | 0x02)); od /dev/urandom -N5 -t x1 -An | sed ‘s/ /:/g’)
ifconfig $1 hw ether $macaddr
ip link set $1 up
Но, иногда бывает так, что сетевая карта настолько сурова, что не дает изменить MAC через ifconfig. “Особенности”, а другими словами баги и недоработки драйверов, пожалуй, главная причина такого поведения.
Так произошло с сетевой карточкой от Realtek. Попытка задать этот самый MAC через ifconfig приводила к ошибке, однако… В настройках драйвера нашлась строчка, которая отвечала за начальную настройку драйвера.
Короче говоря, задача свелась к следующим действиям:
- Отключить линк
- Принудительно выгрузить модуль
- Создать конфигурационный файл с параметрами плюс новым значением MAC
- Загрузить модуль обратно
- Включить линк
Итого:
#!/bin/shif [ $# -eq 0 ]; then
echo “Usage: $0 <interface>”
echo "Your MAC will be spoofed with random values"
exit 1
fiip link set $1 down
macaddr=$(printf ‘%02x’ $((0x$(od /dev/urandom -N1 -t x1 -An | cut -c 2-) & 0xFE | 0x02)); od /dev/urandom -N5 -t x1 -An | sed ‘s/ /:/g’)
rmmod 8192cu
echo "options 8192curtw_power_mgnt=0 rtw_enusbss=0 rtw_ips_mode=0 rtw_rx_stbc=0 rtw_initmac="${macaddr}""
>/etc/modprobe.d/8192.conf
modprobe 8192cu
rm /etc/modprobe.d/8192.conf
ip link set $1 up
Вот такая вот музыка.
Кстати, не стоит так развлекаться в сетях вроде московской подземки - каждый раз придется идентифицироваться. Ну и вообще аккуратнее там.