搜尋
首頁系統教程LinuxUbuntu 16.04 下隨機化你的 WiFi MAC 位址的方法

Ubuntu 16.04 下隨機化你的 WiFi MAC 位址的方法

Mar 09, 2024 am 10:43 AM
linuxlinux教程紅帽linux系統linux指令linux認證紅帽linuxlinux視頻

Ubuntu 16.04 下随机化你的 WiFi MAC 地址的方法

#這項設計的缺陷在於唯一性,不變的 MAC 位址剛好可以用來追蹤你。連上了星巴克的 WiFi? 好,注意到了。在倫敦的地鐵上? 也記錄下來。

如果你曾經在某一個 WiFi 驗證頁面上輸入過你的真實姓名,你就已經把自己和這個 MAC 位址建立了聯繫。沒有仔細閱讀許可服務條款、你可以認為,機場的免費 WiFi 正透過出售所謂的 ‘顧客分析數據’(你的個人資訊)獲利。出售的對象包括酒店,餐飲業,和任何想要了解你的人。

我不想資訊被記錄,再出售給多家公司,所以我花了幾個小時想出了一個解決方案。

MAC 位址不一定總是不變的

幸運的是,在不斷開網路的情況下,是可以隨機產生一個偽 MAC 位址的。

我想隨機產生我的 MAC 位址,但有三個要求:

  1. MAC 位址在不同網路中是不相同的。這意味著,我在星巴克和在倫敦地鐵網路中的 MAC 位址是不相同的,這樣在不同的服務提供者中就無法將我的活動繫起來。
  2. MAC 位址需要經常更換,這樣在網路上就沒人知道我就是去年在這裡經過了 75 次的那個人。
  3. MAC 位址一天之內應該保持不變。當 MAC 位址更改時,大多數網路都會與你斷開連接,然後必須必須進入驗證頁面再次登陸 - 這很煩人。
操作網路管理器

#我第一次嘗試用一個叫做 macchanger的工具,但失敗了。因為網路管理器NetworkManager會根據它自己的設定來恢復預設的 MAC 位址。

我了解到,網路管理器 1.4.1 以上版本可以自動產生隨機的 MAC 位址。如果你在使用 Ubuntu 17.04 版本,你可以根據這個設定檔來實現這個目的。但這並不能完全符合我的三個要求(你必須在隨機random穩定stable這兩個選項之中選擇一個,但沒有一天之內保持不變這一選項)

因為我使用的是 Ubuntu 16.04,網路管理器版本為 1.2,不能直接使用高版本這項新功能。可能網路管理器有一些隨機化方法支持,但我沒能成功。所以我編了一個腳本來實現這個目標。

幸運的是,網路管理員 1.2 允許模擬 MAC 位址。你在已連線的網路中可以看見 ‘編輯連線’ 這個選項。

網路管理器也支援鉤子處理 —— 任何位於 /etc/NetworkManager/dispatcher.d/pre-up.d/ 的腳本在建立網路連線之前都會執行。

分配隨機產生的偽 MAC 位址

我想根據網路 ID 和日期來產生新的隨機 MAC 位址。我們可以使用網路管理器的命令列工具 nmcli 來顯示所有可用網路:

ifconfig
> nmcli connection
NAME UUID TYPE DEVICE
Gladstone Guest 618545ca-d81a-11e7-a2a4-271245e11a45 802-11-wireless wlp1s0
DoESDinky 6e47c080-d81a-11e7-9921-87bc56777256 802-11-wireless --
PublicWiFi 79282c10-d81a-11e7-87cb-6341829c2a54 802-11-wireless --
virgintrainswifi 7d0c57de-d81a-11e7-9bae-5be89b161d22 802-11-wireless --

因為每個網路都有一個唯一識別碼(UUID),為了實現我的計劃,我將 UUID 和日期拼接在一起,然後使用 MD5 產生 hash 值:

ifconfig
# eg 618545ca-d81a-11e7-a2a4-271245e11a45-2017-12-03
> echo -n "${UUID}-$(date +%F)" | md5sum
53594de990e92f9b914a723208f22b3f -

產生的結果可以取代 MAC 位址的最後八個位元組。

值得注意的是,最開始的位元組 02 代表這個位址是自行指定的。實際上,真實 MAC 位址的前三個位元組是由製造商決定的,例如 b4:b6:76 就代表 Intel。

有可能某些路由器會拒絕自己指定的 MAC 位址,但我還沒遇過這種情況。

每次連接到一個網絡,這個腳本都會用nmcli  來指定一個隨機產生的偽 MAC 位址。

最後,我查看了 ifconfig 的輸出結果,我發現 MAC 位址 HWaddr 已經變成了隨機產生的位址(模擬 Intel 的),而不是我真實的 MAC 位址。

> ifconfig
wlp1s0 Link encap:Ethernet HWaddr b4:b6:76:45:64:4d
inet addr:192.168.0.86 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::648c:aff2:9a9d:764/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12107812 errors:0 dropped:2 overruns:0 frame:0
TX packets:18332141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11627977017 (11.6 GB) TX bytes:20700627733 (20.7 GB)
腳本

完整的腳本也可以在 Github 上查看。

更新:使用自己指定的 MAC 位址可以避免和真正的 intel 位址衝突。感謝 @_fink


以上是Ubuntu 16.04 下隨機化你的 WiFi MAC 位址的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:Linux就该这么学。如有侵權,請聯絡admin@php.cn刪除
Linux實際上有什麼好處?Linux實際上有什麼好處?Apr 12, 2025 am 12:20 AM

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

在Linux上掌握道德黑客的基本工具和框架在Linux上掌握道德黑客的基本工具和框架Apr 11, 2025 am 09:11 AM

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

如何學習Linux基礎知識?如何學習Linux基礎知識?Apr 10, 2025 am 09:32 AM

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux最有用的是什麼?Linux最有用的是什麼?Apr 09, 2025 am 12:02 AM

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

Linux的缺點是什麼?Linux的缺點是什麼?Apr 08, 2025 am 12:01 AM

Linux的缺點包括用戶體驗、軟件兼容性、硬件支持和學習曲線。 1.用戶體驗不如Windows或macOS友好,依賴命令行界面。 2.軟件兼容性不如其他系統,缺乏許多商業軟件的原生版本。 3.硬件支持不如Windows全面,可能需要手動編譯驅動程序。 4.學習曲線較陡峭,掌握命令行操作需要時間和耐心。

Linux難以學習嗎?Linux難以學習嗎?Apr 07, 2025 am 12:01 AM

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas

Linux的5個基本組件是什麼?Linux的5個基本組件是什麼?Apr 06, 2025 am 12:05 AM

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。

Ubuntu Home Automation:使用開源工具建立智能的居住空間Ubuntu Home Automation:使用開源工具建立智能的居住空間Apr 05, 2025 am 09:19 AM

開啟智能家居新篇章:基於Ubuntu的開源家庭自動化系統 智能家居技術徹底改變了我們與生活空間的互動方式,為日常生活帶來了便利、安全和能源效率。從遠程控制燈光和電器,到監控安全攝像頭和自動化氣候控制,智能家居技術變得越來越普及。 然而,許多商業智能家居系統存在局限性:高昂的成本、隱私問題以及有限的兼容性。幸運的是,開源軟件解決方案結合Ubuntu的強大功能,提供了一種替代方案——允許用戶創建可定制、經濟高效且安全的智能家居生態系統。 本指南將探討如何使用Ubuntu和開源工具設置家庭自動化系統。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用