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.


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

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

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


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

1

Usa isto

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

Veja a página de manual do ifconfig

man ifconfig


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`

-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.

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 :)


O que torna sua resposta mais inteligente? O que significa mais inteligente nesse contexto?
Michael Ozeryansky
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.