Modifica l'indirizzo MAC in OS X Yosemite


34

Di solito ho cambiato il mio indirizzo MAC con i seguenti comandi:

# 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 entro:

ifconfig en0 |grep ether

Ricevo ancora il vecchio indirizzo MAC :( - Chi può aiutare? Mi piacerebbe avere uno script o un sistema per cambiarlo automaticamente all'avvio del sistema.


3
Hai provato SpoofMAC ( pip install SpoofMAC)? Questo funziona ancora su Yosemite per me.
L3viathan,

Risposte:


35

Un possibile problema è che i MAC generati casualmente falliranno la metà delle volte. Il primo byte di un indirizzo MAC deve essere pari (es. Fine in 0, 2, 4, 6, 8, A, C, E).

Quindi, ad esempio, 3b: 92: 22: cf: 55: 7e non funzionerebbe perché "3b" è strano. Vedere l' articolo dell'indirizzo MAC di Wikipedia per i dettagli (pari = unicast, dispari = multicast).

Per evitare questo problema, è possibile modificare leggermente il comando sed random-MAC per forzare il secondo nibble su 0.

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

Combinando questo con la risposta di hrbrmstr ha funzionato per me:

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
Questo metodo ha funzionato per me. Questo deve andare più in alto nell'elenco delle risposte.
Feng Huo,

Una cosa per renderlo un po 'più breve: sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware lo rende un po' meno casuale.
Kevin Lyda,

27

È necessario dissociare il dispositivo prima di modificare l'indirizzo MAC. Per en0, sarà:

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

Ho provato questo, e ancora non ha funzionato per me.
Feng Huo,

@FengHuo ha funzionato per me, il 10.11.2 (anche se ho usato un indirizzo MAC diverso)
Menta

Funziona il 10.11.6
Paweł Szczur il

2
Hai appena reso la nostra vacanza in famiglia molto più piacevole per i genitori. Ho dovuto mettere l'Apple TV sulla rete dell'hotel dietro una schermata di accesso e lo spoofing dell'indirizzo MAC ha funzionato molto bene :)
stevenhaddox,

6

Ferros ha creato uno strumento nodo dolce per fare proprio questo https://github.com/feross/spoof

Ha anche una versione di Python https://github.com/feross/SpoofMAC


5
Installare node.js per fare qualcosa che può essere fatto semplicemente eseguendo ifconfigsembra un po 'eccessivo ...
nohillside

2
Inutile dire che è una soluzione per gli utenti del nodo. Ha anche una versione di Python (che viene preinstallata su Mac) github.com/feross/SpoofMAC
Tyler Buchea

ifconfignon è multipiattaforma; quel "nodo eccessivo" funziona su Windows, Linux e macOS. Plus $ spoof resetfa il contrario, in 2 parole.
fregante

4

Questo comando funziona bene per me, lo script casuale ho preso da questa risposta: https://serverfault.com/a/299564 da 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 questo

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

Vedi la pagina di manuale di ifconfig

amico ifconfig


0

Ecco il mio contributo per modificare il tuo indirizzo 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

Questo funziona!

passi:

  1. Ottieni l'indirizzo MAC della tua Apple TV e scrivilo. Si trova nelle Impostazioni di rete.

  2. Ottieni l'indirizzo MAC del tuo MacBook (versione del sistema operativo Yosemite). Digita "ifconfig" in una finestra del terminale. Sarà nella sezione "En0".

  3. Taglia / Incolla quanto segue (sostituendo le X con il tuo indirizzo MAC di Apple TV) in una finestra teminale:

cambia MAC OSX in MAC Apple TV

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

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

networksetup -detectnewhardware

  1. Immettere la password se richiesta e ripetere il passaggio 3, se necessario **

  2. Riconnettiti al wireless dell'hotel con il tuo MAC (non Apple TV) e accetta le condizioni del servizio.

  3. Taglia / incolla quanto segue nella finestra del terminale (sostituisci le Y con il tuo indirizzo MAC OSX MAC)

cambia l'indirizzo MAC di nuovo in originale

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

sudo ifconfig en0 ether AA: AA: AA: AA: AA: AA

networksetup -detectnewhardware

  1. Collegati alla rete wireless dell'hotel con la tua Apple TV.

1
In che modo ciò si collega al problema descritto nella domanda?
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

Il mio è molto più intelligente :)


Cosa rende la tua risposta più intelligente? Cosa significa più intelligente in questo contesto?
Michael Ozeryansky,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.