Cambiar la dirección MAC en OS X Yosemite

29

Por lo general, cambié mi dirección MAC con los siguientes comandos:

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

Cuando entro:

ifconfig en0 |grep ether

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

    
pregunta Lupo 21.10.2014 - 13:47

8 respuestas

32

Un posible problema es que las MAC generadas aleatoriamente fallarán la mitad del tiempo. El primer byte de una dirección MAC debe ser par (por ejemplo, terminar en 0, 2, 4, 6, 8, A, C, E).

Entonces, por ejemplo, 3b: 92: 22: cf: 55: 7e no funcionaría porque '3b' es impar. Consulte el artículo sobre la dirección MAC de Wikipedia para obtener detalles (incluso = unicast, odd = multicast).

Para evitar este problema, puedes editar un poco tu comando random-MAC sed para forzar el segundo nibble a 0.

openssl rand -hex 6 | sed 's/\(..\)/:/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/\(..\)/:/g; s/./0/2; s/.$//')
networksetup -detectnewhardware
    
respondido por el seren 01.05.2015 - 16:37
26

Debe desasociar el dispositivo antes de cambiar la dirección MAC. Para en0 , será:

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether d4:33:a3:ed:f2:12
networksetup -detectnewhardware
    
respondido por el hrbrmstr 22.10.2014 - 04:34
5

Ferros hizo una herramienta de nodo dulce para hacer solo esto enlace

También tiene una versión en Python enlace

    
respondido por el Tyler Buchea 06.09.2015 - 04:04
4

Este comando funciona bien para mí, el script aleatorio lo he tomado de esta respuesta: enlace 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
    
respondido por el Tukan3 01.05.2015 - 19:21
1

Usa esto

  

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

Ver la página del manual de ifconfig

  

man ifconfig

    
respondido por el Clive819 22.08.2015 - 08:10
0

Aquí está mi contribución para cambiar su dirección MAC: enlace

#/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/\(..\)/:/g; s/.$//''
echo "new MAC address: " 'sudo ifconfig en0 ether | grep ether'
    
respondido por el vinyll 02.03.2017 - 20:43
-1

¡Esto funciona!

Pasos:

  1. Obtenga la dirección MAC de su Apple TV y escríbala. Se encuentra en la Configuración de red.

  2. Obtenga la dirección MAC de su MacBook (versión del sistema operativo Yosemite). Escriba "ifconfig" en una ventana de terminal. Estará en la sección "EN0".

  3. Corta / pega lo siguiente (reemplaza las X con la dirección MAC de tu Apple TV) en una ventana principal:

cambia MAC OSX a Apple TV MAC

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

sudo ifconfig en0 ether XX: XX: XX: XX: XX: XX

networksetup -detectnewhardware

  1. Ingrese su contraseña si se le solicita y repita el paso 3, si es necesario **

  2. Vuelva a conectarse a la red inalámbrica del hotel con su MAC (no Apple TV) y acepte las condiciones del servicio.

  3. Corte / pegue lo siguiente en la ventana del terminal (reemplace las Y con su dirección MAC de MAC OSX)

cambia la dirección MAC de nuevo a original

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

sudo ifconfig en0 ether YY: YY: YY: YY: YY: YY

networksetup -detectnewhardware

  1. Conéctate a la red inalámbrica del hotel con tu Apple TV.
respondido por el Mark 20.09.2015 - 05:28
-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

Mi es mucho más inteligente :)

    
respondido por el Mantovani 30.06.2016 - 20:41

Lea otras preguntas en las etiquetas