【从0开始学WiFi】wpa_supplicant和hostapd环境配置
小泛的代码日记
2025年08月09日 14:59
收录于文集
共9篇

一、前言

  1. wpa_supplicant和hostapd为开源代码,普遍运用在手机、网卡、路由器等产品的Wi-Fi模块中,通过分析wpa_supplicant和hostapd的代码,可以将802.11协议理论知识应用到实际开发过程。

  2. 本文详细讲解wpa_supplicant和hostapd环境配置,后续可以通过wpa_supplicant作为无线客户端,hostapd作为接入点,进一步研究802.11协议。

二、简介

  1. hostapd,用于接入点的用户空间守护进程,通过配合Linux内核下的驱动,构建一个完整路由器的功能,支持的功能如下:

    • 支持多Linux和BSD 驱动程序的IEEE 802.1X/WPA/EAP认证器

    • 支持RADIUS 客户端

    • 支持EAP 服务器

    • 支持RADIUS 认证服务器

  1. wpa_supplicant,用于无线客户端的用户空间守护进程,其支持的功能如下:

    • 支持Linux、BSD 及 Windows 驱动程序的 IEEE 802.1X/WPA 请求方

  1. 官网,如下:

    • https://w1.fi/

三、hostapd环境配置

3.1 环境准备

wpa_supplicant和hostapd常用在Linux环境下,因此此教程的运行环境为Ubuntu。

3.2 安装编译工具和依赖

代码块
Shell
自动换行
复制代码
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/

代码块
Shell
自动换行
复制代码
# 下载hostapd 
wget https://w1.fi/releases/hostapd-2.11.tar.gz 
# 解压 
tar -zxvf hostapd-2.11.tar.gz
复制成功

3.4 创建.config文件

.config为编译功能的配置,我们可以使用官方提供给我们的默认配置,后续需要增加模块编译,再修改.config文件

代码块
Shell
自动换行
复制代码
cd hostapd-2.11/hostapd 
cp defconfig .config
复制成功

3.5 编译

代码块
Shell
自动换行
复制代码
make #编译命令
复制成功

编译后生成hostapd和hostapd_cli可执行文件

四、wpa_supplicant环境配置

4.1 安装编译工具和依赖

代码块
Shell
自动换行
复制代码
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/

代码块
Shell
自动换行
复制代码
# 下载wpa_supplicant 
wget https://w1.fi/releases/wpa_supplicant-2.11.tar.gz 
# 解压 
tar -zxvf wpa_supplicant-2.11.tar.gz
复制成功

4.3 创建.config文件

代码块
Shell
自动换行
复制代码
cd wpa_supplicant-2.11/wpa_supplicant 
cp defconfig .config
复制成功

4.4 编译

代码块
Shell
自动换行
复制代码
make #编译命令
复制成功

编译后生成wpa_supplicant和wpa_cli可执行文件