Alterar endereço MAC no OS X Yosemite

34

Normalmente, mudei meu endereço MAC com os seguintes comandos:

# Get a New MAC Address
openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
# Changing the MAC Address
sudo ifconfig en0 ether d4:33:a3:ed:f2:12

Quando eu entro:

ifconfig en0 |grep ether

Ainda recebo o antigo endereço MAC :( - Quem pode ajudar? Gostaria de ter um script ou sistema para alterá-lo automaticamente na inicialização do sistema.

Lupo
fonte
3
Você já tentou o SpoofMAC ( pip install SpoofMAC)? Isso ainda funciona em Yosemite para mim.
precisa saber é o seguinte

Respostas:

35

Um possível problema é que os MACs gerados aleatoriamente falharão metade do tempo. O primeiro byte de um endereço MAC precisa ser par (por exemplo, final em 0, 2, 4, 6, 8, A, C, E).

Assim, por exemplo, 3b: 92: 22: cf: 55: 7e não funcionaria porque '3b' é ímpar. Consulte o artigo de endereço MAC da Wikipedia para obter detalhes (par = unicast, ímpar = multicast).

Para evitar esse problema, você pode editar levemente o comando sed aleatório-MAC para forçar a segunda mordidela para 0.

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/./0/2; s/.$//'

Combinar isso com a resposta de hrbrmstr funcionou para mim:

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport --disassociate
sudo ifconfig en0 ether $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/./0/2; s/.$//')
networksetup -detectnewhardware
sereno
fonte
2
Este método funcionou para mim. Isso precisa ir mais alto na lista de respostas.
Feng Huo
Uma coisa para tornar isso um pouquinho mais curto: sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware o torna um pouco menos aleatório.
precisa saber é o seguinte
27

Você precisa desassociar o dispositivo antes de alterar o endereço MAC. Pois en0será:

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether d4:33:a3:ed:f2:12
networksetup -detectnewhardware
hrbrmstr
fonte
Eu tentei isso e ainda não funcionou para mim.
Feng Huo
@FengHuo ele trabalhou para mim, em 10.11.2 (embora eu usei um endereço MAC diferente)
Mint
Funciona em 10.11.6
Paweł Szczur 18/10
2
Você acabou de tornar nossas férias em família muito mais agradáveis ​​para os pais. Teve para obter o Apple TV na rede do hotel atrás de uma tela de login e spoofing o endereço MAC trabalhou um charme :)
stevenhaddox
6

Ferros criou uma ferramenta de nó doce para fazer exatamente isso https://github.com/feross/spoof

Ele também tem uma versão em Python https://github.com/feross/SpoofMAC

Tyler Buchea
fonte
5
Instalando node.js fazer algo que pode ser feito simplesmente executando ifconfigparece tipo de exagero ...
nohillside
2
É óbvio que é uma solução para os usuários do nó. Ele também tem um Python (que vem pré-instalado em Macs) versão github.com/feross/SpoofMAC
Tyler Buchea
ifconfignão é multiplataforma; esse "excesso de nó" funciona no Windows, Linux e macOS. Plus $ spoof resetfaz o oposto, em 2 palavras.
fregante
4

Este comando funciona bem para mim, o script aleatório que tirei desta resposta: https://serverfault.com/a/299564 do MadHatter.

sudo ifconfig en0 ether $(perl -e 'for ($i=0;$i<5;$i++){@m[$i]=int(rand(256));} printf "02:%X:%X:%X:%X:%X\n",@m;') && sudo ifconfig en0 down && sudo ifconfig en0 up
Tukan3
fonte
1

Usa isto

sudo ifconfig en0 lladdr d4: 33: a3: ed: f2: 12

Veja a página de manual do ifconfig

man ifconfig

Clive819
fonte
0

Aqui está minha contribuição para alterar seu endereço MAC: https://gist.github.com/vinyll/b511159cce2d25edafe78403749088ca

#/bin/sh

# Instructions:
# 1. Copy this script locally and run the following `chmod +x mac-address-spoofer.sh`
# 2. Later, run the following: `./mac-address.spoofer.sh` and see your MAC address changing.

echo "origin MAC address: " `sudo ifconfig en0 ether | grep ether`
sudo ifconfig en0 ether `openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'`
echo "new MAC address: " `sudo ifconfig en0 ether | grep ether`
vinyll
fonte
-1

Isso funciona!

Passos:

  1. Obtenha o endereço MAC da sua Apple TV e anote-o. É encontrado nas configurações de rede.

  2. Obtenha o endereço MAC do seu MacBook (versão do Yosemite OS). Digite "ifconfig" em uma janela do terminal. Ele estará na seção "En0".

  3. Recorte / cole o seguinte (substituindo os X pelo endereço MAC da Apple TV) em uma janela temporária:

mude o MAC OSX para o Apple TV MAC

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z

sudo ifconfig en0 éter XX: XX: XX: XX: XX: XX

networksetup -detectnewhardware

  1. Digite sua senha, se solicitado, e repita a etapa 3, se necessário **

  2. Reconecte-se ao hotel sem fio com o seu MAC (não Apple TV) e aceite as condições de serviço.

  3. Recorte / cole o seguinte na janela do terminal (substitua os Y pelo seu endereço MAC OSX MAC)

alterar o endereço MAC de volta ao original

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z

sudo ifconfig en0 éter AA: AA: AA: AA: AA: AA

networksetup -detectnewhardware

  1. Conecte-se ao hotel sem fio com sua Apple TV.
Marca
fonte
1
Como isso se relaciona com o problema descrito na pergunta?
nohillside
-1
sudo ifconfig en0 ether `openssl rand -hex 5|perl -nE '$s.=join":",/../g}{say"02:$s"'`&& sudo ifconfig en0 down && sudo ifconfig en0 up

Meu é muito mais inteligente :)

Mantovani
fonte
O que torna sua resposta mais inteligente? O que significa mais inteligente nesse contexto?
Michael Ozeryansky