답변:
한 가지 가능한 문제는 임의로 생성 된 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
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware
조금 덜 무작위로 만듭니다.
MAC 주소를 변경하기 전에 장치 연결을 해제해야합니다. 의 경우 en0
:
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether d4:33:a3:ed:f2:12
networksetup -detectnewhardware
Ferros는 https://github.com/feross/spoof 를 수행하기 위해 달콤한 노드 도구를 만들었습니다.
그는 파이썬 버전도 가지고 있습니다 https://github.com/feross/SpoofMAC
ifconfig
것은 일종의 과잉으로 보입니다 ...
ifconfig
크로스 플랫폼이 아닙니다. "노드 오버 킬"은 Windows, Linux 및 macOS에서 작동합니다. 플러스 $ spoof reset
는 2 단어로 그 반대입니다.
이 명령은 나를 위해 잘 작동합니다.이 답변에서 가져온 임의의 스크립트는 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
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`
작동합니다!
단계 :
Apple TV의 MAC 주소를 가져 와서 적어 두십시오. 네트워크 설정에 있습니다.
MacBook의 MAC 주소를 얻습니다 (Yosemite OS 버전). 터미널 창에 "ifconfig"를 입력하십시오. "En0"섹션에 있습니다.
다음을 잘라내어 붙여 넣습니다 (Apple TV MAC 주소와 함께 X를 대체)를 창에 넣습니다.
sudo / 시스템 / 라이브러리 /PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether XX : XX : XX : XX : XX : XX
네트워크 설정-새로운 하드웨어 탐지
프롬프트가 표시되면 비밀번호를 입력하고 필요한 경우 3 단계를 반복하십시오 **
MAC (Apple TV 아님)으로 무선으로 호텔에 다시 연결하고 서비스 조건에 동의하십시오.
터미널 창에 다음을 잘라내어 붙여 넣습니다 (Y를 MAC OSX MAC 주소로 바꿉니다)
sudo / 시스템 / 라이브러리 /PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether YY : YY : YY : YY : YY : YY
네트워크 설정-새로운 하드웨어 탐지
sudo ifconfig en0 ether `openssl rand -hex 5|perl -nE '$s.=join":",/../g}{say"02:$s"'`&& sudo ifconfig en0 down && sudo ifconfig en0 up
나는 훨씬 더 똑똑하다 :)
pip install SpoofMAC
) 를 사용해 보셨습니까 ? 이것은 여전히 요세미티에서 작동합니다.