2017-02-11 33 views
0

我正在製作一個小腳本,它需要我的計算機當前連接的無線網絡的BSSID並將其存儲在一個變量中。 如果我的問題很奇怪,我很抱歉 - 我對bash非常陌生 - 但我想知道這樣的事情是否可能? 非常感謝。如何通過bash獲取當前連接網絡的BSSID?

+0

歡迎來到[so]!請看[問],現在你的問題太廣泛了,我想!開始嘗試並通過提供[mcve]告訴我們你卡在哪裏! – jkalden

回答

0

要獲取接入點此的ESSID:

iwconfig 2>/dev/null |grep ESSID |cut -d: -f2 

做這項工作。這可能有助於通過其他方式獲取BSSID。

獲取BSSID的方法涉及其他步驟。首先:

a=$(route -n |grep ^0.0.0.0) 

獲取默認路由;在我的情況下結果是「0.0.0.0 192.168.1.1 ...」。然後

gw=$(echo $a |cut -d" " -f2) 

得到網關192.168.1.1。然後用arp我們可以得到的硬件地址:

rout=$(arp -a |grep $gw) 

返回有關網關「192.168.1.1爲0x1 0X2 58:98:35:...」記錄在我的情況。要提取硬件地址:

hwadr=$(echo $rout |cut -d" " -f4) 

我不知道如果以上步驟都總是正確的,在任何情況下,但我沒有找到任何其他方式。希望能幫助到你。

相關問題