hostapd是一个linux下的wifi管理程序

下载hostapd源码

首先需要从官网下载hostapd的源码,这里有两种方式

 一是从官方的git仓库里获取hostapd最新的开发版

git clone git://w1.fi/srv/git/hostap.git
cd hostap/hostapd

 二是从官网下载一个稳定版本,http://w1.fi/hostapd/

wget http://w1.fi/releases/hostapd-2.6.tar.gz
tar xzvf hostapd-2.6.tar.gz
cd hostapd-2.6/hostapd

然后,我们需要配置hostapd使得其能够获得nl80211驱动的支持。复制hostapd目录下的deconfig文件为.config,并进行编辑。

cp defconfig .config
vi .config

找到下面这行,去掉#注释

#CONFIG_DRIVER_NL80211=y

然后就可以对hostapd进行编译了。

make

在编译过程中,我们可能遇到几个问题

问题1:

driver_nl80211.c:21:31: warning: netlink/genl/genl.h: No such file or directory
driver_nl80211.c:22:33: warning: netlink/genl/family.h: No such file or directory
driver_nl80211.c:23:31: warning: netlink/genl/ctrl.h: No such file or directory
driver_nl80211.c:24:25: warning: netlink/msg.h: No such file or directory
driver_nl80211.c:25:26: warning: netlink/attr.h: No such file or directory

解决办法:

安装libnl和libssl库

sudo apt-get install libssl-dev libnl-3-dev

如果还是有问题,编辑.config文件,去掉以下语句的注释,然后再次make。

#CONFIG_LIBNL32=y

配置hostapd

在下载的hostapd目录中有默认的配置文件hostapd.conf,但配置太多,对于初学者来说不是太好理解,我们先自己创建一个简单的配置文件hostapd-minimal.conf,对hostapd的功能进行验证。

编辑hostapd-minimal.conf文件

#wlan0为你的无线网卡名称
interface=wlan0
driver=nl80211
ssid=test
hw_mode=g
channel=1

完成配置后,可以使用命令尝试开启hostapd

./hostapd ./hostapd-minimal.conf

可能会遇到如下错误

Configuration file: hostapd-minimal.conf
nl80211: Could not configure driver mode
nl80211: deinit ifname=wlp9s0b1 disabled_11b_rates=0
nl80211 driver initialization failed.
wlp9s0b1: interface state UNINITIALIZED->DISABLED
wlp9s0b1: AP-DISABLED
hostapd_free_hapd_data: Interface wlp9s0b1 wasn‘t started

这是因为有其他的网络程序在占用了无线网卡接口,你必须先关闭系统本身的无线网络管理程序

sudo nmcli radio wifi off
sudo rfkill unblock wlan
sudo ifconfig wlan0 192.168.1.1/24 up

然后再打开hostapd。如下所示,表示你已经成功启动了hostapd

Configuration file: hostapd-minimal.conf
Using interface wlp9s0b1 with hwaddr 68:94:23:8b:88:a3 and ssid "test"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED 

接下来用手机连接wifi,发现可以搜到wifi信号,但是手机连不上。这是因为电脑没有dhcp和路由功能。接下来,我将安装dhcp相关程序,配置软件路由。

hostapd源码编译与配置相关推荐

  1. mysql5.7.13编译安装_MySQL 5.7.13 源码编译安装配置方法图文教程

    安装环境:centos7 64位 mini版 官网源码编译安装文档: 一.系统安装条件 官方文档说明: 1> cmake mysql使用cmake跨平台工具预编译源码,用于设置mysql的编译参 ...

  2. LAMP源码编译安装配置+wordpress

    什么是LAMP呢?LAMP就是Linux+apache+mysql+php,一组常用来搭建动态网站或者静态网站的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同 ...

  3. Nginx 源码编译安装配置

    Nginx 源码安装 作者:闫涛 E-mail:coderyantao@qq.com 备注:实验环境为虚拟机,selinux.firewalld都已经关闭.此次安装面向新手,并没有提前把所有问题解决, ...

  4. FreeCAD源码编译、配置及编译运行

    目录 一.准备文件及环境 1.1.下载源码 1.2.下载依赖包LibPack 1.3.其他环境 二.项目构建 2.1 构建存放文件夹 2.2 CMake生成构建项目 一.准备文件及环境 FreeCAD ...

  5. Ubuntu20.04或18.04下PX4(pixhawk)源码编译环境配置教程,及构建代码各种错误解决办法

    在 Ubuntu Linux 18.04 和 20.04 上设置 PX4 开发环境,可参考此教程或官方教程Ubuntu Development Environment | PX4 User Guide ...

  6. Qt源码编译configure配置参数

    安装选项 选项 作用 -prefix <dir> 指定部署目录(默认 /usr/local/Qt-5.6.0) -extprefix <dir> 安装目录(默认 SYSROOT ...

  7. vc6可编译的 linux 源码,Linux 下源码编译FFMEG

    1. 安装依赖关系 $ sudo apt-get update $ sudo apt-get -y install autoconf automake build-essential libass-d ...

  8. Android 源码编译详解【合集篇】

    Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...

  9. Spark入门教程(二)Spark2.2源码编译及安装配置

    Spark2.2源码下载 点此进入官网下载地址: 下载Spark spark官网下载截图 //下载好后用传输工具传输到我们的linux上并解压缩 tar -zxvf spark-2.2.0.tgz 源 ...

最新文章

  1. onkeypress属性添加报错_亚马逊运营过程中listing常见报错及应对策略汇总
  2. 表单的增 删 改 查
  3. 软件测试之三——路径覆盖
  4. Webstorm出现NoGitBinary时配置Git环境变量
  5. add.attribute向前端传_前端知识-概念篇
  6. c/c++教程 - 1.8 函数 形参 实参 值传递 声明调用 函数的分文件编写
  7. PostgreSQL GPU 加速(HeteroDB pg_strom) (GPU计算, GPU-DIO-Nvme SSD, 列存, GPU内存缓存)
  8. 轮播图的3个常见bug,即处理bug思路及其解决办法
  9. 单机多实例Tomcat部署
  10. java web项目开发流程_Java Web项目开发步骤
  11. 习题7-3 判断上三角矩阵
  12. android项目查看sdk版本号,怎查看Android项目的Android版本
  13. 计算机硬件acc作用,累加器A的主要作用是什么_一文解析累加器a和acc的区别
  14. labview初级08---波形图、波形图表、XY图
  15. 贝叶斯与朴素贝叶斯入门及实战
  16. 可视化开发平台的内容介绍
  17. microsoft 365 E5申请过程收不到验证码的解决方案
  18. 机器学习算法-KMeans聚类算法解析及伪代码实现。
  19. 三种样式的九九乘法表—C语言
  20. 信号明确简单 顶底指标公式 通达信 副图 源码

热门文章

  1. 抖音服务器维护播放为零,抖音作品为什么播放为零 账号是不是被官方限流屏蔽了...
  2. 盘点数据分析师笔试题 你会做几道?
  3. 清除session ,清除cookie
  4. 第二次上机作业 (数组综合)
  5. 【Unity3D-Mirror多人坦克大战】生命盾牌物品的创建、物品动画的创建(九)
  6. ABAP-OOALV-回车事件
  7. Win10+RTX3060配置CUDA等深度学习环境
  8. 生成在线图片地址,用于测试
  9. python指纹识别_分享Python编写的网站组件指纹扫描工具.
  10. 直觉模糊犹豫集结算子的多属性决策方法及matlab应用