Android wpa_supplicant 源码分析一 -- 简介

官方介绍地址: http://w1.fi/wpa_supplicant/devel/index.html

简介:

wpa_supplicant 是适用于 Linux、BSD、Mac OS X 和 Windows 的 WPA 请求方,支持 WPA 和 WPA2 (IEEE 802.11i / RSN)。它适用于台式机/笔记本电脑和嵌入式系统。Supplicant 是客户端工作站中使用的 IEEE 802.1X/WPA 组件。它与 WPA Authenticator 实现密钥协商,并控制 wlan 驱动程序的漫游和 IEEE 802.11 身份验证/关联。

wpa_supplicant 被设计成一个“守护进程”程序,它在后台运行并充当控制无线连接的后端组件。wpa_supplicant 支持单独的前端程序,wpa_supplicant 包含基于文本的前端 (wpa_cli) 和 GUI (wpa_gui)。

wpa_supplicant 使用灵活的构建配置,可用于选择包含哪些功能。这允许最小的代码大小(从 WPA/WPA2-Personal 的大约 50 kB 二进制文件和 WPA/WPA2-Enterprise 的 130 kB 二进制文件,无需调试代码,到 450 kB,具有大多数功能和完整的调试支持;这些示例大小来自构建x86 目标)。

_wpa_supplicant.png

 源码目录:

external/wpa_supplicant_8

目录结构:

 启动参数:

device/qcom/common/rootdir/etc/init.qcom.rc

service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
    -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \
    -g@android:vendor_wpa_wlan0
#    we will start as root and wpa_supplicant will switch to user wifi
#    after setting up the capabilities required for WEXT
#    user wifi
#    group wifi inet keystore
    interface android.hardware.wifi.supplicant@1.0::ISupplicant default
    interface android.hardware.wifi.supplicant@1.1::ISupplicant default
    class main
    socket vendor_wpa_wlan0 dgram 660 wifi wifi
    disabled
    oneshot

使用 WPA 与 AP 关联时使用以下步骤:

  • wpa_supplicant 请求内核驱动扫描相邻的 BSS
  • wpa_supplicant 根据其配置选择 BSS
  • wpa_supplicant 请求内核驱动与选择的 BSS 关联
  • 如果 WPA-EAP:集成 IEEE 802.1X Supplicant 与认证服务器(由 AP 中的 Authenticator 代理)完成 EAP 认证
  • 如果 WPA-EAP:从 IEEE 802.1X 请求方收到主密钥
  • 如果 WPA-PSK: wpa_supplicant 使用 PSK 作为主会话密钥
  • wpa_supplicant 与 Authenticator (AP) 完成 WPA 4-Way Handshake 和 Group Key Handshake。WPA2 已将初始组密钥握手集成到 4 次握手中。
  • wpa_supplicant 为单播和广播配置加密密钥
  • 可以发送和接收正常的数据包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值