Linux使用NetworkManager隨機(jī)生成你的MAC地址
今時(shí)今日,無論在家里的沙發(fā)上,還是在外面的咖啡廳,只要打開筆記本電腦,連上 Wi-Fi,就能通過網(wǎng)絡(luò)與外界保持聯(lián)系。但現(xiàn)在的 Wi-Fi 熱點(diǎn)們大都能夠通過 每張網(wǎng)卡對(duì)應(yīng)的唯一 MAC 地址 來追蹤你的設(shè)備。下面就來看一下如何避免被追蹤。
現(xiàn)在很多人已經(jīng)開始注重個(gè)人隱私這個(gè)問題。個(gè)人隱私問題并不僅僅指防止他人能夠訪問到你電腦上的私有內(nèi)容(這又是另一個(gè)問題了),而更多的是指 可追蹤性(legibility),也就是是否能夠被輕易地統(tǒng)計(jì)和追蹤到。大家都應(yīng)該 對(duì)此更加重視 。同時(shí),這方面的底線是,服務(wù)提供者在得到了用戶的授權(quán)后才能對(duì)用戶進(jìn)行追蹤,例如機(jī)場(chǎng)的計(jì)時(shí) Wi-Fi 只有在用戶授權(quán)后才能夠使用。
因?yàn)楣潭ǖ?MAC 地址能被輕易地追蹤到,所以應(yīng)該定時(shí)進(jìn)行更換,隨機(jī)的 MAC 地址是一個(gè)好的選擇。由于 MAC 地址一般只在局域網(wǎng)內(nèi)使用,因此隨機(jī)的 MAC 地址也不大會(huì)產(chǎn)生沖突 。
NetworkManager簡(jiǎn)介
NetworkManager由一個(gè)管理系統(tǒng)網(wǎng)絡(luò)連接、并且將其狀態(tài)通過D-BUS(是一個(gè)提供簡(jiǎn)單的應(yīng)用程序 互相通訊的途徑的自由軟件項(xiàng)目,它是做為freedesktoporg項(xiàng)目的一部分來開發(fā)的。)進(jìn)行報(bào)告的后臺(tái)服務(wù),以及一個(gè)允許用戶管理網(wǎng)絡(luò)連接的客戶 端程序。
NetworkManager服務(wù):NetworkManager - Linux Networking made Easy
NetworkManager的優(yōu)點(diǎn):簡(jiǎn)化網(wǎng)絡(luò)連接的工作,讓桌面本身和其他應(yīng)用程序能感知網(wǎng)絡(luò)。
NetworkManager的后臺(tái)服務(wù):對(duì)于GNOME和Xfce那就是nm-applet工具,而對(duì)于KDE用戶來說就是KNetworkManager。
早期版本的NetworkManager(早期稱為NetworkMangler,即網(wǎng)絡(luò)磨肉機(jī))使用很不方便,但是現(xiàn)在其已經(jīng)成為了一個(gè)強(qiáng)大的工具,讓管理網(wǎng)絡(luò)不再痛苦。
NetworkManager 新版本的改進(jìn)和新功能
NetworkManager 新版本支持更多的的網(wǎng)絡(luò)設(shè)備有關(guān)。從0.8.1開始增加了用于GSM、UMTS和CDMA卡等移動(dòng)寬帶設(shè)備ModemManager的支持。使用 ModemManager也有新的功能,比如信號(hào)強(qiáng)度顯示和選擇2G/3G模式的功能。還可以關(guān)掉漫游功能以避免產(chǎn)生額外的連接費(fèi)用;
NetworkManager 0.8.1后還支持使用藍(lán)牙,不僅支持個(gè)人區(qū)域網(wǎng)絡(luò)(PAN)上網(wǎng),也支持老的藍(lán)牙撥號(hào)網(wǎng)絡(luò)(DUN)協(xié)議。所有(或者說最多)支持的設(shè)備可以在wiki上找到;
NetworkManager支持IPv6的自動(dòng)配置和靜態(tài)IP;NetworkManager 新版本還會(huì)帶來IPv6的DHCP支持
NetworkManager 新版本增強(qiáng)設(shè)備以及協(xié)議的支持,NetworkManager 最新版有一個(gè)全新的漂亮的客戶端界面。
命令行接口:NetworkManager 最新版的最大特征:命令行工具命令,一個(gè)NetworkManager的命令行接口。
NetworkManager有自己的CLI工具:nmcli。使用nmcli用戶可以查詢網(wǎng)絡(luò)連接的狀態(tài),也可以用來管理。優(yōu)點(diǎn):原始;語法相對(duì)簡(jiǎn)單;在CLI中使用NetworkManager很容易掌握。
配置 NetworkManager
要將隨機(jī)的 MAC 地址默認(rèn)地用于所有的 Wi-Fi 連接,需要?jiǎng)?chuàng)建 /etc/NetworkManager/conf.d/00-macrandomize.conf 這個(gè)文件:
[device] wifi.scan-rand-mac-address=yes [connection] wifi.cloned-mac-address=stable ethernet.cloned-mac-address=stable connection.stable-id=${CONNECTION}/${BOOT}
然后重啟 NetworkManager :
systemctl restart NetworkManager
以上配置文件中,將 cloned-mac-address 的值設(shè)置為 stable 就可以在每次 NetworkManager 激活連接的時(shí)候都生成相同的 MAC 地址,但連接時(shí)使用不同的 MAC 地址。如果要在每次激活連接時(shí)也獲得隨機(jī)的 MAC 地址,需要將 cloned-mac-address 的值設(shè)置為 random。
設(shè)置為 stable 可以從 DHCP 獲取相同的 IP 地址,也可以讓 Wi-Fi 的 強(qiáng)制主頁 (captive portal)根據(jù) MAC 地址記住你的登錄狀態(tài)。如果設(shè)置為 random ,在每次連接的時(shí)候都需要重新認(rèn)證(或者點(diǎn)擊“我同意”),在使用機(jī)場(chǎng) Wi-Fi 的時(shí)候會(huì)需要到這種 random 模式。可以在這篇 NetworkManager 的 博客文章 中參閱到有關(guān)使用 nmcli 從終端配置特定連接的詳細(xì)說明。
使用 ip link 命令可以查看當(dāng)前的 MAC 地址,MAC 地址將會(huì)顯示在 ether 一詞的后面
$ ip link 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: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:5f:d5:4e brd ff:ff:ff:ff:ff:ff 3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000 link/ether 52:54:00:03:23:59 brd ff:ff:ff:ff:ff:ff
什么時(shí)候不能隨機(jī)化 MAC 地址
在某些情況下確實(shí)需要能被追蹤到。例如在家用網(wǎng)絡(luò)中,可能需要將路由器配置為對(duì)電腦分配一致的 IP 地址以進(jìn)行端口轉(zhuǎn)發(fā);再例如公司的雇主可能需要根據(jù) MAC 地址來提供 Wi-Fi 服務(wù),這時(shí)候就需要進(jìn)行追蹤。要更改特定的 Wi-Fi 連接,請(qǐng)使用 nmcli 查看 NetworkManager 連接并顯示當(dāng)前設(shè)置:
$ nmcli c | grep wifi Amtrak_WiFi 5f4b9f75-9e41-47f8-8bac-25dae779cd87 wifi -- StaplesHotspot de57940c-32c2-468b-8f96-0a3b9a9b0a5e wifi -- MyHome e8c79829-1848-4563-8e44-466e14a3223d wifi wlp1s0 ... $ nmcli c show 5f4b9f75-9e41-47f8-8bac-25dae779cd87 | grep cloned 802-11-wireless.cloned-mac-address: -- $ nmcli c show e8c79829-1848-4563-8e44-466e14a3223d | grep cloned 802-11-wireless.cloned-mac-address: stable
這個(gè)例子在 Amtrak 使用完全隨機(jī) MAC 地址(使用默認(rèn)配置)和 MyHome 的永久 MAC 地址(使用 stable 配置)。永久 MAC 地址是在硬件生產(chǎn)的時(shí)候分配到網(wǎng)絡(luò)接口上的,網(wǎng)絡(luò)管理員能夠根據(jù)永久 MAC 地址來查看 設(shè)備的制造商 ID 。
更改配置并重新連接活動(dòng)的接口:
$ nmcli c modify 5f4b9f75-9e41-47f8-8bac-25dae779cd87 802-11-wireless.cloned-mac-address random $ nmcli c modify e8c79829-1848-4563-8e44-466e14a3223d 802-11-wireless.cloned-mac-address permanent $ nmcli c down e8c79829-1848-4563-8e44-466e14a3223d $ nmcli c up e8c79829-1848-4563-8e44-466e14a3223d $ ip link ...
你還可以安裝 NetworkManager-tui
,就可以通過可視化界面菜單來編輯連接。
當(dāng)你走在路上時(shí),你要留意周圍的環(huán)境,并警惕可能的危險(xiǎn)。同樣,在使用公共互聯(lián)網(wǎng)資源時(shí)也要注意你自己的可追蹤性。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- 2018值得選用的五個(gè)Linux服務(wù)器發(fā)行版
- 2016年如何選擇Linux發(fā)行版
- 不同發(fā)行版Linux操作系統(tǒng)如何實(shí)現(xiàn)共存
- Linux 發(fā)行版和安裝的基本知識(shí)
- 使用iptable和Firewalld工具來管理Linux防火墻連接規(guī)則
- 詳解Linux服務(wù)器狀態(tài)、性能相關(guān)命令
- 如何在Linux中的特定時(shí)間運(yùn)行命令
- Linux系統(tǒng)(CentOS)下python2.7.10安裝
- Linux定時(shí)自動(dòng)刪除舊垃圾文件的Autotrash工具
- Linux下python3.6.1環(huán)境配置教程
- 吸引發(fā)燒友的視聽Linux發(fā)行版
相關(guān)文章
在Linux系統(tǒng)上查看Apache服務(wù)器的錯(cuò)誤日志
這篇文章主要介紹了在Linux系統(tǒng)上查看Apache服務(wù)器的錯(cuò)誤日志,是服務(wù)器運(yùn)維必備的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-07Shell 數(shù)組與關(guān)聯(lián)數(shù)組詳解及實(shí)例代碼
這篇文章主要介紹了 Shell 數(shù)組與關(guān)聯(lián)數(shù)組詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01Linux程序運(yùn)行時(shí)加載動(dòng)態(tài)庫失敗的解決方法
今天小編就為大家分享一篇關(guān)于Linux程序運(yùn)行時(shí)加載動(dòng)態(tài)庫失敗的解決方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04Linux定時(shí)刪除日志的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Linux定時(shí)刪除日志的簡(jiǎn)單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Linux系統(tǒng)java進(jìn)程CPU占用過高的問題及排查
這篇文章主要介紹了Linux系統(tǒng)java進(jìn)程CPU占用過高的問題及排查方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Linux如何關(guān)閉遠(yuǎn)程ssh密碼登錄
這篇文章主要介紹了Linux如何關(guān)閉遠(yuǎn)程ssh密碼登錄問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Linux系統(tǒng)下部署項(xiàng)目的設(shè)置方法
這篇文章主要介紹了Linux系統(tǒng)下部署項(xiàng)目的教程詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10centos 6.9 升級(jí)glibc動(dòng)態(tài)庫的詳細(xì)過程
glibc是gnu發(fā)布的libc庫,即c運(yùn)行庫,glibc是linux系統(tǒng)中最底層的api,幾乎其它任何運(yùn)行庫都會(huì)依賴于glibc。這篇文章主要介紹了centos 6.9 升級(jí)glibc動(dòng)態(tài)庫的詳細(xì)過程,需要的朋友可以參考下2019-11-11在 RHEL8 /CentOS8 上建立多節(jié)點(diǎn) Elastic stack 集群的方法
Elastic stack 俗稱 ELK stack,是一組包括 Elasticsearch、Logstash 和 Kibana 在內(nèi)的開源產(chǎn)品。Elastic Stack 由 Elastic 公司開發(fā)和維護(hù)。這篇文章主要介紹了如何在 RHEL8 /CentOS8 上建立多節(jié)點(diǎn) Elastic stack 集群,需要的朋友可以參考下2019-09-09