我正在制作一个小脚本,它需要我的计算机当前连接到的无线网络的 BSSID,并将其存储在一个变量中。 如果我的问题很奇怪,我很抱歉——我对 bash 很陌生——但我想知道这样的事情是否可能? 非常感谢。
最佳答案
实用程序 iwconfig
将在界面报告的第二行中将 BSSID 显示为“接入点”。例如在我的系统中:
wlp2s0 IEEE 802.11 ESSID:"My WIFI"
Mode:Managed Frequency:2.437 GHz Access Point: 12:34:56:78:9A:BC
Bit Rate=1 Mb/s Tx-Power=15 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=31/70 Signal level=-79 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:719 Invalid misc:1972 Missed beacon:0
你可以过滤掉它,用
iwconfig wlp2s0 | sed -n 's/.*Access Point: \([0-9\:A-F]\{17\}\).*/\1/p'
显然,如果 wlp2s0
与您的接口(interface)名称不同,请将其替换。如果你想将它保存到一个变量中,只需将所有行放入 $()
并将其分配给你想要的变量:
BSSID=$(iwconfig wlp2s0 | sed -n 's/.*Access Point: \([0-9\:A-F]\{17\}\).*/\1/p')
关于linux - 如何通过bash获取当前连接网络的BSSID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42173991/