wpa_supplicant和hostapd为开源代码,普遍运用在手机、网卡、路由器等产品的Wi-Fi模块中,通过分析wpa_supplicant和hostapd的代码,可以将802.11协议理论知识应用到实际开发过程。
本文详细讲解wpa_supplicant和hostapd环境配置,后续可以通过wpa_supplicant作为无线客户端,hostapd作为接入点,进一步研究802.11协议。
hostapd,用于接入点的用户空间守护进程,通过配合Linux内核下的驱动,构建一个完整路由器的功能,支持的功能如下:
支持多Linux和BSD 驱动程序的IEEE 802.1X/WPA/EAP认证器
支持RADIUS 客户端
支持EAP 服务器
支持RADIUS 认证服务器
wpa_supplicant,用于无线客户端的用户空间守护进程,其支持的功能如下:
支持Linux、BSD 及 Windows 驱动程序的 IEEE 802.1X/WPA 请求方
官网,如下:
https://w1.fi/
wpa_supplicant和hostapd常用在Linux环境下,因此此教程的运行环境为Ubuntu。
sudo apt update
sudo apt install build-essential libnl-3-dev libnl-genl-3-dev pkg-config libssl-dev libdbus-1-dev libnl-route-3-dev -y 3.3 代码下载
https://w1.fi/hostapd/

# 下载hostapd
wget https://w1.fi/releases/hostapd-2.11.tar.gz
# 解压
tar -zxvf hostapd-2.11.tar.gz 3.4 创建.config文件
.config为编译功能的配置,我们可以使用官方提供给我们的默认配置,后续需要增加模块编译,再修改.config文件
cd hostapd-2.11/hostapd
cp defconfig .config 3.5 编译
make #编译命令 编译后生成hostapd和hostapd_cli可执行文件

sudo apt update
sudo apt install build-essential libnl-3-dev libnl-genl-3-dev pkg-config libssl-dev libdbus-1-dev libnl-route-3-dev -y 4.2 代码下载
https://w1.fi/wpa_supplicant/
# 下载wpa_supplicant
wget https://w1.fi/releases/wpa_supplicant-2.11.tar.gz
# 解压
tar -zxvf wpa_supplicant-2.11.tar.gz 4.3 创建.config文件
cd wpa_supplicant-2.11/wpa_supplicant
cp defconfig .config 4.4 编译
make #编译命令 编译后生成wpa_supplicant和wpa_cli可执行文件