Linux
斷開連接後如何阻止MAC地址更改?
所以我在啟動時使用 crontab 更改了我的 MAC 地址
macchanger -A wlp68s0b1
,這是我斷開連接並重新連接時發生的情況:啟動後連接時:
rahman@debian:~$ macchanger -s wlp68s0b1 Current MAC: 00:22:31:c6:38:45 (SMT&C Co., Ltd.) Permanent MAC: 00:00:00:00:00:00 (FAKE CORPORATION)
斷開連接後:
rahman@debian:~$ macchanger -s wlp68s0b1 Current MAC: 16:7b:e7:3c:d3:cd (unknown) Permanent MAC: 00:00:00:00:00:00 (FAKE CORPORATION)
重新連接後:
rahman@debian:~$ macchanger -s wlp68s0b1 Current MAC: 00:00:00:00:00:00 (FAKE CORPORATION) Permanent MAC: 00:00:00:00:00:00 (FAKE CORPORATION)
依此類推,每次斷開連接時,我都會得到一個不同的隨機 MAC 地址,該地址在重新連接時會消失,給我我的真實 MAC 地址,是什麼原因造成的以及如何阻止它?
一些輸出:
rahman@debian:~$ lspci -nn |grep 14e4 44:00.0 Network controller [0280]: Broadcom Limited BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01) rahman@debian:~$ uname -a Linux debian 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) x86_64 GNU/Linux rahman@debian:~$ sudo ifconfig enp0s25: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 00:24:c0:7b:a8:8b txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 20 memory 0xd4800000-d4820000 enp0s25:avahi: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 169.254.9.109 netmask 255.255.0.0 broadcast 169.254.255.255 ether 00:24:c0:7b:a8:8b txqueuelen 1000 (Ethernet) device interrupt 20 memory 0xd4800000-d4820000 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 9436 bytes 6584515 (6.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 9436 bytes 6584515 (6.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp68s0b1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::6711:9875:eb78:24fc prefixlen 64 scopeid 0x20<link> inet6 fd9c:c172:b03b:ce00:f1e0:695e:7da0:91a prefixlen 64 scopeid 0x0<global> ether 00:00:00:00:00:00 txqueuelen 1000 (Ethernet) RX packets 484346 bytes 641850809 (612.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 368394 bytes 44259668 (42.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 rahman@debian:~$ sudo iwconfig lo no wireless extensions. enp0s25 no wireless extensions. wlp68s0b1 IEEE 802.11 ESSID:"3bdo" Mode:Managed Frequency:2.447 GHz Access Point: 9C:C1:72:B0:3B:D4 Bit Rate=65 Mb/s Tx-Power=30 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=54/70 Signal level=-56 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:4 Invalid misc:183 Missed beacon:0
Network-Manager 將在 wifi 掃描期間重置您的 mac 地址。
要永久更改您的 mac 地址:
編輯您
/etc/NetworkManager/NetworkManager.conf
的如下:[main] plugins=ifupdown,keyfile [ifupdown] managed=false [device] wifi.scan-rand-mac-address=no [keyfile]
/etc/network/interfaces
通過添加以下行來編輯您的:pre-up ifconfig wlp68s0b1 hw ether xx:xx:xx:yy:yy:yy
xx:xx:xx:yy:yy:yy
是從 的輸出中獲得的新 MAC地址macchanger -A wlp68s0b1
。重新啟動並驗證您的設置。
Arch-linux wiki : 配置 MAC 地址隨機化
Wi-Fi 掃描期間的隨機化預設啟用,但可以通過
/etc/NetworkManager/NetworkManager.conf
在/etc/NetworkManager/conf.d
.[device] wifi.scan-rand-mac-address=no
將其設置為會
yes
導致在探測無線網路時使用隨機生成的 MAC 地址。