如何在 Linux 上永久更改您的 MAC 地址
已發表: 2023-04-02每個網絡接口都有一個唯一的 MAC 地址,由製造商設置。 這就是網絡連接識別連接端點的方式。 在 Linux 上,您可以根據需要永久更改 MAC 地址。
什麼是 MAC 地址?
查找您的 MAC 地址
使用 macchanger 更改您的 Linux MAC 地址
安裝 macchanger
使用 macchanger 臨時更改 MAC 地址
如何永久更改 MAC 地址
使用 GNOME 永久更改 MAC 地址
當心!
什麼是 MAC 地址?
MAC 地址是網絡用來標識設備作為連接端點的唯一代碼。 它回答了網絡接口中“誰是誰”的關鍵問題。
每一台網絡設備都至少內置了一個網絡接口。 台式計算機或服務器中可能安裝有多個網卡。 許多筆記本電腦都配備了一個 CAT5 網絡插座和一個 Wi-Fi 卡,開箱即用,為您提供兩個網絡接口。
每個網絡接口都有一個唯一的內置標識符。 無論用於與該設備通信的網絡協議如何,在最低級別,連接由其媒體訪問控製或 MAC 地址標識。 這就是為什麼它們必須是獨一無二的。 讓您的網絡接口使用不同的 MAC 地址稱為欺騙。
MAC 地址由六個十六進制數組成。 它們在六個數字中的每一個之間用冒號“:”或連字符“-”書寫。 這是我們其中一台測試計算機的 MAC 地址。
b0:c0:90:58:b0:72
大多數情況下,前三個數字是組織上唯一的標識符,代表硬件製造商。 您可以使用 Wireshark 製造商查找頁面解碼 OUI。 請注意,這可能是您計算機主板、網卡或 Wi-Fi 卡的製造商。 製造商購買他們計算機的許多組件並將它們組裝成成品,因此如果它與您的計算機製造商不同,請不要感到驚訝。
因為 MAC 地址是內置的,所以您無法真正更改它們。 你可以做的是配置你的 Linux 系統,讓它假裝有一個不同的 MAC 地址。 對於網絡上的任何其他設備而言,您計算機的 MAC 地址就是它廣播的地址,因此最終結果是相同的。
查找您的 MAC 地址
要找出您當前的 MAC 地址,您可以使用帶有link
對象的ip
命令。 這將列出您的網絡接口,無論它們是在使用中還是斷開網絡連接。
ip鏈接
這台計算機是一台筆記本電腦,具有活動的 Wi-Fi 連接wlan0
和有線以太網連接enp3s0
。 有線連接未插入,因此處於非活動狀態。 筆記本電腦還配置了默認環回連接lo
。
相關:如何在 Linux 上使用 ip 命令
使用 macchanger 更改您的 Linux MAC 地址
macchanger
實用程序允許您使用靈活的選項更改網絡接口的 MAC 地址。 您可以設置特定的 MAC 地址或使用隨機 MAC 地址。 您還可以獲得一個新的 MAC 地址,該地址使用與您的硬件相同的三個 OUI 字節,以便網絡接口製造商保持不變。
安裝 macchanger
要在 Ubuntu 上安裝macchanger
,請使用以下命令:
sudo apt 安裝 macchanger
要在 Fedora 上安裝macchanger
,您需要輸入:
sudo dnf 安裝 macchanger
在 Manjaro 上,命令是:
sudo pacman -S macchanger
根據您的發行版存儲庫中的macchanger
版本,您可能會看到一個屏幕,詢問您是否要在每次網絡連接聯機時創建一個新的 MAC 地址。 也就是說,當您連接以太網電纜或啟用 Wi-Fi 時。
使用箭頭鍵將突出顯示移動到您要使用的選項,然後按“Enter”。
這種方法有一些方便,但我們將選擇“否”。 我們希望對我們使用的 MAC 地址有一些控制。 此外,您可能不想更改計算機具有的每個網絡接口上的 MAC 地址。 例如,您可能只想在 Wi-Fi 卡上更改它。
使用 macchanger 臨時更改 MAC 地址
您無法重置正在使用的網絡接口上的 MAC 地址。 我們可以更改以太網連接的 MAC 地址,因為它未連接,因此處於非活動狀態。
-r
(隨機)選項生成一個完全隨機的 MAC 地址。 我們需要傳遞要設置 MAC 地址的網絡接口的名稱。
sudo macchanger -r enp3s0
正在使用的 MAC 地址與底層硬件 MAC 地址或永久 MAC 地址相同。 新的 MAC 地址顯示在底部。
我們也可以更改 Wi-Fi 卡的 MAC 地址,如果我們關閉 Wi-Fi 適配器,更改 MAC 地址,然後啟用 Wi-Fi 適配器。
sudo networkctl down wlan0
sudo macchanger -r wlan0
sudo networkctl up wlan0
如果您不想要隨機 MAC 地址,可以使用-m
(MAC 地址選項)並以冒號“:”格式指定 MAC 地址,以小寫十六進製表示。
sudo macchanger -m ae:f9:9b:31:40:c0 enp3s0
相關:如何在 Ubuntu 中設置靜態 IP 地址
如何永久更改 MAC 地址
這一切都很好也很簡單,但它無法在重啟後繼續存在。
然而,我們可以通過使用systemd
單元文件來實現這一點。 我們將讓macchanger
在每次啟動時為我們的筆記本電腦的以太網和 Wi-Fi 接口提供新的 MAC 地址。
我們將使用-e
(結尾)選項,以便更改 MAC 地址但三個 OUI 字節保持不變。
這意味著我們的欺騙性 MAC 地址似乎屬於製造我們實際以太網和 Wi-Fi 硬件的同一家公司製造的硬件。 這將避免任何路由器、防火牆或交換機出現問題,這些路由器、防火牆或交換機會拒絕來自非公認製造商的硬件的數據包。
我們將創建兩個服務。 一個用於以太網連接,一個用於 Wi-Fi 連接。 單個單元文件將充當每個服務的模板。
要創建我們的單元文件,我們需要使用sudo
並使用我們希望我們的服務具有的基本名稱編輯一個文件。 正如我們將看到的,當服務啟動時,文件名中的 at 符號“@”將替換為網絡連接的名稱。
我們稱我們的單元文件為“[email protected]”,因為它會欺騙 MAC 地址。
sudo gedit /etc/systemd/system/[email protected]
將此文本複製到單元文件中,保存文件,然後關閉編輯器。
[單元] 描述=%I 上的欺騙 MAC 地址 想要=網絡-pre.target 之前=網絡-pre.target BindsTo=sys-subsystem-net-devices-%i.device After=sys-subsystem-net-devices-%i.device [服務] ExecStart=/usr/bin/macchanger -e %I 類型=oneshot [安裝] WantedBy=多用戶.target
我們需要為每個連接創建一個服務。 我們通過在單元名稱中的 at 符號“@”後面添加網絡接口的名稱來實現這一點。 我們將首先進行以太網連接:
sudo systemctl 啟用 [email protected]
我們將為 Wi-Fi 連接做同樣的事情。
sudo systemctl 啟用 [email protected]
重啟我們的筆記本電腦後,我們可以使用macchanger
查看我們當前的 MAC 地址是什麼。 請注意,我們不需要使用sudo
,因為我們只是使用macchanger
來報告 MAC 地址設置,而不是更改它們。
macchanger enp3s0
macchanger wlan0
這向我們展示了我們兩個網絡接口上當前活動的、欺騙性的 MAC 地址,以及它們的原始 MAC 地址。
因為我們在單元文件中使用了-e
(結尾)選項,所以偽造地址的前三個字節與原始 MAC 地址的前三個字節相同。
使用 GNOME 永久更改 MAC 地址
大多數桌面環境允許您設置新的 MAC 地址。 在 GNOME 中,您可以通過打開“設置”並從邊欄中選擇“Wi-Fi”或“網絡”來執行此操作。
單擊要為其設置 MAC 地址的連接旁邊的齒輪圖標,然後選擇“身份”選項卡。
您可以在“MAC 地址”字段中輸入新的 MAC 地址,或從下拉菜單中選擇真實的 MAC 地址。
“克隆地址”下拉菜單可讓您選擇:
- 保留:在啟動時保留 MAC 地址。 不要更改設置的 MAC 地址。
- 永久:使用真正的硬件 MAC 地址。
- 隨機:生成一個隨機 MAC 地址。
- 穩定:生成穩定的散列 MAC 地址。 每次連接激活時,都會使用相同的假 MAC 地址。 這在您想隱藏硬件 MAC 地址但又需要從 DHCP 路由器獲取相同 IP 地址的情況下很有用。
您的更改將在您重新啟動或關閉並重新打開連接時生效。
當心!
更改您的 MAC 地址並不違法,只要您這樣做不是為了冒充他人的網絡設備。 您所在的司法管轄區可能已經制定了處理非法接收網絡流量的法律。 例如,英國有《計算機濫用法》,美國有《計算機欺詐和濫用法》。
一定要匿名,但不要冒充別人。
相關:如何在 Linux 上使用 bmon 監控網絡帶寬