前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >玩转「Wi-Fi」系列之wpa_supplicant 目录介绍(八)

玩转「Wi-Fi」系列之wpa_supplicant 目录介绍(八)

作者头像
程序手艺人
发布2019-02-21 17:57:50
4.1K0
发布2019-02-21 17:57:50
举报
文章被收录于专栏:程序手艺人程序手艺人
源码结构框
源码结构框

之后的文章基本都是wpa_supplicant源码分析的介绍, wpa_supplicant 一个庞大的开源项目, 最新版本的为2016-10-V2.6。据目前来开,WiFi相关应用层的操作基本都是wpa_supplicant 的封装,包括Android 。初步统计一下,wpa_supplicant 源文件个数 552个, 20万行代码。 分析起来工作量巨大,这条路非常难走,请读者做好准备。

wpa_supplicant 的源码目录介绍

├── ap       // hostapd 相关功能         ├── common    // 通用函数  ├── crypto     // 各种加密功能 ├── drivers // 对接底层驱动,包括 wext 和nl80211 ├── eap_common // eap 相关 ├── eapol_auth ├── eapol_supp ├── eap_peer ├── eap_server ├── fst // fst 模块 ├── l2_packet // 链路层的访问封装 ├── p2p // WiFi P2P协议, ├── pae // ieeee802 协议 ├── radius // RADIUS:Remote Authentication Dial In User Service 消息处理 ├── rsn_supp // RSN协议, Robust Secure Network,强健安全网络),即通常所说的WPA2安全模式,是WPA 的第二个版本 ├── tls // tls 协议 ├── utils // 包括 RFC1341编解码, 通用的辅助函数, 双链表, UUID, debug, epool └── wps // wps 功能的实现

主要文件详解

核心功能

通用功能

wpa_supplicant 使用通用的帮助函数,其中一些与hostapd共享,文件如下:

加密功能

  • md5.cmd5.h MD5(如果包含TLS的支持则用加密库替换)HMAC-MD5(用于消息真实性验证的密钥校验和)
  • rc4.c和rc4.h RC4(广播/默认密钥加密)
  • sha1.csh1.h SHA-1(如果包含TLS的支持则用加密库替换) HMAC-SHA-1(用于消息真实性验证的密钥校验和) PRF-SHA-1(伪随机(密钥/随机数生成)函数) PBKDF2-SHA-1(ASCII共享密码)T-PRF (for EAP-FAST) TLS-PRF (RFC 2246)
  • sha256.c sha256.h SHA-256(如果包含TLS的支持则用加密库替换)
  • aes-wrap.c, aes_wrap.h aes.c AES(如果包含TLS的支持则用加密库替换)采用128位KEY的AES密钥包装算法 RFC3394(广播/默认密钥加密) One-Key CBC MAC (OMAC1)哈希AES-128,AES-128 CTR模式加密, AES-128 EAX模式加密/解密,AES-128 CBC
  • crypto.h加密库封装的定义
  • crypto_openssl.clibcrypto的封装函数 (OpenSSL)
  • crypto_internal.c 内部加密实现的封装函数
  • crypto_gnutls.c libgcrypt的封装函数(used by GnuTLS)
  • ms_funcs.c ms_funcs.h MSCHAPV2 和 LEAP 参考函数
  • tls.h TLS库封装的定义
  • tls_none.c不包括TLS功能的情况下,TLS库封装的虚拟实现
  • tls_openssl.c 用于openssl的TLS库封装器
  • tls_internal.c 用于内部TLS实现的TLS库
  • tls_gnutls.c 用于GnuTLS的TLS库封装器

TLS 库

配置

控制界面

wpa_supplicant有一个控制界面可以用来获取状态信息和管理来自外部程序的操作.一个命令行界面的例子(wpa_cli)和GUI(wpa_gui)的接口包含在wpa_supplicant分发中

EAP peer

EAPOL supplicant

Windows 端口

测试程序

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年12月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 核心功能
  • 通用功能
  • 加密功能
  • TLS 库
  • 配置
  • 控制界面
  • EAP peer
  • EAPOL supplicant
  • Windows 端口
  • 测试程序
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com