如何在 Linux 中更改 MAC 地址


當連接到公共 WiFi 熱點時,您不想暴露您的真實 MAC 地址。在這種情況下,只需更改或 請使用其他 MAC 地址。在某些情況下,網絡管理員會在路由器或防火牆處阻止某些 MAC 地址。在這種情況下,您可以使用此方法更改 MAC ID。 MAC地址更改是另一個名稱 MAC地址欺騙假MAC地址這個簡短的教程將向您展示如何在 Linux 中更改您的 MAC 地址。

我在 CentOS 7 和 Ubuntu 18.04 LTS 服務器版本上測試了本指南。它工作得很好,如下所述。開始吧。

內容

  1. 在linux中查找mac地址
  2. 在 Linux 中更改 MAC 地址
    1. 方法一:使用 Macchanger
      1. 使用轉換器
    2. 方法二:使用iproute2

在linux中查找mac地址

首先,在 Linux 中找出網絡接口卡的 MAC 或硬件地址。

$ ifconfig | grep HWaddr

示例輸出:

enp0s3    Link encap:Ethernet  HWaddr 08:xx:xx:xx:xx:x1

再次,

$ ip link show
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
 link/ether 08:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff

$ ifconfig | grep ether

示例輸出:

ether 24:xx:xx:xx:xx:x9 txqueuelen 1000 (Ethernet)
ether c0:xx:xx:xx:xx:xf txqueuelen 1000 (Ethernet)

您可以使用上述命令之一找到網絡接口卡的 MAC ID。這些命令應該適用於幾乎所有 Linux 發行版。

現在讓我們看看如何更改 MAC 地址。

在 Linux 中更改 MAC 地址

有兩種方法可以做到這一點。請注意,您不應該對當前正在使用的實時網卡執行此操作。這樣做可能會導致網絡連接中斷。用附加卡試試這個方法。

方法一:使用 Macchanger

移位器 是一個簡單的實用程序,用於查看、更改和操作網絡接口卡的 MAC 地址。適用於幾乎所有 GNU/Linux 操作系統。

對於 Arch Linux:

要在 Arch Linux 及其衍生產品上安裝 Macchanger,請運行以下命令:

$ sudo pacman -S macchanger

對於 Fedora、CentOS、RHEL:

$ sudo yum install macchanger

$ sudo dnf install macchanger

對於 Debian/Ubuntu:

要在 Debian、Ubuntu 及其衍生產品上使用 macchanger,請運行:

$ sudo apt-get install macchanger

指定 macchanger 是否設置為每次網絡設備啟動或關閉時自動運行。每次插入以太網電纜或重新啟用 Wi-Fi 時,這將為您提供一個新的 MAC 地址。

我們建議不要自動執行此操作,除非您確實需要每次都更改 MAC ID。所以選擇 不要做 按 ENTER 繼續。

已安裝 Macchanger。

使用轉換器

分配隨機 MAC 地址:

$ macchanger -r <interface-name>

要找出網絡接口名稱,請運行:

$ ip addr

示例輸出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether 08:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.105/24 brd 192.168.1.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet6 fe80::a00:27ff:fe12:f8c1/64 scope link 
 valid_lft forever preferred_lft forever

正如您在上面的屏幕截圖中看到的, enp0s3 是我的網絡接口卡的名稱。

更改 MAC 地址 enp0s3 網卡,運行:

$ sudo macchanger -r enp0s3

更改 MAC ID 後,使用以下命令進行驗證:

$ ip addr

示例輸出:

更改 MAC 地址 3

你可以看到MAC被欺騙了。

要將 MAC 地址更改為特定值,請使用以下命令並指定自定義 MAC 地址。

$ macchanger --mac=XX:XX:XX:XX:XX:XX 

在哪裡 XX:XX:XX:XX:XX:XX 您要更改的新 MAC ID。

最後,要將 MAC 地址恢復為其原始的持久硬件值,請運行以下命令:

$ macchanger -p enp0s3

更改 MAC 地址 4

但是,您不必這樣做。重新啟動系統後,更改將自動丟失,並再次恢復真實 MAC 地址。

有關詳細信息,請參見手冊頁。

$ man macchanger

方法二:使用iproute2

首先,使用以下命令關閉網卡:

$ sudo ip link set dev enp0s3 down

然後使用以下命令設置新 MAC:

$ sudo ip link set dev enp0s3 address XX:XX:XX:XX:XX:XX

最後,使用以下命令重新打開它:

$ sudo ip link set dev enp0s3 up

然後使用以下命令檢查新的 MAC ID:

$ ip link show enp0s3

示例輸出:

link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

或者你可以使用 “ifconfig”命令 如下所述。

$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 hw ether 00:80:48:BA:d1:30
$ sudo ifconfig eth0 up
$ ifconfig eth0 | grep HWaddr

而已。

推薦閱讀:

  • 在 Linux 中為單個網卡分配多個 IP 地址

如您所見,這兩種方法都非常簡單。請選擇適合您的那一款。要恢復原始 MAC 地址,只需重新啟動系統即可。

希望這可以幫助。 如果您知道其他更改 MAC 地址的方法,請在下面的評論中分享。

CentOS 7 上的 MAC 地址 Linux 更改硬件地址 Linux Linux 命令 Linux 網絡 MAC MAC 地址 Ubuntu 16.04Ubuntu 18.04