我正在写一个脚本,用来查看之前连接网络的所有 mac 地址,所以我在谷歌上搜索了一下,发现
cat /etc/NetworkManager/system-connections/mywifi.nmconnection
应该打印与这个网络相关的所有信息,包括路由器的 MAC 地址,但似乎只有可用的字段
[wifi]
mac-address-blacklist=
mode=infrastructure
ssid=84;80;45;76;73;78;
文件中任何地方都没有提到 MAC 地址。我正在运行20.04 LTS
内核版本为 的Ubuntu 5.4.0
。那么所有之前连接到网络的 MAC 地址都存储在哪里呢?
答案1
不确定你从哪里得到的想法是网络管理器“应该”在文件中拥有计算机连接到的 WiFi 基站的 MAC 地址.nmconnection
,但你当然可以指定如果您想降低遭受 SSID 欺骗的风险,请在该文件中添加 MAC 地址。
但是,网络管理器会将 WiFi 基站的 MAC 地址记录在 中。这是我的文件/var/log/syslog
中一条记录的样子:syslog
Jan 19 13:09:11 Carbon wpa_supplicant[789]: wlp4s0: WPA: Group rekeying completed with a4:12:42:e7:f6:66 [GTK=CCMP]
考虑到您必须解析的“噪音”数量,这种方法并不是特别有用,因为syslog
可能会变得非常繁忙。话虽如此,如果您愿意,您可以自己构建一个机制。下面是一行代码,它将为您提供所连接的 WiFi 基站的 MAC 地址:
ip neigh|grep "$(ip -4 route list 0/0|head -1|cut -d' ' -f3) "|cut -d' ' -f5|tr '[a-f]' '[A-F]'
对我来说,这将返回:
A4:12:42:E7:F6:64
笔记:如果在运行此命令时您同时连接到有线和无线网络,您将收到多个地址。
这可以放入常规监控脚本中,其中数据以您想要的任何格式记录到您想要的任何地方。这应该可以让您更轻松地组织和使用您正在寻找的信息。
虽然这并不完全回答你的问题,但我希望它能给你提供一些思考。