Jak sfałszować adres MAC adaptera USB-Ethernet w OS X

13

Niedawno kupiłem adapter USB-Ethernet (nie Apple) i otrzymuję połączenie z Internetem. Na mojej uczelni musimy podać konkretny adres mac, ale nie mogę go zmienić.

Próbowałem z

sudo ifconfig en4 ether xx:xx:xx:xx:xx:xx

i z

sudo ifconfig en4 lladdr xx:xx:xx:xx:xx:xx

i oboje mam ten sam wynik. Polecenie nie zwraca żadnego błędu, ale po ifconfigponownym uruchomieniu adres mac jest nadal taki sam.

Próbowałem także z Ubuntu i działało. Czy wiesz, jak mogę zrobić to samo w systemie OS X?

W Ubuntu nazwa adaptera brzmi, eth0ale w OS X jest en4zamiast en0.

Wyjście sudo ifconfig en4:

en4: flags=8863 mtu 1500 
    ether 00:e0:4c:36:21:92 
    inet6 fe80::2e0:4cff:fe36:2192%en4 prefixlen 64 scopeid 0x9 
    nd6 options=1 
    media: autoselect (100baseTX ) 
    status: active

sudo ifconfig en4 ether 10:0B:AD:C0:FF:EE nie ma żadnego wyjścia.

Wynik sudo ifconfig en4ponownie:

en4: flags=8863 mtu 1500 
    ether 00:e0:4c:36:21:92 
    inet6 fe80::2e0:4cff:fe36:2192%en4 prefixlen 64 scopeid 0x9 
    inet 192.168.1.38 netmask 0xffffff00 broadcast 192.168.1.255 
    nd6 options=1 
    media: autoselect (100baseTX ) 
    status: active 

Odpowiadając na kilka pytań, tak, próbowałem z sudo en4 down / up i myślę, że to nie jest ograniczenie, ponieważ mogę to zmienić w Ubuntu. Jeśli spróbuję zmienić adres MAC mojego Wi-Fi, mogę to zrobić.

Korzystam z systemu OS x Mavericks, a mój adapter USB-Ethernet to chiński, model to AX88772A

Jorge Nieto
źródło
Z powodzeniem korzystałem z ifconfig do zmiany adresu MAC w OS X. Czy możesz podać wynik tego polecenia w swoim pytaniu? Może da to jakieś wskazówki. ifconfig en4; sudo ifconfig en4 ether 10:0B:AD:C0:FF:EE; ifconfig en4Coś w Console.app pod wszystkimi wiadomościami?
miken32,
Mam dokładnie ten sam problem z OS X 10.9.2. Byłbym bardzo zainteresowany rozwiązaniem tego problemu.
carlito
1
Czy próbowałeś najpierw wyłączyć adapter? sudo ifconfig en4 down; sudo ifconfig en4 ether 10:0B:AD:C0:FF:EE; sudo ifconfig en4 upJeśli to nie zadziała, podejrzewam, że może to być jedynie ograniczenie sprzętowe adaptera USB.
miken32
Udało mi się wyłączyć adapter za pomocą ifconfig, ale wtedy, gdy próbuję zmienić adres MAC, ifconfigskarży się na wyłączenie adaptera:ifconfig: ioctl (SIOCAIFADDR): Network is down
carlito
Jaką wersję OS X używasz? Jaka jest marka / model adaptera USB? Rutynowo zmieniam MAC na moim bezprzewodowym adapterze USB Alfa za pomocą tego samego polecenia w OS X ver. 10.7.5.
Brian Duke

Odpowiedzi:

9

Rozwiązałem ten problem, instalując sterownik mikroukładu mojego adaptera na Mac OS X. Po ponownym uruchomieniu zwykłe polecenie (np. Sudo ifconfig en6 ether xx: xx: xx: xx: xx: xx) działa zgodnie z oczekiwaniami. Poniżej szczegółów.


Miałem ten sam problem z kartą Tecknet UL688G USB 3.0 na 10/100/1000 Gigabit Ethernet.

Zarówno w Mac OS X 10.10.5 (Yosemite), jak i 10.11.4 (El Capitan) polecenie zmiany adresu MAC zostało zignorowane, podczas gdy działało bezbłędnie na Ubuntu 15.10.

Więc nie, nie problem sprzętowy, przynajmniej w moim przypadku. Po kilku nieudanych próbach z oprogramowaniem innych firm i bezużytecznymi sterownikami dowiedziałem się, że mój adapter ma mikroukład Realtek 8153, co potwierdza raport systemowy Mac OS X:

RTL8153

Znalazłem sterownik mikroukładu na stronie innego producenta, w odniesieniu do innego produktu, który używa tego samego mikroukładu RTL8153, zainstalowałem go, uruchomiłem ponownie i voilà .. po tym można było zmienić adres MAC z wiersza poleceń.

wprowadź opis zdjęcia tutaj

PS. strona internetowa Realtek ma również sterownik; jest to prawdopodobnie najbardziej zaktualizowana wersja, chociaż dała mi pewne błędy podczas instalacji. Działa jednak również zgodnie z oczekiwaniami.

Jaskółka oknówka
źródło
To nadal działa w systemie macOS 10.14.1. Trzeba będzie to jednak zmienić za każdym razem, gdy ponownie podłączasz urządzenie Ethernet USB.
Cai
Dziękuję bardzo za uratowanie mi życia. A sterownik dla RTL8153 działa dobrze dla mnie.
carton.swing
1

Sfałszowanie adresu MAC w OSX nie jest tak proste jak w Linuksie, więc możesz spróbować użyć skryptu python, takiego jak SpoofMAC .

Innym sposobem skonfigurowania / uzyskania informacji o usługach sieciowych w OSX jest użycie polecenia networksetup .

rchrdg
źródło
2
To jest tak proste jak w Linuksie; Robię to cały czas za pomocą jednego polecenia.
miken32
Dziękujemy za zwrócenie uwagi na SpoofMAC. Jednak w przypadku tego konkretnego problemu działa on dokładnie tak, jak bezpośrednie wywołanie ifconfig: brak komunikatu o błędzie, ale adres MAC się nie zmienia.
carlito
Właściwie to po prostu wywołuje ifconfig. Jeśli coś takiego jest zrobione w Pythonie, istnieje powód, aby go otoczyć.
Max Ried