当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Wifi加密工具移植(FS_4412)

Wifi加密工具移植(FS_4412) 时间:2014-10-14      来源:未知

WPA 全名为 Wi-Fi Protected Access,有WPA 和 WPA2两个标准,是一种保护无线电脑网络(Wi-Fi)安全的系统,它是应研究者在前一代的系统有线等效加密(WEP)中找到的几个严重的弱点而产生的。

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL。 SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。

协议当我们移植好USB-Wifi驱动后,还需要移植wpa_supplicant,移植所需要的源码在\Cortex-A9\移植部分\Wifi\wifi加密源码目录中

1.Openssl移植

将\Cortex-A9\移植部分\Wifi\wifi加密源码目录中openssl-0.9.8e.tar和wpa_supplicant-0.7.2.tar拷贝到Ubuntu工作目录(此文档以/home/linux/work/4412为工作目录)

执行以下命令解压源码
        tar xvf wpa_supplicant-0.7.2.tar.gz
        tar xvf openssl-0.9.8e.tar.gz

解压完后可以看到以下两个目录

openssl-0.9.8e和wpa_supplicant-0.7.2

1.1 安装补丁

penssl源码编译需要打wpa_supplicant提供的补丁,我们选择的openssl版本为openssl-0.9.8e所以我们需要wpa_supplicant-0.7.2/patches/openssl-0.9.8e-tls-extensions.patch拷贝到openssl-0.9.8e源码目录下。

执行命令
        cp wpa_supplicant-0.7.2/patches/openssl-0.9.8e-tls-extensions.patch ./openssl-0.9.8e

进入openssl-0.9.8目录开始打补丁,执行以下命令
        cd openssl-0.9.8e
        patch -p1 < openssl-0.9.8e-tls-extensions.patch

1.2配置编译安装

在工作目录/home/linux/work/4412里创建一个新的目录wifi
        mkdir /home/linux/work/4412/wifi

配置相关选项,在openssl-0.9.8目录中执行以下命令
        ./Configure linux-elf-arm -DL_EDNIAN linux:'arm-cortex_a8-linux-gnueabi-gcc' shared 
        --prefix=/home/linux/work/4412/wifi/

如图所示

配置命令执行后,开始编译安装,执行以下命令
        make 
        make install

以上步骤成功后,可以在wifi目录中看到如图所示的新增目录

2.移植wpa_supplicant

进入wpa_supplicant-0.7.2/wpa_supplicant目录
        cd /home/linux/work/4412/wpa_supplicant-0.7.2/wpa_supplicant

2.1修改Makefile

修改第2行中的CC=gcc 为 CC=arm-cortex_a8-linux-gnueabi-gcc,并且注销第1行和第3行。如下图所示

修改为


        CFLAGS += -I../src
        CFLAGS += -I../src/utils
        下添加:
        CFLAGS += -I/home/linux/work/4412/wifi/include/

修改
        LIBS += -lssl
        为
        LIBS += -lssl -L/home/linux/work/4412/wifi/lib/

修改
        LIBS_p += -lcrypto
        为
        LIBS_p += -lcrypto -L/home/linux/work/4412/wifi/lib/

2.2编译

在目录/home/linux/work/4412/wpa_supplicant-0.7.2/wpa_supplicant下执行命令
        cp defconfig .config
        make

编译完后可以再目录中发现以下两个文件wpa_supplicant和wpa_cli

将wpa_supplicant和wpa_cli拷贝到开发板根文件系统的/bin目录中(注意:此文件系统是开发板的根文件系统)

3.测试

3.1添加文件resolv.conf

在开发板根文件系统的/etc目录中添加文件resolv.conf

其内容如下
        # Generated by NetworkManager
        nameserver 202.96.64.68

3.2添加文件wpa-psk-tkip.conf

在开发板根文件系统的/etc目录中添加配置文件wpa-psk-tkip.conf

内容如下
        # WPA-PSK/TKIP
        ctrl_interface=/var/run/wpa_supplicant
        network={
        ssid="XXXX" # XXXX为无线路由的ssid
        key_mgmt=WPA-PSK
        proto=WPA
        pairwise=CCMP
        group=CCMP
        psk="XXXXXXXX" # XXXXXXXX为对应的无线路由密码
        }

3.3创建目录/var/run/wpa_supplicant

在开发板根文件系统中穿件目录/var/run/wpa_supplicant,执行以下命令
        mkdir /var/run/wpa_supplicant -p

3.4启动开发板测试

等开发板内核启动完成后,在终端上执行以下命令

注意:以下步骤都是在USB-wifi网卡驱动安装成功后才能正常测试,USB-Wifi驱动安装请参考《FS_4412平台USB-Wifi驱动移植参考文档》文档

配置网卡ip,执行以下命令
        ifconfig wlan0 192.168.1.200 //注意:配置的ip网段要和路由器的网段一致

配置默认网关
        route add default gw 192.168.1.1

启动wpa_supplicant连接无线网络
        wpa_supplicant -B -i wlan0 -c /etc/wpa-psk-tkip.conf

查看连接状态
        wpa_cli status

上一篇:函数与指针专题

下一篇:搭建Android 4.4开发环境——安装篇

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部