35 votos

Cambiar la dirección MAC en OS X Yosemite

Normalmente cambio mi dirección MAC con los siguientes 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

Cuando entre:

ifconfig en0 |grep ether

Todavía tengo la vieja dirección MAC:( - ¿Quién puede ayudar? Me encantaría tener un script o un sistema para cambiarlo automáticamente en el arranque del sistema.

3 votos

¿Ha probado SpoofMAC ( pip install SpoofMAC )? Esto todavía funciona en Yosemite para mí.

37voto

seren Puntos 91

Un posible problema es que los MAC generados al azar fallarán la mitad de las veces. El primer byte de una dirección MAC tiene que ser parejo (por ejemplo, terminar en 0, 2, 4, 6, 8, A, C, E).

Así que, por ejemplo, 3b:92:22:cf:55:7e no funcionaría porque "3b" es extraño. Ver el artículo de Wikipedia Artículo de la dirección MAC para los detalles (par = unicast, impar = multicast).

Para evitar este problema, puedes editar ligeramente tu comando de sed del MAC aleatorio para forzar el segundo mordisco a 0.

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

Combinar esto con la respuesta de Hrbrmstr funcionó para mí:

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 votos

Este método me ha funcionado. Esto tiene que ir más arriba en la lista de respuestas.

0 votos

Una cosa para hacerlo un poco más corto: sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resou‌​rces/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware Lo hace un poco menos aleatorio.

27voto

hrbrmstr Puntos 241

Tienes que disociar el dispositivo antes de cambiar la dirección MAC. Para en0 lo será:

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether d4:33:a3:ed:f2:12
networksetup -detectnewhardware

0 votos

Probé esto y aún así no me funcionó.

0 votos

@FengHuo funcionó para mí, en 10.11.2 (aunque he utilizado una dirección MAC diferente)

0 votos

Funciona en 10.11.6

7voto

Z S Puntos 1339

Ferros hizo una dulce herramienta de nodo para hacer justo esto https://github.com/feross/spoof

También tiene una versión en Python. https://github.com/feross/SpoofMAC

5 votos

Instalar node.js para hacer algo que se puede hacer simplemente ejecutando ifconfig parece un poco exagerado...

2 votos

Ni que decir tiene que es una solución para los usuarios de nodos. También tiene una versión para Python (que viene preinstalado en Macs) github.com/feross/SpoofMAC

1 votos

ifconfig no es multiplataforma; ese "exceso de nodos" funciona en Windows, Linux y MacOS. Además, $ spoof reset hace lo contrario, en 2 palabras.

4voto

Tukan3 Puntos 66

Este comando funciona bien para mí, el script aleatorio que he tomado de esta respuesta: https://serverfault.com/a/299564 de 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

1voto

Clive819 Puntos 1

Usa esto.

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

Vea la página del manual de ifconfig

hombre ifconfig

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X