wpa_supplicant介绍【转】

本文转载自:https://zhuanlan.zhihu.com/p/24246712

一.什么是wpa_spplicant

wpa_supplicant本是开源项目源码,被谷歌修改后加入Android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。

二.wpa_supplicant无线网络配置

目前可以使用wireless-tools 或wpa_supplicant工具来配置无线网络。请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口。

wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。请浏览wpa_supplicant网站获得它所支持的驱动列表。另外,wpa_supplicant目前只能连接到那些你已经配置好ESSID的无线网络。wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。

经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。

三.wpa_supplicant的移植

1.wpa_supplicant2.6的下载:wpa_supplicant-2.6文章地址https://www.yii666.com/article/764112.html

libnl-3.2.28

OpenSSL-1.0.2j

wpa_supplicant-2.6两个依赖库为 libnl-3.2.28和 OpenSSL-1.0.2j

2.make编译OpenSSL-1.0.2j 产生lib如下图,将OpensslLib_HI下所文件copy到wpa_supplicant-2.6下的ssl文件夹

wpa_supplicant介绍【转】

3编译libnl-3.2.28

./configure --prefix=/usr --sysconfdir=/etc --disable-static

wpa_supplicant介绍【转】make

make install

wpa_supplicant介绍【转】

完成后在/usr/lib/下能找到以下两件文件

wpa_supplicant介绍【转】

4.编译openssl-1.0.2j

4.1:如下配置makefile

./config no-asm shared --prefix=/usr/lib/ssl --cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/arm-hisiv400-linux-

参数说明:网址:yii666.com<

no-asm : Do not use assembler code.

shared : 编译连接成动态库

--prefix : 指定之后make install后生成的执行文件跟库的存放位置文章来源地址:https://www.yii666.com/article/764112.html

--cross-compile-prefix :指定交叉编译工具位置及其前缀

4.2: 执行 make ;make install

wpa_supplicant介绍【转】
5.编译wpa_supplicant-2.6

1 进入hostapd/wpa_supplicant目录,首先执行cp defconfig .config 拷贝生成编译配置

2 修改配置文件 .config,在"#Uncomment following two linee and fix..."下增加如下语句,用来添加openssl和libnl的头文件和库文件目录,更新编译链接环境变

CFLAGS += -I/usr/local/ssl/include文章来源地址https://www.yii666.com/article/764112.html

CFLAGS += -I/usr/local/include/netlink

LIBS += -L/usr/local/ssl/lib

LIBS += -L/usr/local/lib

LIBS_p += -L/usr/local/ssl/lib网址:yii666.com

3 执行make进行编译,成功后生成三个目标文件wpa_supplicant, wpa_cli, wpa_passphrase,至此编译完成。

wpa_supplicant介绍【转】

三.wpa_supplicant用法

1.iwlist wlan0 scanning扫出可使用的ap

wpa_supplicant介绍【转】2.wpa_passphrase TP-LINK_8CEA 11111111 > /etc/wpa_supplicant.conf 产生密码的加密conf文件

wpa_supplicant介绍【转】再根据examples的例子修改

wpa_supplicant介绍【转】

3.wpa_supplicant -i wlan0 -B -Dwext -c /etc/wpa_supplicant.conf 连接网络

wpa_supplicant介绍【转】

4.设定WIFI的IP

wpa_supplicant介绍【转】

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png