zoukankan      html  css  js  c++  java
  • 使用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要用到固件, 但是固件要到根文件系统被挂载后才能访问
  • 相关阅读:
    好用的jsDelivr
    纯css实现图片或者页面变灰色
    三元表达式的连写
    markdown常用语法小结
    vue中的事件修饰符
    ES6笔记一
    less使用小结
    flex布局小结
    所思所想,关于坚持
    前端渲染图片报403问题解决方案
  • 原文地址:https://www.cnblogs.com/alan666/p/8311858.html
Copyright © 2011-2022 走看看