如何在 Linux 中更改 MAC 地址

如何在 Linux 中更改 MAC 地址

在向你展示如何在 Linux 中更改 Mac 地址之前,讓我們首先討論為什麼要更改它。-- Dimitrios Savvopoulos(作者)

在向你展示如何在 Linux 中更改 MAC 地址之前,讓我們首先討論為什麼要更改它。

可能有幾個原因。也許你不希望在公共網絡上公開你的實際 MAC 地址 (也稱為物理地址)?還有可能是網絡管理員可能已在路由器或防火牆中阻止了特定的 MAC 地址。

一個實用的“好處”是某些公共網絡(例如機場 WiFi)允許在有限的時間內免費上網。如果你還想繼續使用,那麼偽造 Mac 地址可能會欺騙網絡,讓它認為是一臺新設備。這也是一個有名的原因。

我將展示更改 MAC 地址(也稱為欺騙/偽造 MAC 地址)的步驟。

在 Linux 中更改 MAC 地址

讓我們一步步來:

查找你的 MAC 地址和網絡接口

讓我們找出一些 關於 Linux 中網卡的細節 。使用此命令獲取網絡接口詳細信息:

<code>ip link show/<code>

在輸出中,你將看到一些詳細信息以及 MAC 地址:

<code>1: lo: <loopback> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <no-carrier> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 94:c6:f8:a7:d7:30 brd ff:ff:ff:ff:ff:ff
3: enp0s31f6: <broadcast> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 38:42:f8:8b:a7:68 brd ff:ff:ff:ff:ff:ff
4: docker0: <no-carrier> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 42:02:07:8f:a7:38 brd ff:ff:ff:ff:ff:ff/<no-carrier>/<broadcast>/<no-carrier>/<loopback>/<code>

如你所見,在這裡,我的網絡接口稱為 enp0s31f6,MAC 地址為 38:42:f8:8b:a7:68。

你可能需要在安全的地方記錄下來,以便稍後還原到該原始 MAC 地址。

現在你可以繼續更改 MAC 地址。

注意!

如果在當前使用的網絡接口上執行此操作,那麼可能會中斷你的網絡連接。因此,請在其他網卡上嘗試使用此方法,或者準備重啟網絡。

方法 1:使用 Macchanger 更改 MAC 地址

如何在 Linux 中更改 MAC 地址

Macchanger 是查看、修改和操作網卡 MAC 地址的簡單程序。它幾乎在所有 GNU/Linux 操作系統中都可用,你可以使用發行版的包安裝程序進行安裝。

在 Arch Linux 或 Manjaro 上:

<code>sudo pacman -S macchanger/<code>

在 Fedora、CentOS 和 RHEL 上:

<code>sudo dnf install macchanger/<code>

在 Debian、Ubuntu、Linux Mint、Kali Linux 上:

<code>sudo apt install macchanger/<code>

重要!系統會要求你選擇是否應將 macchanger 設置為在每次啟動或關閉網絡設備時自動運行。每當你接到網線或重啟 WiFi 時,它都會提供一個新的 MAC 地址。

如何在 Linux 中更改 MAC 地址

Not a good idea to run it automatically

我建議不要自動運行它,除非你確實需要每次更改 MAC 地址。因此,選擇“No”(按 Tab 鍵),然後按回車鍵繼續。

如何使用 Macchanger 更改 MAC 地址

你還記得網絡接口名稱嗎?你在前面的步驟中獲得了它。

現在,要將隨機 MAC 地址分配給該網卡,請使用:

<code>sudo macchanger -r enp0s31f6/<code>

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

<code>ip addr/<code>

現在你將看到已經偽造 MAC。

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

<code>macchanger --mac=XX:XX:XX:XX:XX:XX/<code>

其中 XX:XX:XX:XX:XX:XX 是你要更改的新 MAC。

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

<code>macchanger -p enp0s31f6/<code>

但是,你不必如此。重啟系統後,更改將自動丟失,並且實際的 MAC 地址將再次恢復。

你可以隨時查看手冊頁以獲取更多詳細信息。

方法 2:使用 iproute2 更改 Mac 地址(中級知識)

我建議你使用 macchanger,但如果你不想使用它,那麼可以使用另一種方法在 Linux 中更改 MAC 地址。

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

<code>sudo ip link set dev enp0s31f6 down/<code>

接下來,使用以下命令設置新的 MAC:

<code>sudo ip link set dev enp0s31f6 address XX:XX:XX:XX:XX:XX/<code>

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

<code>sudo ip link set dev enp0s31f6 up/<code>

現在,驗證新的 MAC 地址:

<code>ip link show enp0s31f6/<code>

就是這些了。你已經成功地在 Linux 中修改了 MAC 地址。敬請期待 FOSS 更多有關 Linux 教程和技巧的文章。


via: https://itsfoss.com/change-mac-address-linux/

作者: Dimitrios Savvopoulos 選題: lujun9972 譯者: geekpi 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: