OS X Yosemite에서 MAC 주소 변경


34

일반적으로 다음 명령을 사용하여 MAC 주소를 변경했습니다.

# 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

내가 입력하면 :

ifconfig en0 |grep ether

여전히 기존 MAC 주소를 얻습니다.


3
SpoofMAC ( pip install SpoofMAC) 를 사용해 보셨습니까 ? 이것은 여전히 ​​요세미티에서 작동합니다.
L3viathan

답변:


35

한 가지 가능한 문제는 임의로 생성 된 MAC이 절반의 시간 동안 실패한다는 것입니다. MAC 주소의 첫 바이트는 짝수 여야합니다 (예 : 0, 2, 4, 6, 8, A, C, E로 끝남).

예를 들어 '3b'가 홀수이므로 3b : 92 : 22 : cf : 55 : 7e는 작동하지 않습니다. 자세한 내용은 Wikipedia의 MAC 주소 기사 를 참조하십시오 (짝수 = 유니 캐스트, 홀수 = 멀티 캐스트).

이 문제를 피하기 위해 임의의 MAC sed 명령을 약간 편집하여 두 번째 니블을 0으로 강제 설정할 수 있습니다.

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

이것을 hrbrmstr의 대답과 결합하면 나를 위해 일했습니다.

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
이 방법은 저에게 효과적이었습니다. 답변 목록에서 더 높아야합니다.
Feng Huo

좀 더 짧게 만드는 한 가지 : sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware 조금 덜 무작위로 만듭니다.
Kevin Lyda

27

MAC 주소를 변경하기 전에 장치 연결을 해제해야합니다. 의 경우 en0:

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

나는 이것을 시도했지만 여전히 나를 위해 작동하지 않았다.
Feng Huo

@ FengHuo 그것은 10.11.2에서 나를 위해 일했습니다 (다른 MAC 주소를 사용했지만)
Mint

10.11.6에서 작동
Paweł Szczur

2
부모님이 가족 휴가를 훨씬 더 즐겁게 만들어 주셨습니다. 로그인 화면 뒤에 호텔의 네트워크에 애플 TV를 얻을 수 있었다와 MAC 주소가 매력 :) 일 스푸핑
stevenhaddox

6

Ferros는 https://github.com/feross/spoof 를 수행하기 위해 달콤한 노드 도구를 만들었습니다.

그는 파이썬 버전도 가지고 있습니다 https://github.com/feross/SpoofMAC


5
간단히 실행하여 수행 할 수있는 작업을 수행하기 위해 node.js를 설치하는 ifconfig것은 일종의 과잉으로 보입니다 ...
nohillside

2
노드 사용자를위한 솔루션이라고 말할 수는 없습니다. 또한 파이썬 (Mac에 사전 설치되어 제공됨
Tyler Buchea

ifconfig크로스 플랫폼이 아닙니다. "노드 오버 킬"은 Windows, Linux 및 macOS에서 작동합니다. 플러스 $ spoof reset는 2 단어로 그 반대입니다.
fregante

4

이 명령은 나를 위해 잘 작동합니다.이 답변에서 가져온 임의의 스크립트는 MadHatter의 https://serverfault.com/a/299564 입니다.

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

이것을 사용하십시오

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

ifconfig의 매뉴얼 페이지를 참조하십시오

맨 ifconfig


0

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

작동합니다!

단계 :

  1. Apple TV의 MAC 주소를 가져 와서 적어 두십시오. 네트워크 설정에 있습니다.

  2. MacBook의 MAC 주소를 얻습니다 (Yosemite OS 버전). 터미널 창에 "ifconfig"를 입력하십시오. "En0"섹션에 있습니다.

  3. 다음을 잘라내어 붙여 넣습니다 (Apple TV MAC 주소와 함께 X를 대체)를 창에 넣습니다.

MAC OSX를 Apple TV MAC으로 변경

sudo / 시스템 / 라이브러리 /PrivateFrameworks/Apple80211.framework/Resources/airport -z

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

네트워크 설정-새로운 하드웨어 탐지

  1. 프롬프트가 표시되면 비밀번호를 입력하고 필요한 경우 3 단계를 반복하십시오 **

  2. MAC (Apple TV 아님)으로 무선으로 호텔에 다시 연결하고 서비스 조건에 동의하십시오.

  3. 터미널 창에 다음을 잘라내어 붙여 넣습니다 (Y를 MAC OSX MAC 주소로 바꿉니다)

MAC 주소를 원래대로 다시 변경

sudo / 시스템 / 라이브러리 /PrivateFrameworks/Apple80211.framework/Resources/airport -z

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

네트워크 설정-새로운 하드웨어 탐지

  1. Apple TV로 호텔 무선에 연결하십시오.

1
이것이 질문에 설명 된 문제와 어떤 관련이 있습니까?
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

나는 훨씬 더 똑똑하다 :)


답이 더 똑똑해지는 이유는 무엇입니까? 이 맥락에서 더 똑똑하다는 것은 무엇을 의미합니까?
Michael Ozeryansky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.