OS X Yosemite'deki MAC adresini değiştirin


34

MAC adresimi genellikle aşağıdaki komutlarla değiştirdim:

# 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

Girdiğimde:

ifconfig en0 |grep ether

Hala eski MAC adresini alıyorum :( - Kim yardım edebilir? Otomatik olarak sistem önyüklemesinde değiştirmek için bir komut dosyası veya sistem olmasını isterim.


3
SpoofMAC ( pip install SpoofMAC) denediniz mi? Bu hala benim için Yosemite üzerinde çalışıyor.
L3viathan

Yanıtlar:


35

Olası bir sorun, rastgele oluşturulmuş MAC'lerin yarı zamanının başarısız olmasıdır. Bir MAC adresinin ilk baytı eşit olmalıdır (örneğin, 0, 2, 4, 6, 8, A, C, E ile bitecektir).

Örneğin, 3b: 92: 22: cf: 55: 7e işe yaramaz çünkü '3b' gariptir. Ayrıntılar için Wikipedia'nın MAC adresi makalesine bakın (even = unicast, odd = multicast).

Bu sorunu önlemek için, ikinci ucu 0'a zorlamak üzere rastgele-MAC sed komutunuzu hafifçe düzenleyebilirsiniz.

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

Bunu hrbrmstr'ın cevabı ile birleştirmek benim için çalıştı:

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
Bu yöntem benim için çalıştı. Bunun cevap listesinde daha da yükselmesi gerekiyor.
Feng Huo,

Bir çiş biraz daha kısa sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware yapmak için bir şey: biraz daha az rastgele hale getirir.
Kevin Lyda

27

MAC adresini değiştirmeden önce cihazı ayırmanız gerekir. Çünkü en0, olacak:

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

Bunu denedim ve hala benim için işe yaramadı.
Feng Huo,

@ FengHuo benim için çalıştı, 10.11.2'de (farklı bir MAC adresi kullanmama rağmen)
Mint

10.11.6
Paweł Szczur

2
Ailemizi tatil için ebeveynler için daha eğlenceli hale getirdiniz. Apple TV'yi bir giriş ekranının arkasındaki otelin ağına
sokmak

6

Ferros, bu işlemi yapmak için tatlı bir düğüm aracı yaptı. Https://github.com/feross/spoof

Bir Python sürümüne de sahiptir https://github.com/feross/SpoofMAC


5
Node.js dosyasını yalnızca çalıştırarak gerçekleştirilebilecek bir şeyi yapmak için yüklemek biraz zor ifconfiggörünüyor ...
nohillside

2
Düğüm kullanıcıları için bir çözüm olduğunu söylemeye gerek yok. Ayrıca, bir Python (Mac'lere önceden yüklenmiş olarak gelir) sürümü github.com/feross/SpoofMAC
Tyler Buchea

ifconfigplatformlar arası değil; "overkill düğümü", Windows, Linux ve macOS'ta çalışır. Artı $ spoof reset, iki kelimeyle tam tersi yapar.
fregante

4

Bu komut benim için gayet iyi çalışıyor, rastgele senaryo bu cevabı aldım : https://serverfault.com/a/299564 , MadHatter'dan.

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

Bunu kullan

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

İfconfig kılavuz sayfasına bakın

adam ifconfig


0

MAC adresinizi değiştirmemdeki katkı: 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

Bu çalışıyor!

Adımlar:

  1. Apple TV'nizin MAC adresini alın ve bir yere not edin. Ağ Ayarlarında bulunur.

  2. MacBook'unuzun MAC adresini edinin (Yosemite OS sürümü). Bir terminal penceresine "ifconfig" yazın. "En0" bölümünde olacaktır.

  3. Aşağıdakileri kesin / yapıştırın (X'leri Apple TV MAC adresinizle değiştirmek) geçici bir pencereye yapıştırın:

MAC OSX'i Apple TV MAC olarak değiştirin

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

sudo ifconfig en0 eter XX: XX: XX: XX: XX: XX

ağlar arası -detectnewhardware

  1. İstenirse şifrenizi girin ve gerekirse 3. adımı tekrarlayın **

  2. MAC (Apple TV değil) ile otele kablosuz olarak yeniden bağlanın ve servis koşullarını kabul edin.

  3. Aşağıdakileri kesip terminal penceresine yapıştırın (Y'leri MAC OSX MAC adresinizle değiştirin)

MAC adresini orjinal haline getir

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

sudo ifconfig en0 eter YY: YY: YY: YY: YY: YY

ağlar arası -detectnewhardware

  1. Otele kablosuz olarak Apple TV'nizle bağlanın.

1
Bu, soruda açıklanan sorunla nasıl ilişkilidir?
yokuş yukarı

-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

Benim çok daha zeki :)


Cevabınızı daha akıllı yapan nedir? Bu bağlamda daha akıllı ne anlama geliyor?
Michael Ozeryansky,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.