libo 发表于 2018-6-19 10:55:05

玩转「Wi-Fi」系列之wpa_supplicant 介绍

一:介绍
wpa_supplicant是Linux BSD, Mac OSX和Windows的WPA的服务,支持WPA和WPA2(IEEE 802.11i/RSN),它适用于台式机/笔记本和嵌入式系统,Supplicant是在客户端站中使用的IEEE 802.1X/WPA组件,它使用WPA身份验证器实现秘钥协商,并控制漫游和IEEEE802.11认证/关联的WLAN驱动程序

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

wpa_supplicant使用灵活的构建配置,可用于选择包含哪些功能.允许最小代码大小(WPA/WPA2-Personal 50kb 130kb的WPA/WPA2-Enterprise中没有调试代码,450kb大小具有大多数功能和全面的调试支持,这些示例大小来自X86平台的构建)
二:编译安装

Installation Environment :Ubuntu 16.04
Download (HTTP): https://w1.fi/releases/wpa_supplicant-2.6.tar.gz
Download MD5 sum: 091569eb4440b7d7f2b4276dbfc03c3c
Download size: 2.6 MB
Estimated disk space required: 36 MB
Estimated build time: 0.4 SBU (includes optional gui)

三:安装依赖
wpa_supplicant 依赖于 openssl , libnl , 需要提前进行安装。安装方法自行百度
四:配置 
由于wpa_supplicant 已经许久不更新,配置的方式和通用的开源库不一样。 
[*]wpa_supplicant目录中cp defconfig .config 拷贝生成编译配置,
[*]配置文件中可以针对功能进行裁剪,适应更多的平台, 如指定openssl 库的路径, 配置libnl的版本


# Uncomment following two lines and fix the paths if you have installed OpenSSL
# or GnuTLS in non-default location
#CFLAGS += -I/usr/local/openssl/include
#LIBS += -L/usr/local/openssl/lib

# Use libnl v2.0 (or 3.0) libraries.
#CONFIG_LIBNL20=y

# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
#CONFIG_LIBNL32=y

安装 

前面的配置完成之后, 执行make编译, make install 进行安装
最终生成的二进制可执行文件: wpa_supplicant 和wpa_cli 。
常用操作 

wpa_supplicant是一个连接、配置WiFi的工具,它主要包含wpa_supplicant与wpa_cli两个程序。 可以通过wpa_cli来进行WiFi的配置与连接,前提要保证wpa_supplicant正常启动。 

相当于wpa_supplicant 是服务端,wpa_cli 是客户端。

启动wpa_supplicant应用
wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
-D 驱动程序名称(可以是多个驱动程序:nl80211,wext)
-i 接口名称
-c 配置文件 
-B 在后台运行守护进程
配置文件 /etc/wpa_supplicant.conf文件里,添加下面代码:

ctrl_interface=/var/run/wpa_supplicant //
update_config=1// 强制更新覆盖配置 

hoho3358 发表于 2018-6-26 18:34:21

RE: 玩转「Wi-Fi」系列之wpa_supplicant 介绍 [修改]

ayx 发表于 2019-3-10 20:29:54

可以用wpa-pin的方式连接WiFi吗

libo 发表于 2019-3-10 21:38:24

ayx 发表于 2019-3-10 20:29
可以用wpa-pin的方式连接WiFi吗

只要知道pin码,就可以连的。

ayx 发表于 2019-3-11 21:12:41

libo 发表于 2019-3-10 21:38
只要知道pin码,就可以连的。

windows 10实测提示需要按路由器按钮 并不是pin的模式

libo 发表于 2019-3-11 22:19:05

ayx 发表于 2019-3-11 21:12
windows 10实测提示需要按路由器按钮 并不是pin的模式

你好 有pin连接的软件,你可以试下!
页: [1]
查看完整版本: 玩转「Wi-Fi」系列之wpa_supplicant 介绍