WiFi相关功能使用教程(hostapd及hostapd_cli)
在之前的博客文中,我们已经成功交叉编译了hostapd和hostapd_cli相关文件。
此篇文章中我们将介绍如何使用和配置Wlan AP模块。
功能说明
hostapd是Linux系统上的一个带加密功能的无线接入点(access point : AP)程序。hostapd能够使得无线网卡切换为master模式,模拟AP(路由器)功能,作为AP的认证服务器,负责控制管理stations的接入和认证。hostapd 是用于接入点和身份验证服务器的用户空间守护进程。它实现了IEEE 802.11接入点管理,当前版本支持Linux(Host AP、madwifi、mac80211-based驱动)和FreeBSD(net80211)。
hostapd 被设计为一个“守护进程”程序,在后台运行并充当控制身份验证的后端组件。hostapd 支持单独的前端程序,hostapd 中包含一个基于文本的使用工具hostapd_cli。(wpa_supplicant对应的是对station模式的管理,前端程序为wpa_cli)
由于hostapd的良好特性,现在已经被广泛使用,可以说是通用的AP管理工具了。
功能使用
首先找到之前编译生成的成果物
hostapd和hostapd_cli以及hostapd.conf文件
启动hostapd前需要我们写好hostapd的配置文件,因为hostapd起来前会解析这个文件来进行相关的设定
打开hostapd.conf文件
删除原有东西,写入如下配置
#选择的网口名称,我这里是wlan0。具体可以ifcofnig -a看下当前设备下有哪些网口
interface=wlan0
#线驱动,一般有两种:wext/nl80211,wext版本较旧目前一般使用nl80211
driver=nl80211
#iEEE802.11n
ieee80211n=1
#802.11g,一般三个模式: a,b,g。a->5GHZ,g->2.4GHZ
hw_mode=g
#wifi工作的信道,2.4GHZ(1~14)
channel=6
#AP的名称,类似于我们的路由器(wifi)名称
ssid=SH
#选择加密方式为WPA2,常用加解密方法是有WEP、WPA、WPA2、WPA3
wpa=2
#密码
wpa_passphrase=abc12345
#加密方式
wpa_key_mgmt=WPA-PSK
#加密算法
rsn_pairwise=CCMP TKIP
wpa_pairwise=TKIP CCMP
通过TFTP命令将hostapd和hostapd.conf文件下载到设备中去,并添加可执行权限
执行该命令启动hostapd
设备作为AP节点成功启动
打开手机搜索该热点
发现设备已经能成功搜索到,但是此时并无法正常链接,需要配置设备的网卡的IP地址
输入命令
(udhcpd可执行文件参考另一篇udhcp交叉编译全流程说明文档)
udhcpd udhcpd.conf –B
在后台运行该程序、
若出现以下错误
则说明wlan0网口默认无IPV4地址所以无法启动
输入如下命令进行配置一个默认IP地址,然后再起尝试启动即可成功
ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up
再次输入ifconfig –a
再用手机链接设备的WIFI
至此设备作为AP节点被其他客户端链接通信成功