十分钟让你明白Wpa supplicant是什么

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Wpa_supplicant_8 是什么

中文直译受保护的wifi接入客户端。它User mode的最底层,直接和kernel的驱动接口,一个完整的开源项目。

其中的wpa:Supplicant –是客户端

Wi-Fi Protected Access (WPA) and Wi-Fi Protected Access II (WPA2) are two security protocols and security certification programs developed by the Wi-Fi Alliance to secure wireless computer networks. The Alliance defined these in response to serious weaknesses researchers had found in the previous system, WEP (Wired Equivalent Privacy).[1]

Wpa_supplicant 在wiki上看到的内容

wpa_supplicant is a free software implementation of an IEEE 802.11i supplicant for Linux, FreeBSD, NetBSD, AROS, Microsoft Windows and Haiku. In addition to being a full-featured WPA2 supplicant, it also implements WPA and older wireless LAN security protocols. Features include:

WPA and full IEEE 802.11i/RSN/WPA2

WPA-PSK and WPA2-PSK (pre-shared key) ("WPA-Personal")

WPA with EAP (e.g., with RADIUS authentication server) ("WPA-Enterprise")

key management for CCMP, TKIP, WEP (both 104/128 and 40/64 bit)

RSN: PMKSA caching, pre-authentication

Included with the supplicant are a graphical user interface and a command line interface utility for interacting with the running supplicant. From either of these interfaces it is possible to review a list of currently visible networks, select one of them, provide any additional security information needed to authenticate with the network (e.g. a passphrase or username and password) and add it to the preference list to enable automatic reconnection in the future.

The graphical user interface is built on top of the Qt library.

https:///index.php/WPA_supplicant

这个wpa_supplicant就是一个实现,一个很具体的内容啊!

使用man -8 wpa_supplicant 就知道一些内容,

而且在adb shell wpa_supplicant 就看到了好多的选项了,

因此,它就是wifi 的完整底层实现。

官方网页

http://hostap.epitest.fi/wpa_supplicant/

wpa_supplicant is a cross-platform WPA supplicant with support for WEP, WPA and WPA2 (IEEE 802.11i / RSN (Robust Secure Network)). It is suitable for both desktop and laptop computers and even embedded systems.

wpa_supplicant is the IEEE 802.1X/WPA component that is used in the client stations. It implements key negotiation with a WPA Authenticator and it controls the roaming and IEEE 802.11 authentication/association of the wireless driver.

还是要看官方的文档啊:

http://hostap.epitest.fi/wpa_supplicant/devel/

这里有完全的说明,从开发者角度的,所有的内容,数据结构、函数结构API、每个文件的简单说明、目录说明、全局变量说明、变量索引说明等等,就是一个开发者完全手册。

wpa_supplicant-devel.pdf

调用stack简述

从framework到wpa_supplicant的适配层(wifi.c)网上介绍的帖子很多,而且本身也并不复杂,其中framework部分需要注意的是wifiService和wifiMoniter两部分,这两快一个是转发AP的CMD另一个是接收来自wpa_supplicant的CMD。他们与本地库的连接都是通过JNI方法,具体实现方法在android_net_wifi_WifiNative.cpp ,修改名字了

android_net_wifi_Wifi.cpp中。在这个文件中可以大致看出AP会给wpa_supplicant下哪些命令。

1. /*

2. * JNI registration.

3. */

4. static JNINativeMethod gWifiMethods[]={

5. /* name, signature, funcPtr */

6.

7. {"loadDriver","()Z",(void*)android_net_wifi_loadDriver },

8. {"isDriverLoaded","()Z",(void*)android_net_wifi_isDriverLoaded },

9. {"unloadDriver","()Z",(void*)android_net_wifi_unloadDriver },

10. {"startSupplicant","(Z)Z",(void*)android_net_wifi_startSupplicant },

11. {"killSupplicant","(Z)Z",(void*)android_net_wifi_killSupplicant },

相关文档
最新文档