wpa_supplicant移植安装

前面讲了iw工具的使用,这篇文章来讲解wpa_supplicant工具的安装和使用

用到的源码:

openssl-1.0.1d.tar.gz,     下载地址:点击这里!
wpa_supplicant-2.0.tar.gz 下 载地址:点击这里!

以手机上WIFI热点为例,有4种常用的"认证/加密"
a. open
b. WEP
c. WPA(TKIP)
d. WPA2(AES)

wpa_supplicant : 可用于上述4种"认证/加密"


需要用到libopenssl库文件,先编译它的依赖libopenssl
tar xzf openssl-1.0.1d.tar.gz
cd openssl-1.0.1d/
./config shared no-asm --prefix=$PWD/tmp
修改Makefile:
CC= arm-linux-gcc
AR= arm-linux-ar $(ARFLAGS) r
RANLIB= arm-linux-ranlib
NM= arm-linux-nm
MAKEDEPPROG= arm-linux-gcc


make

make install
/* 把tmp目录头文件和库文件放在交叉工具链路径下,并且库文件复制到根文件系统的lib */
把编译出来的头文件应该放入:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
把编译出来的库文件应该放入:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

把编译出来的库文件应该放入根文件系统的lib目录:


编译wpa_supplicant-2.0.tar.gz 

tar xzf wpa_supplicant-2.0.tar.gz 
cd wpa_supplicant-2.0/wpa_supplicant/
cp defconfig .config
修改.config加上一行: CONFIG_LIBNL32=y    /* 不加提示找不到-lnl库 */
修改Makefile:
CC=arm-linux-gcc
make
make DESTDIR=$PWD/tmp install
wpa_supplicant/examples/plaintext.conf配置文件复制到开发板的etc目录下

启动开发板用下面的命令:
mkdir -p /var/run/wpa_supplicant
① OPEN
wpa_supplicant -B -c/etc/plaintext.conf -iwlan0
wpa_cli -iwlan0 status  // 查看状态
ifconfig wlan0 172.168.1.55     /* 无线网卡的IP */
ping 172.168.1.1                         /* 无线网卡的网关 */


配置文件内容为:
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="Linux"
        key_mgmt=NONE
}


② WEP/WEP
wpa_supplicant -B -c/etc/wep.conf  -iwlan0
wpa_cli -iwlan0 status  // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1


配置文件:
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="Linux"
        key_mgmt=NONE
        wep_key0="Linux"
        wep_tx_keyidx=0
}


③WPA(TKIP)
wpa_supplicant -B -c/etc/wpa-psk-tkip.conf  -iwlan0
wpa_cli -iwlan0 status  // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1


配置文件
ctrl_interface=/var/run/wpa_supplicant  # 一个目录,用于wpa_supplicant和wpa_cli的socket通信
network={
        ssid="Linux"
        proto=WPA  # proto: list of accepted protocols, 可取WPA,RSN
                   # If not set, this defaults to: WPA RSN
        key_mgmt=WPA-PSK # 认证方式
                         # If not set, this defaults to: WPA-PSK WPA-EAP
        pairwise=TKIP    # If not set, this defaults to: CCMP TKIP
        group=TKIP       # If not set, this defaults to: CCMP TKIP WEP104 WEP40 
        psk="Linux"    /* 密码 */
}


④ WPA2(AES)
wpa_supplicant -B -c/etc/wpa_wpa2.conf  -iwlan0
wpa_cli -iwlan0 status  // 查看状态
ifconfig wlan0 192.168.1.55
ping 192.168.1.1


配置文件:
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="Linux"
        psk="Linux"
}


另:
wpa_cli可工作于"命令模式"和"交互模式"


⑤ 配置文件里设置多个network:
ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="Linux"
        psk="baiwenwang123"
}
network={
        ssid="Linux1"
        psk="Linux"
}


⑥ 访问外网:
修改/etc/resolv.conf添加DNS:
nameserver 192.168.1.1

设置网关:
route add default gw 192.168.1.1





  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HeroKern

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值