如何在Linux中更改MAC地址
在向你展示如何在 Linux 中更改 MAC 地址之前,讓我們首先討論為什么要更改它。
可能有幾個原因。也許你不希望在公共網(wǎng)絡上公開你的實際 MAC 地址(也稱為物理地址)?還有可能是網(wǎng)絡管理員可能已在路由器或防火墻中阻止了特定的 MAC 地址。
一個實用的“好處”是某些公共網(wǎng)絡(例如機場 WiFi)允許在有限的時間內(nèi)免費上網(wǎng)。如果你還想繼續(xù)使用,那么偽造 Mac 地址可能會欺騙網(wǎng)絡,讓它認為是一臺新設備。這也是一個有名的原因。
我將展示更改 MAC 地址(也稱為欺騙/偽造 MAC 地址)的步驟。
在 Linux 中更改 MAC 地址
讓我們一步步來:
查找你的 MAC 地址和網(wǎng)絡接口
讓我們找出一些關(guān)于 Linux 中網(wǎng)卡的細節(jié)。使用此命令獲取網(wǎng)絡接口詳細信息:
ip link show
在輸出中,你將看到一些詳細信息以及 MAC 地址:
1: lo: <LOOPBACK,UP,LOWER_UP> 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,BROADCAST,MULTICAST,UP> 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,MULTICAST,UP,LOWER_UP> 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,BROADCAST,MULTICAST,UP> 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
如你所見,在這里,我的網(wǎng)絡接口稱為 enp0s31f6
,MAC 地址為 38:42:f8:8b:a7:68
。
你可能需要在安全的地方記錄下來,以便稍后還原到該原始 MAC 地址。
現(xiàn)在你可以繼續(xù)更改 MAC 地址。
注意!
如果在當前使用的網(wǎng)絡接口上執(zhí)行此操作,那么可能會中斷你的網(wǎng)絡連接。因此,請在其他網(wǎng)卡上嘗試使用此方法,或者準備重啟網(wǎng)絡。
方法 1:使用 Macchanger 更改 MAC 地址
Macchanger 是查看、修改和操作網(wǎng)卡 MAC 地址的簡單程序。它幾乎在所有 GNU/Linux 操作系統(tǒng)中都可用,你可以使用發(fā)行版的包安裝程序進行安裝。
在 Arch Linux 或 Manjaro 上:
sudo pacman -S macchanger
在 Fedora、CentOS 和 RHEL 上:
sudo dnf install macchanger
在 Debian、Ubuntu、Linux Mint、Kali Linux 上:
sudo apt install macchanger
重要!系統(tǒng)會要求你選擇是否應將 macchanger
設置為在每次啟動或關(guān)閉網(wǎng)絡設備時自動運行。每當你接到網(wǎng)線或重啟 WiFi 時,它都會提供一個新的 MAC 地址。
Not a good idea to run it automatically
我建議不要自動運行它,除非你確實需要每次更改 MAC 地址。因此,選擇“No”(按 Tab
鍵),然后按回車鍵繼續(xù)。
如何使用 Macchanger 更改 MAC 地址
你還記得網(wǎng)絡接口名稱嗎?你在前面的步驟中獲得了它。
現(xiàn)在,要將隨機 MAC 地址分配給該網(wǎng)卡,請使用:
sudo macchanger -r enp0s31f6
更改 MAC 后,使用以下命令進行驗證:
ip addr
現(xiàn)在你將看到已經(jīng)偽造 MAC。
要將 MAC 地址更改為特定值,請使用以下命令指定自定義 MAC 地址:
macchanger --mac=XX:XX:XX:XX:XX:XX
其中 XX:XX:XX:XX:XX:XX 是你要更改的新 MAC。
最后,要將 MAC 地址恢復為其原始硬件值,請運行以下命令:
macchanger -p enp0s31f6
但是,你不必如此。重啟系統(tǒng)后,更改將自動丟失,并且實際的 MAC 地址將再次恢復。
你可以隨時查看手冊頁以獲取更多詳細信息。
方法 2:使用 iproute2 更改 Mac 地址(中級知識)
我建議你使用 macchanger,但如果你不想使用它,那么可以使用另一種方法在 Linux 中更改 MAC 地址。
首先,使用以下命令關(guān)閉網(wǎng)卡:
sudo ip link set dev enp0s31f6 down
接下來,使用以下命令設置新的 MAC:
sudo ip link set dev enp0s31f6 address XX:XX:XX:XX:XX:XX
最后,使用以下命令重新打開網(wǎng)絡:
sudo ip link set dev enp0s31f6 up
現(xiàn)在,驗證新的 MAC 地址:
ip link show enp0s31f6
就是這些了。你已經(jīng)成功地在 Linux 中修改了 MAC 地址。