WPAS几个重要的命令:
·ADD_NETWORK:为WPAS添加一个新的无线网络。它将返回此新无线网络的ID(从0开始)。注意,此network id非常重要,客户端后续将通过它来指明自己想操作的无线网络。
·SET_NETWORK<network id><variable><value>:network id是无线网络的ID。此命令用于设置指定无线网络的信息。其中variable为参数名,value为参数的值。
·ENABLE_NETWORK<network id>:使能某个无线网络。此命令最终将促使WPAS发起一系列操作以加入该无线网络。
Android平台中WifiService是WPAS的客户端,它和WPAS交互时必须使用wpa_supplicant
提供的API。这些API声明于wpa_ctrl.h中
wpa_supplicant.conf文件内容
1.wpa_ssid结构体
wpa_ssid用于存储某个无线网络的配置信息(如所支持的安全类型、优先级等)。它其
实是图4-6所示wpa_supplicant.conf中无线网络配置项在代码中的反映(conf文件中每一个
network项都对应一个wpa_ssid对象)。它的一些主要数据成员如下图所示
一些数据成员非常重要,下面分别介绍它们。
(1)安全相关成员变量及背景知识和安全相关的成员变量如下所示。
1)passphrase:该变量只和WPA/WPA2-PSK模式有关,用于存储我们输入的字符串密
码。而实际上,规范要求使用的却是图4-10中的psk变量。结合3.3.7节中关于key和password
的介绍可知,用户一般只设置字符串形式的password。而WPAS将根据它和ssid进行一定的计
算以得到最终使用的PSK。参考资料[3]中有PSK计算方法。
2)pairwise_cipher