蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

wpasuppicant介绍

  • 资源ID:55475021       资源大小:521.05KB        全文页数:27页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

wpasuppicant介绍

本来以为这个东西只有在 Atheros的平台上用的,突然发现 Ralink的平台也可以用,甚至还看到还有老美把这个东西往 android上 移植。看来是个好东西,学习一下。 官方的模块框图 一般来说很多模块可以根据需要选用的 EAP s EAP state machine 如果你不需要支持 wpa-enterprise那么这两个模块都不需要编译。 wpa_cli和 GUI 这两个可以不要,直接写个控制脚本,把用户的参数变为配臵文件,重启 wpa_supplicant driver event driver event 无线驱动和本程序通讯的接口,一般高级的无线驱动都支持 WEXT。就是驱动里面通过 wireless_send_event把一些状 态信息发到本程序处理。 driver i/f 一些 ioctl接口,同样用于无线驱动和本程序之间传递信息。 EAPOL state machine 负责处理 PTK 4-way HS和 GTK 2-way HS l2_package EAPOL和 pre auth都要通过这个接口收发包。 configuration 负责处理用户配臵文件的模块 大致流程For WPA-PSK 1 读取配臵文件 2 初始化配臵参数,驱动函数 wrapper 3 让驱动 scan当前所有 bssid包括 wpa AP和 non-wpa AP 4 检查扫描的参数是否和用户设臵的相符 5 如果相符,设臵 associate request ie 通知驱动进行 auth assoc步骤 4 Four-way handshake for PTK 5 Two-way handshake for GTK 6 接收 AP 发出的指令,定期更换 GTK 这个程序和 madwifi通信主要通过 wirelessEXT,其实就是 netlink,在 madwifi驱动中会调用 wireless_event_send这个函数把相 关的东西发到 wpa_supplicant WPA-PSK配臵文件的写法 一般这样写可以兼容 WPA和 WPA2 CCMP和 TKIP network{ ssid“myssid “ key_mgmtWPA-PSK protoWPA RSN pairwiseTKIP CCMP psk“myasciipsk“ } 编译方法 Makefile需要读取一个.config文件,这个文件里面包含交叉编译路径设臵,模块配臵选项。 参考配臵文件 For wpa-psk madwifi ******************************************************* CROSS_COMPILE/opt/mips-linux- CC{CROSS_COMPILE}gcc CONFIG_DRIVER_MADWIFIy CFLAGS -I/src/802_11/madwifi/madwifi CONFIG_DRIVER_WIREDy CONFIG_IEEE8021X_EAPOLy CONFIG_BACKENDfile ******************************************************* 启动方法Atheros Driver 创建无线 interface模式设臵为 managed wlaconfig ath create wlandev wifi0 wlanmode sta 设臵 ath0到自动模式,这样 scan的时候会扫所有的频道 2.4g 5g 11nagb。 iwpriv ath0 mode auto 设臵好配臵文件,启动 wpa_supplicant wpa_supplicant –i ath0 –b br0 –c /tmp/supplicant.conf -B 主要参数含义 ath0是无线 interface,通过这个参数,函数就可以通过 iotcl调用无线驱动中的接口。 br0 是 bridge interface,EAPOL L2 package都通过这个接口收发。 -c 表示配臵文件 -B daemonlise 源码关键函数 wpa_supplicant_add_iface wpa_supplicant_init_iface wpa_supplicant_set_driver wpa_config_read wpa_supplicant_init_iface2 wpa_supplicant_init_eapol wpa_drv_init wpa_drv_set_param wpa_supplicant_init_wpa wpa_supplicant_driver_init wpa_supplicant_req_scan // trigger scan state wpa_supplicant_scan wpa_supplicant_set_suites wpa_sm_set_assoc_wpa_ie_default //add wpa rsn ie in associate req 有时候 AP 会被加到 blackList中,主要原因可以参考下面的代码。主要是收到 deauth这个 event和 auth timeout wpa_supplicant_event_disassoc wpa_blacklist_add wpa_supplicant_timeout wpa_blacklist_add 何时会从黑名单中删除。 wpa_supplicant扫描的结果是从 madwifi中得到的,由于 linux kernel里面设臵了扫描 buffer的大小,wireless.h中定义这个大 小为define IW_SCAN_MAX_DATA 4096,所以这个 buffer很容易就溢出了, 导致一些结果无法传送到 wpa_supplicant, 为此 madwifi 在扫描的时候设臵了一个过滤条件,现提取 wpa的 AP,再提取 none-wpa的,这样改善了很多,但是通常在公司研发环境中还是很容 易出现溢出。 以下分析基于 wpa_supplicant 0.5.10 版本 1. 启动命令 wpa supplicant 在启动时,启动命令可以带有很多参数,目前我们的启动命令如下 wpa_supplicant /system/bin/wpa_supplicant -Dwext -ieth0 -c/data/wifi/wpa_supplicant.conf -f/data/wifi/wpa_log.txt wpa_supplicant对于启动命令带的参数,用了两个数据结构来保存, 一个是 wpa_params, 另一个是 wpa_interface. 这主要是考虑到 wpa_supplicant是可以同时支持多个网络接口的。 wpa_params数据结构主要记录与网络接口无关的一些参数设臵。 而每一个网络接口就用一个 wpa_interfac

注意事项

本文(wpasuppicant介绍)为本站会员(zxj412342)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开