Cách giả mạo địa chỉ MAC của adaptor USB-Ethernet trong OS X


13

Gần đây tôi đã mua một bộ chuyển đổi usb-ethernet (không phải apple) và tôi có kết nối internet. Trong trường đại học của tôi, chúng tôi phải đặt một địa chỉ mac cụ thể nhưng tôi không thể thay đổi nó.

Tôi đã thử với

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

và với

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

và với cả hai tôi đều nhận được kết quả như nhau. Lệnh không trả về bất kỳ lỗi nào nhưng khi tôi chạy ifconfiglại thì địa chỉ mac vẫn như cũ.

Tôi cũng đã thử với Ubuntu và nó đã hoạt động. Bạn có biết làm thế nào tôi có thể làm điều tương tự trong OS X không?

Trong Ubuntu, tên của bộ điều hợp là eth0nhưng trong OS X, nó en4thay vì en0.

Đầu ra của 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 không có bất kỳ đầu ra.

Đầu ra của sudo ifconfig en4một lần nữa:

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 

Trả lời một số câu hỏi, vâng tôi đã thử với sudo en4 down / up và tôi nghĩ đó không phải là giới hạn bởi vì tôi có thể thay đổi nó trong Ubuntu. Nếu tôi cố gắng thay đổi địa chỉ mac của Wi-Fi, tôi có thể làm điều đó.

Tôi đang sử dụng OS x Mavericks và bộ chuyển đổi USB-Ethernet của tôi là của Trung Quốc, kiểu máy là AX88772A


Tôi đã sử dụng thành công ifconfig để thay đổi địa chỉ MAC của mình trong OS X trước đây. Bạn có thể bao gồm đầu ra của lệnh này trong câu hỏi của bạn? Có lẽ nó sẽ đưa ra một số manh mối. ifconfig en4; sudo ifconfig en4 ether 10:0B:AD:C0:FF:EE; ifconfig en4Ngoài ra, bất cứ điều gì trong Console.app dưới tất cả các tin nhắn?
miken32

Tôi có chính xác vấn đề tương tự với OS X 10.9.2. Tôi sẽ rất quan tâm đến một sửa chữa cho vấn đề này.
carlito

1
Bạn đã thử tắt bộ chuyển đổi đầu tiên? sudo ifconfig en4 down; sudo ifconfig en4 ether 10:0B:AD:C0:FF:EE; sudo ifconfig en4 upNếu nó không hoạt động, tôi nghi ngờ nó có thể chỉ là giới hạn phần cứng của bộ chuyển đổi USB.
miken32

Tôi đã cố gắng tắt bộ điều hợp với ifconfig, nhưng sau đó khi cố gắng thay đổi địa chỉ mac thì ifconfigphàn nàn về việc bộ điều hợp bị tắt:ifconfig: ioctl (SIOCAIFADDR): Network is down
carlito

Phiên bản OS X nào bạn đang chạy? Những gì tạo nên / mô hình của bộ chuyển đổi usb? Tôi thường xuyên thay đổi MAC trên bộ điều hợp không dây USB Alfa của mình bằng cách sử dụng lệnh tương tự trên OS X ver. 10.7.5.
Brian Duke

Câu trả lời:


9

Tôi đã khắc phục sự cố này bằng cách cài đặt trình điều khiển chipset của bộ điều hợp trên Mac Os X. Sau khi khởi động lại, lệnh thông thường (ví dụ: sudo ifconfig en6 ether xx: xx: xx: xx: xx: xx) hoạt động như mong đợi. Dưới đây là chi tiết.


Tôi gặp vấn đề tương tự với bộ chuyển đổi Tecknet UL688G USB 3.0 sang 10/100/1000 Gigabit Ethernet.

Trên cả Mac Os X 10.10.5 (Yosemite) và 10.11.4 (El Capitan), lệnh thay đổi địa chỉ MAC đã bị bỏ qua, trong khi nó hoạt động hoàn hảo trên Ubuntu 15.10.

Vì vậy, không, không phải là một vấn đề phần cứng, ít nhất là trong trường hợp của tôi. Sau một vài lần thất bại với phần mềm của bên thứ ba và trình điều khiển vô dụng, tôi phát hiện ra rằng bộ điều hợp của tôi có chipset Realtek 8153, như được xác nhận bởi báo cáo hệ thống của Mac Os X:

RTL8153

Tôi đã tìm thấy trình điều khiển chipset trên trang web của nhà sản xuất khác, liên quan đến một sản phẩm khác sử dụng cùng chipset RTL8153, đã cài đặt nó, khởi động lại và voilà .. sau đó có thể thay đổi địa chỉ MAC từ dòng lệnh.

nhập mô tả hình ảnh ở đây

Tái bút Trang web của Realtek cũng có trình điều khiển; nó có lẽ là phiên bản cập nhật nhất, mặc dù nó đã cho tôi một số lỗi trong quá trình cài đặt. Tuy nhiên, nó cũng hoạt động như mong đợi.


Điều này vẫn hoạt động trên macOS 10.14.1. Bạn sẽ phải thay đổi lại mỗi lần kết nối lại thiết bị ethernet USB.
Cai

Cảm ơn bạn rất nhiều vì đã cứu mạng tôi. Và trình điều khiển cho RTL8153 hoạt động tốt với tôi.
carton.swing

1

Việc giả mạo một địa chỉ MAC trong OSX không đơn giản như trong Linux, vì vậy bạn có thể muốn thử sử dụng tập lệnh python như SpaggerMAC .

Một cách khác để định cấu hình / nhận thông tin về các dịch vụ mạng trong OSX là bằng lệnh Networksetup .


2
Nó chính xác đơn giản như trong Linux; Tôi làm điều đó mọi lúc với một lệnh duy nhất.
miken32

Cảm ơn bạn đã chỉ ra SpaggerMAC. Tuy nhiên, đối với vấn đề cụ thể này, nó hoạt động chính xác như một cuộc gọi trực tiếp tới ifconfig: không có thông báo lỗi, nhưng địa chỉ MAC không thay đổi.
carlito

Trên thực tế, nó chỉ gọi ifconfig. Nếu một cái gì đó như thế này được thực hiện trong python, có lý do để bọc python xung quanh.
Max Ried

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.