我编写了wlan manager脚本来处理open/ad-hoc/wep/wpa2网络.现在我试图解析iw wlan0扫描输出,以便为我的脚本获得良好的扫描功能.我的目标是得到这样的输出:
SSID channel signal encryption
wlan-ap 6 70% wpa2-psk
test 1 55% wep
Run Code Online (Sandbox Code Playgroud)
我已经获得的是这样的输出:
$ iw wlan0 scan | grep 'SSID\|freq\|signal\|capability' | tac
SSID: Koti783
signal: -82.00 dBm
capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime (0x0531)
freq: 2437
Run Code Online (Sandbox Code Playgroud)
我一直在尝试研究bash/sed/awk,但还没有找到一种方法来实现我的尝试.那么实现这一目标的好方法是什么?
我正在尝试使用nl80211.h来扫描简单WLAN管理器的接入点.我找不到任何示例代码,只有我能找到的文档是kerneldoc.我一直在尝试从iw和wpa_supplicant来源学习,但它相当复杂.
这只是我能找到的文件:
NL80211_CMD_GET_SCAN获取扫描结果
NL80211_CMD_TRIGGER_SCAN使用给定参数触发新扫描NL80211_ATTR_TX_NO_CCK_RATE用于决定是否以CCK速率发送探测请求.
如何使用nl80211扫描接入点?我想我需要用enum nl80211_commands {NL80211_CMD_GET_SCAN NL80211_CMD_TRIGGER_SCAN}.我该如何使用它们?