最近我注意到,当我通过无线连接时,我的网卡会更改 MAC 地址...
这是我的ip addr
前连接:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether c8:5b:76:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether fe:96:23:xx:xx:xx brd ff:ff:ff:ff:ff:ff
这是我的ip addr
后连接:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether c8:5b:76:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether f4:8c:50:yy:yy:yy brd ff:ff:ff:ff:ff:ff
inet 192.168.9.100/24 brd 192.168.9.255 scope global dynamic wlp4s0
valid_lft 86391sec preferred_lft 86391sec
inet6 fe80::f68c:50ff:feyy:yyyy/64 scope link
valid_lft forever preferred_lft forever
请注意,无线网卡会更改其所有 MAC 地址,而不仅仅是最后 3 个字节......
我安装了macchanger
,但当系统提示我拒绝更改每个连接的 MAC 地址时,我确定不是他!此外,我连接时获得的 MAC 地址始终相同,前 3 个字节表明它是英特尔的 NIC,这是正确的。
这可能吗?如何实现?
我是否遗漏了什么?
答案1
出于隐私原因,各种操作系统已开始分配随机 MAC 地址,以避免网络之间的客户端跟踪。根据操作系统的不同,您可能会获得一个随机 MAC 地址当连接时(对于给定网络通常稳定),或随机 MAC扫描时对于网络(掩盖探测请求),或者两者兼而有之。
我猜你使用 NetworkManager。可以通过以下方式禁用扫描时的地址随机化/etc/NetworkManager/NetworkManager.conf
:
[device]
wifi.scan-rand-mac-address=no
解决随机化问题連接可以使用以下方法禁用:
[connection]
ethernet.cloned-mac-address=permanent
wifi.cloned-mac-address=permanent
调整现存的连接:
$ nmcli connection modify "My Wi-Fi" wifi.cloned-mac-address permanent
开发人员的博客文章。