Cách thay đổi vĩnh viễn địa chỉ MAC của bạn trên Linux

Tác giả sysadmin, T.Tư 01, 2023, 12:36:40 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách thay đổi vĩnh viễn địa chỉ MAC của bạn trên Linux


Bạn có thể đặt địa chỉ MAC mới vĩnh viễn trong thiết bị đầu cuối bằng tiện ích macchanger và tệp đơn vị systemctl. Hoặc trong GNOME, đi tới Cài đặt > Wi-Fi [hoặc Mạng] > Danh tính và nhập địa chỉ MAC tùy chỉnh.


Mỗi giao diện mạng có một địa chỉ MAC duy nhất, được đặt bởi nhà sản xuất. Đó là cách các kết nối mạng xác định các điểm cuối kết nối. Trên Linux, bạn có thể thay đổi địa chỉ MAC vĩnh viễn nếu muốn.

1. Địa chỉ MAC là gì?

Địa chỉ MAC là một mã duy nhất được sử dụng để xác định bởi các mạng nhằm xác định thiết bị là điểm cuối kết nối. Nó trả lời câu hỏi quan trọng "ai là ai" giữa các giao diện mạng.

Mỗi phần của thiết bị mạng đều có ít nhất một giao diện mạng được tích hợp bên trong nó. Máy tính để bàn hoặc máy chủ có thể có nhiều card mạng được cài đặt trong đó. Nhiều máy tính xách tay được cung cấp ổ cắm mạng CAT5 và thẻ Wi-Fi, cung cấp cho bạn hai giao diện mạng ngay lập tức.

Mỗi giao diện mạng có một mã định danh tích hợp duy nhất. Bất kể giao thức mạng được sử dụng để liên lạc với thiết bị đó là gì, ở mức thấp nhất, kết nối được xác định bằng  điều khiển truy cập phương tiện hoặc địa chỉ MAC của nó. Đó là lý do tại sao chúng phải là duy nhất. Làm cho giao diện mạng của bạn sử dụng một địa chỉ MAC khác được gọi là  giả mạo.

Một địa chỉ MAC được tạo thành từ sáu số thập lục phân. Chúng được viết bằng dấu hai chấm ":" hoặc dấu gạch ngang "-" giữa sáu số. Đây là địa chỉ MAC từ một trong những máy tính thử nghiệm của chúng tôi.

Mã nguồn [Chọn]
b0:c0:90:58:b0:72
Thông thường, ba số đầu tiên là  mã định danh duy nhất về mặt tổ chức, đại diện cho nhà sản xuất phần cứng. Bạn có thể giải mã OUI bằng  trang Tra cứu nhà sản xuất Wireshark. Lưu ý rằng đây có thể là nhà sản xuất bo mạch chủ, card mạng hoặc card Wi-Fi của máy tính. Các nhà sản xuất mua nhiều thành phần trong máy tính của họ và lắp ráp chúng thành sản phẩm hoàn chỉnh, vì vậy đừng ngạc nhiên nếu nó khác với nhà sản xuất máy tính của bạn.

Vì địa chỉ MAC được tích hợp sẵn nên bạn thực sự không thể thay đổi chúng. Điều bạn có thể làm là định cấu hình hệ thống Linux của mình để hệ  thống giả vờ  có một địa chỉ MAC khác. Đối với bất kỳ thiết bị nào khác trên mạng, địa chỉ MAC của máy tính của bạn là địa chỉ mà nó phát sóng, vì vậy kết quả cuối cùng là như nhau.

2. Tìm địa chỉ MAC của bạn

Để tìm ra Địa chỉ MAC hiện tại của bạn, bạn có thể sử dụng lệnhip  với linkđối tượng. Thao tác này sẽ liệt kê các giao diện mạng của bạn, cho dù chúng đang được sử dụng hay đã ngắt kết nối mạng.

Mã nguồn [Chọn]
ip link

Máy tính này là máy tính xách tay có kết nối Wi-Fi đang hoạt động wlan0và kết nối Ethernet có dây, enp3s0. Kết nối có dây không được cắm vào, vì vậy nó không hoạt động. Máy tính xách tay cũng có kết nối vòng lặp mặc định, lođã được định cấu hình.

3. Sử dụng macchanger để thay đổi địa chỉ MAC Linux của bạn

Tiện ích này macchangercho phép bạn thay đổi địa chỉ MAC của giao diện mạng với các tùy chọn linh hoạt. Bạn có thể đặt một địa chỉ MAC cụ thể hoặc sử dụng một địa chỉ MAC ngẫu nhiên. Bạn cũng có thể nhận một địa chỉ MAC mới sử dụng ba byte OUI giống như phần cứng của mình để nhà sản xuất giao diện mạng giữ nguyên.

3.1. Cài đặt macchanger

Để cài đặt macchangertrên Ubuntu, hãy sử dụng lệnh này:

Mã nguồn [Chọn]
sudo apt install macchanger

Để cài đặt macchangertrên Fedora, bạn cần gõ:

Mã nguồn [Chọn]
sudo dnf install macchanger

Trên Manjaro, lệnh là:

Mã nguồn [Chọn]
sudo pacman -S macchanger

Tùy thuộc vào phiên bản macchangertrong kho lưu trữ của bản phân phối của bạn, bạn có thể thấy một màn hình hỏi bạn có muốn tạo một địa chỉ MAC mới mỗi khi kết nối mạng được đưa lên mạng hay không. Tức là khi bạn kết nối cáp Ethernet hoặc bật Wi-Fi.


Sử dụng các phím mũi tên để di chuyển phần tô sáng đến tùy chọn bạn muốn sử dụng và nhấn "Enter".

Có một số thuận tiện cho phương pháp này, nhưng chúng ta sẽ chọn "Không". Chúng tôi muốn có một số quyền kiểm soát đối với các địa chỉ MAC mà chúng tôi đang sử dụng. Ngoài ra, bạn có thể không muốn thay đổi địa chỉ MAC trên mọi giao diện mạng mà máy tính của bạn có. Chẳng hạn, có lẽ bạn chỉ muốn thay đổi nó trên thẻ Wi-Fi của mình.

3.2. Sử dụng macchanger để thay đổi tạm thời địa chỉ MAC

Bạn không thể đặt lại địa chỉ MAC trên giao diện mạng đang được sử dụng. Chúng tôi có thể thay đổi địa chỉ MAC của kết nối Ethernet vì nó không được kết nối nên không hoạt động.

Tùy chọn -r (ngẫu nhiên) tạo ra một địa chỉ MAC hoàn toàn ngẫu nhiên. Chúng ta cần chuyển tên của giao diện mạng mà chúng ta muốn đặt địa chỉ MAC.

Mã nguồn [Chọn]
sudo macchanger -r enp3s0

Địa chỉ MAC đang được sử dụng giống với địa chỉ MAC phần cứng cơ bản hoặc địa chỉ MAC cố định. Địa chỉ MAC mới được hiển thị ở dưới cùng.

Chúng tôi cũng có thể thay đổi địa chỉ MAC của thẻ Wi-Fi, nếu chúng tôi mang xuống bộ điều hợp Wi-Fi, hãy thay đổi địa chỉ MAC, sau đó bật bộ điều hợp Wi-Fi.

Mã nguồn [Chọn]
sudo networkctl down wlan0
Mã nguồn [Chọn]
sudo macchanger -r wlan0
Mã nguồn [Chọn]
sudo networkctl up wlan0

Nếu bạn không muốn một địa chỉ MAC ngẫu nhiên, bạn có thể sử dụng -m(tùy chọn địa chỉ MAC) và chỉ định một địa chỉ MAC ở định dạng dấu hai chấm ":", ở dạng thập lục phân chữ thường.

Mã nguồn [Chọn]
sudo macchanger -m ae:f9:9b:31:40:c0 enp3s0

4. Cách thay đổi vĩnh viễn địa chỉ MAC

Điều đó thật tuyệt và đơn giản, nhưng nó không tồn tại khi khởi động lại.

Tuy nhiên, chúng ta có thể đạt được điều đó bằng cách sử dụng systemdtệp đơn vị. Chúng tôi sẽ macchangercung cấp cho máy tính xách tay địa chỉ MAC mới cho giao diện Ethernet và Wi-Fi của nó mỗi khi nó khởi động.

Chúng tôi sẽ sử dụng -etùy chọn (kết thúc) để địa chỉ MAC được thay đổi nhưng ba byte OUI vẫn giữ nguyên.

Điều đó có nghĩa là địa chỉ MAC giả mạo của chúng tôi sẽ có vẻ thuộc về phần cứng được sản xuất bởi cùng các công ty đã tạo ra phần cứng Ethernet và Wi-Fi thực tế của chúng tôi. Điều này sẽ tránh được sự cố với bất kỳ bộ định tuyến, tường lửa hoặc bộ chuyển mạch nào từ chối các gói không đến từ phần cứng của nhà sản xuất được công nhận.

Chúng tôi sẽ tạo ra hai dịch vụ. Sẽ có một cho kết nối Ethernet và một cho kết nối Wi-Fi. Một tệp đơn vị sẽ hoạt động như một mẫu cho từng dịch vụ.

Để tạo tệp đơn vị của chúng tôi, chúng tôi cần sử dụngsudo  và chỉnh sửa tệp có tên cơ sở mà chúng tôi muốn các dịch vụ của mình có. Dấu hiệu "@" trong tên tệp được thay thế bằng tên của kết nối mạng khi dịch vụ được khởi chạy, như chúng ta sẽ thấy.

Chúng tôi đang gọi tệp đơn vị của mình là "[email protected]" vì nó giả mạo địa chỉ MAC.

Mã nguồn [Chọn]
sudo gedit /etc/systemd/system/[email protected]

Sao chép văn bản này vào tệp đơn vị của bạn, lưu tệp của bạn và đóng trình chỉnh sửa của bạn.

Mã nguồn [Chọn]
[Unit]
Description=Spoofing MAC address on %I
Wants=network-pre.target
Before=network-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
ExecStart=/usr/bin/macchanger -e %I
Type=oneshot

[Install]
WantedBy=multi-user.target

Chúng tôi cần tạo một dịch vụ cho mỗi kết nối của chúng tôi. Chúng tôi thực hiện việc này bằng cách thêm tên của giao diện mạng vào sau dấu "@" trong tên thiết bị. Chúng tôi sẽ thực hiện kết nối Ethernet trước:

Mã nguồn [Chọn]
sudo systemctl enable [email protected]
Và chúng tôi sẽ làm điều tương tự cho kết nối Wi-Fi của chúng tôi.

Mã nguồn [Chọn]
sudo systemctl enable [email protected]

Sau khi khởi động lại máy tính xách tay của mình, chúng ta có thể sử dụng macchangerđể xem địa chỉ MAC hiện tại của mình là gì. Lưu ý rằng chúng tôi không cần sử dụng sudovì chúng tôi chỉ sử dụng macchangerđể báo cáo về cài đặt địa chỉ MAC chứ không phải để thay đổi chúng.

Mã nguồn [Chọn]
macchanger enp3s0
Mã nguồn [Chọn]
macchanger wlan0

Điều này cho chúng tôi thấy các địa chỉ MAC hiện đang hoạt động, giả mạo, trên hai giao diện mạng của chúng tôi và địa chỉ MAC ban đầu của chúng.

Bởi vì chúng tôi đã sử dụng -etùy chọn (kết thúc) trong tệp đơn vị của mình, ba byte đầu tiên của địa chỉ giả mạo giống với ba byte đầu tiên của địa chỉ MAC ban đầu.

5. Thay đổi vĩnh viễn địa chỉ MAC bằng GNOME

Hầu hết các môi trường máy tính để bàn đều cho phép bạn đặt địa chỉ MAC mới. Trong Gnome, bạn có thể thực hiện việc này bằng cách mở "Cài đặt" và chọn "Wi-Fi" hoặc "Mạng" từ thanh bên.

Nhấp vào biểu tượng bánh xe có răng cưa bên cạnh kết nối mà bạn muốn đặt địa chỉ MAC và chọn tab "Danh tính".

Bạn có thể nhập địa chỉ MAC mới vào trường "Địa chỉ MAC" hoặc chọn địa chỉ MAC chính hãng từ trình đơn thả xuống.


Trình đơn thả xuống "Địa chỉ được sao chép" cho phép bạn chọn từ:

  • Preserve : Giữ địa chỉ MAC khi khởi động. Không thay đổi từ địa chỉ MAC đã đặt.
  • Vĩnh viễn : Sử dụng địa chỉ MAC phần cứng chính hãng.
  • Ngẫu nhiên : Tạo địa chỉ MAC ngẫu nhiên.
  • Ổn định : Tạo địa chỉ MAC băm, ổn định. Mỗi khi kết nối được kích hoạt, cùng một địa chỉ MAC giả sẽ được sử dụng. Điều này có thể hữu ích trong trường hợp bạn muốn ẩn địa chỉ MAC phần cứng của mình, nhưng bạn cần lấy cùng một địa chỉ IP từ bộ định tuyến DHCP.

Các thay đổi của bạn sẽ diễn ra khi bạn khởi động lại hoặc tắt và bật lại kết nối.

6. Hãy cẩn thận!

Thay đổi địa chỉ MAC của bạn không phải là bất hợp pháp, miễn là bạn không làm điều đó để mạo danh thiết bị mạng của người khác. Khu vực tài phán của bạn có thể sẽ có luật để xử lý việc nhận lưu lượng truy cập mạng bất hợp pháp. Ví dụ: Vương quốc Anh có Đạo luật Lạm dụng Máy tính và Hoa Kỳ có Đạo luật Lạm dụng và Lừa đảo Máy tính.

Trở nên ẩn danh bằng mọi cách, nhưng đừng giả vờ là người khác.