我正在尝试从所有可用网络的列表中找到我的活动无线网络的名称。
为了列出所有可用的无线网络,我调用
$ iwlist wlan0 scanning
这给了我很长的输出。我可以通过这个页面上的一个 python 脚本来传递iwlistparse.py
它,它以简洁的格式为我提供了相关信息:
Name Address Quality Channel Encryption
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 XX:XX:XX:XX:XX:XX 59 % 6 WEP
MonkeyIsland XX:XX:XX:XX:XX:XX 53 % 2 WPA v.1
JustChillaxing XX:XX:XX:XX:XX:XX 50 % 6 WPA v.1
RubberDucky XX:XX:XX:XX:XX:XX 44 % 11 WPA v.1
GrapeVine XX:XX:XX:XX:XX:XX 41 % 11 WEP
CompanyPrinter_HP_Officejet_6700 XX:XX:XX:XX:XX:XX 41 % 6 Open
WhyYouSniffinMySSID XX:XX:XX:XX:XX:XX 41 % 11 WEP
IAintSniffingYoSSID XX:XX:XX:XX:XX:XX 39 % 11 Open
ShaddupYouTwo_FreeWifiForAll XX:XX:XX:XX:XX:XX 39 % 6 Open
不过,这并没有告诉我我的活动 wifi 的名称。为此,我使用iwconfig
:
wlan0 IEEE 802.11bgn ESSID:"MonkeyIsland"
Mode:Managed Frequency:2.437 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=1 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=39/70 Signal level=-75 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:40 Invalid misc:138 Missed beacon:0
从中,我可以 grepESSID
并提取名称,并尝试将其与从iwlist
.
但是有没有更简单的方法来做到这一点?
我没有使用网络管理器或wicd(BeagleBone Black + Debian 启用了硬浮点 + 单声道 + 各种 USB wifi 加密狗 == 硬件/驱动程序兼容性问题)