使用wifi网卡笔记5---AP模式
使用WIFI网卡的AP功能
1、下载源码 hostapd: http://w1.fi/hostapd/
2、编译、安装(hostapd依赖于libnl库,需要编译、安装此库)
tar xzf hostapd-2.0.tar.gz
cd hostapd-2.0/
cd hostapd/
cp defconfig .config
修改.config, 加一行: CONFIG_LIBNL32=y
修改Makefile:
CC=arm-linux-gcc 交叉编译
编译
make
安装
make DESTDIR=$PWD/tmp install
把生成的hostapd hostapd_cli复制到NFS的bin目录
3、使用(启动 hostapd)
hostapd -h查看命令如何使用
(3.1)定义一个 hostapd的配置文件/etc/myhostapd.conf:WPA/WPA2
配置文件hostapd.conf对相关选项的取值有详细的介绍
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0 用哪一个网卡
driver=nl80211 所用驱动
ssid=S3C2440 AP名称
channel=1
# 认证/加密方式
macaddr_acl=0 控制MAC地址的过滤
auth_algs=1 使用wep方式(对于WPA或WPA2,此值必须设为1)
ignore_broadcast_ssid=0
wpa=3 AP既支持WPA也支持WPA2
wpa_passphrase=baiwenwang 密码
wpa_key_mgmt=WPA-PSK 在AP上预设密码,不经服务器处理
wpa_pairwise=TKIP WPA的加密方式
rsn_pairwise=CCMP WPA2 的加密方式
把配置文件存为/etc/myhostapd.conf
-B是指运行于后台,/etc/myhostapd.conf是配置文件
启动 hostapd: hostapd -B /etc/myhostapd.conf
4、 启动 dhcpd,给手机分配IP
(1)修改配置文件/etc/dhcpd.conf,添加:
subnet 192.168.1.0 netmask 255.255.255.0 { //子网和子网掩码
range 192.168.1.10 192.168.1.100; //要分配的IP地址范围
option domain-name-servers 192.168.1.1; //DNS服务器IP
option routers 192.168.1.1; 路由
}
(2)创建空文件/var/db/dhcpd.leases:
>表示生成一个空文件
> /var/db/dhcpd.leases
(3)启动 dhcpd
先配置网卡IP
ifconfig wlan0 192.168.1.1
/etc/dhcpd.conf是我们编写的配置文件 ,wlan0是我们所用的网卡
dhcpd -cf /etc/dhcpd.conf wlan0
(4)查看有多少个客户端连接我的无线IP命令
hostapd_cli和hostapd是通过socket文件来通信的,不指定socket文件,hostapd_cli和hostapd无法连接,修改myhostapd.conf
文件,加上此行ctrl_interface=/var/run/hostapd
hostapd_cli -h查看如何使用
两种模式
1、直接写入命令
2、交互模式:先直接执行hostapd_cli。
看有多少个客户端连接我们的无线AP
查看MAC地址对应的IP
5、 OPEN方式的配置文件
hostapd的配置文件/etc/myhostapd.conf
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0 用哪一个网卡
driver=nl80211 所用驱动
ssid=S3C2440 AP名称
channel=1
# 认证/加密方式
macaddr_acl=0 控制MAC地址的过滤
auth_algs=1 使用wep方式(对于WPA或WPA2,此值必须设为1)
ignore_broadcast_ssid=0
6、 WEP方式的配置文件
hostapd的配置文件/etc/myhostapd.conf
ctrl_interface=/var/run/hostapd
#change wlan0 to your wireless device
interface=wlan0
driver=nl80211
ssid=S3C2440
channel=1
# 认证/加密方式
macaddr_acl=0
auth_algs=2
ignore_broadcast_ssid=0
wep_key0="baiwenwang123" 密码
wep_default_key=0 默认密码是第0个密码
baiwenwang123是ASCII码,其16机制可用UltrasEdit在里面写入后,按Ctrl+h键就能出现16进制值
7、 修改/etc/mdev.conf自动启动AP模式(热拔插)
cat /etc/mdev.conf
wlan0 0:0 777 * /sbin/auto_wifi_ap.sh
添加执行权限
chmod +x /sbin/auto_wifi_ap.sh
cat /sbin/auto_wifi_ap.sh
#!/bin/sh
if [ $ACTION = "add" ];
then
hostapd -B /etc/myhostapd.conf
ifconfig wlan0 192.168.1.1
dhcpd -cf /etc/dhcpd.conf wlan0
else
killall hostapd
killall dhcpd
fi
注意事项:
对于包含了AR9271网卡驱动的内核,有一个问题:
在上电之前就接上了网卡,那么系统启动后无法识别出这个网卡。
解决方法:
1.上电后再接网卡
2.把驱动编译为模块,当系统启动后再insmod: 可以在上电之前就接网卡
可能原因:ath9k_htc.ko要用到固件, 但是固件要到根文件系统被挂载后才能访问
使用wifi网卡笔记5---AP模式的更多相关文章
- 使用wifi网卡笔记4---工具dhcp及全自动使用wifi
dhcp : 使得WIFI网卡动态获取IP ·1.源码获取 输入dh看有哪些应用程序,输入dhclient -v查看一下相关信息,源码获取的网址 2.开发环境配置 解压 tar xzf dhcp-4. ...
- 使用wifi网卡笔记2----概念及工具iw(STA模式)
1.认证和加密的概念 (1)概念 (2)阶段划分 初级版本:认证不需要密码, 传输不需要加密 认证不需要密码, 传输需要加密(用WEP算法) 认证需要密码(用WEP算法), 传输需要加密(用WEP算法 ...
- 使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置
1.wifi的STA模式和AP模式 Ap(Access Point)模式指的是可以将网卡设置为路由器用来共享流量或有线网络给别人使用, sta模式指的是当做网卡连接路由器上网 (1):AP也就是无线接 ...
- 使用wifi网卡笔记3---工具wpa_supplicant(STA模式)
1. wpa_supplicant介绍 supplicant是恳求者的意思,是wpa的发起者,是发送认证请求的设备(手机),手机--AP--认证服务器,可用于上述4种"认证/加密" ...
- 转 WiFi的STA和AP模式指什么?
1):AP,也就是无线接入点,是一个无线网络的创建者,是网络的中心节点.一般家庭或办公室使用的无线路由器就一个AP. 2):STA站点,每一个连接到无线网络中的终端(如笔记本电脑.PDA及其它可以联网 ...
- 使用WIFI网卡的AP功能
前几篇博客中,wifi无线网卡都工作于STA模式,那么它能否工作于AP模式.本篇博客就研究使wifi 无线网卡工作于AP模式.使用一个应用程序hostapd,关于它的介绍可以去此网站https://w ...
- 使用WIFI网卡 dhcp动态获取IP
前面几篇博客中,wifi网卡的ip都是手工设置的,本篇博客将来移植dhcp,使得wifi网卡可以动态的获取ip.路由等信息. 那我们去哪里下载dhcp源码呢?在pc机上执行dh +tab键,看一下有哪 ...
- Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志
Tethering技术在移动平台上已经运用的越来越广泛了.它能够把移动设备当做一个接入点,其它的设备能够通过Wi-Fi.USB或是Bluetooth等方式连接到此移动设备.在Android中能够将Wi ...
- Marvell w8782 sdio wifi AP模式设置
http://blog.csdn.net/junllee/article/details/8895908 w8782工作在station模式一切正常,于是想试试AP模式(master mode): A ...
随机推荐
- Linux:数据流重定向
1)垃圾桶黑洞 /dev/null command > /dev/null 2)stdout与stderr写入同一个文件 command > filename >& comm ...
- MQTT再学习 -- 漫谈MQTT协议
先占楼,稍后再讲.先搭建好MQTT服务器和客户端
- 【Java实战】源码解析为什么覆盖equals方法时总要覆盖hashCode方法
1.背景知识 本文代码基于jdk1.8分析,<Java编程思想>中有如下描述: 另外再看下Object.java对hashCode()方法的说明: /** * Returns a hash ...
- [置顶]
Deep Learning 学习笔记
一.文章来由 好久没写原创博客了,一直处于学习新知识的阶段.来新加坡也有一个星期,搞定签证.入学等杂事之后,今天上午与导师确定了接下来的研究任务,我平时基本也是把博客当作联机版的云笔记~~如果有写的不 ...
- SpreadJS 在 Angular2 中支持哪些事件?
SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,提供了完备的公式引擎.排序.过滤.输入控件.数据可视化.Excel 导入/导出等功能,适用于 .N ...
- visual studio 菜单栏显示异常 插件安装异常 扩展异常修复
这几天在使用Visual studio 的扩展插件的时候,遇见了菜单栏显示异常,解决方案显示异常的问题,如下: 经过自己的一顿摸索,解决方法如下,比如我在安装gitee或github插件之后就出现了这 ...
- canvas globalCompositeOperation
source-over 默认,相交部分由后绘制图形的填充(颜色,渐变,纹理)覆盖source-in 只绘制相交部分,由后绘制图形的填充覆盖,其余部分透明 source-out 只绘制后绘制图形不相 ...
- 推荐近乎免费的调试神器——OzCode
当一只断点打在 Visual Studio 的代码编辑器中,程序命中断点的那一刻,调试才刚刚开始……这个时候忙碌的手在键盘和鼠标之间来回跳跃,试图抓住每一次单步执行带来的状态改变. 如果命中断点的那一 ...
- drone 学习四 几个有用的命令
1. 安装cli 工具 linux curl -L https://github.com/drone/drone-cli/releases/download/v0.8.5/drone_linux_am ...
- #define用法
1.简单的define定义 #define MAXTIME 1000 一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写 if(i<MAXTIME) { // } 编译器在处理 ...