1、认证和加密的概念

(1)概念

(2)阶段划分

初级版本:认证不需要密码, 传输不需要加密

认证不需要密码, 传输需要加密(用WEP算法)

认证需要密码(用WEP算法), 传输需要加密(用WEP算法,容易破解)

过渡版本:WPA   认证方式(802.1x),加密方式(TKIP,WEP)

认证方式(PSK),加密方式(TKIP,WEP)

终极版本: WPA2   认证方式(802.1x),加密方式CCMP(AES-CCMP),TKIP,WEP

认证方式(PSK),加密方式CCMP(AES-CCMP),TKIP,WEP

802.1x : 手机连接到AP后,它的认证过程不是在AP上进行的,而是发送到一个服务器,由服务器进行认证,在大型公司里面,用一个服务器统一进行认证这样比较好,但对于家庭网络,这样做认证成本太高,因而用PSK替代

PSK : 手机只需要连接AP,AP会提示手机输入密码,AP上事先设置密码,如果手机提供的密码和事先设置的密码一样,那么手机就可以使用无线网络。

(3)手机认证方式

以手机上WIFI热点为例,有4种常用的"认证/加密"

a. open

b. WEP

c. WPA(TKIP)

d. WPA2(AES)

2、编译、使用应用程序iw,wpa_supplicant,dhcp

(1)旧工具iwconfig, iw是它的替代者, 可用于这2种"认证/加密": open, WEP

//iw工具依赖于libnl库

tar xzf libnl-3.2.23.tar.gz

cd libnl-3.2.23/

//配置

./configure --host=arm-linux --prefix=$PWD/tmp

修改 lib/addr.c 添加宏(宏来自内核源码)

//编译

make

//安装

make install

//把头文件和库复制到工具链里面去

//把库的所有*so*复制到开发板所使用的网络文件系统的lib目录

把编译出来的头文件应该放入:(编译出来的文件都放在 libnl-3.2.23/tmp目录下)

include$   sudo cp   *  -rf   /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include





cd tmp/include/libnl3

sudo cp netlink -rf /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include





把编译出来的库文件应该放入:(-d表示原来是链接文件也作为链接文件拷贝过去)

lib$ cp *  -rf    -d /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib





把编译出来的库文件应该放入NFS文件系统的lib目录:lib$    cp  *so*     -d  work/nfs_root/fs_mini_mdev_new/lib





//编译iw工具

tar xjf iw-3.11.tar.bz2

cd iw-3.11/

修改Makefile:

CC = "arm-linux-gcc"

NL3xFOUND := Y

#LIBS += $(shell $(PKG_CONFIG) --libs $(NLLIBNAME))

#CFLAGS += $(shell $(PKG_CONFIG) --cflags $(NLLIBNAME))





在info.c的代码前面添加

#define htole16(X)  (((((uint16_t)(X)) << 8) | ((uint16_t)(X) >> 8)) & 0xffff)



编译并把iw拷贝到网络文件系统的bin目录下面去



使用:

iw list  // 列出WIFI网卡的性能

ifconfig wlan0 up //启动网卡

iw dev wlan0 scan  | grep dswei // 扫描WIFI AP. | grep dswei 表示在输出结果在那个搜索dswei

iw wlan0 connect dswei  // 连接到WIFI AP:dswei (open)

iw wlan0 connect dswei keys d:0:baiwenwang123// 连接到WIFI AP:dswei
(WEP)

                            d: default, 0: 第0个密码 

ifconfig wlan0 192.168.1.55 //配置IP

ping 192.168.1.1

iw wlan0 disconnect  //取消链接

转自:http://blog.csdn.net/qingkongyeyue/article/details/52248828

使用wifi网卡笔记2----概念及工具iw(STA模式)的更多相关文章

  1. 使用wifi网卡笔记4---工具dhcp及全自动使用wifi

    dhcp : 使得WIFI网卡动态获取IP ·1.源码获取 输入dh看有哪些应用程序,输入dhclient -v查看一下相关信息,源码获取的网址 2.开发环境配置 解压 tar xzf dhcp-4. ...

  2. 使用wifi网卡笔记5---AP模式

    使用WIFI网卡的AP功能 1.下载源码 hostapd: http://w1.fi/hostapd/ 2.编译.安装(hostapd依赖于libnl库,需要编译.安装此库) tar xzf host ...

  3. 使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置

    1.wifi的STA模式和AP模式 Ap(Access Point)模式指的是可以将网卡设置为路由器用来共享流量或有线网络给别人使用, sta模式指的是当做网卡连接路由器上网 (1):AP也就是无线接 ...

  4. 使用wifi网卡笔记3---工具wpa_supplicant(STA模式)

    1.  wpa_supplicant介绍 supplicant是恳求者的意思,是wpa的发起者,是发送认证请求的设备(手机),手机--AP--认证服务器,可用于上述4种"认证/加密" ...

  5. 使用WIFI网卡的AP功能

    前几篇博客中,wifi无线网卡都工作于STA模式,那么它能否工作于AP模式.本篇博客就研究使wifi 无线网卡工作于AP模式.使用一个应用程序hostapd,关于它的介绍可以去此网站https://w ...

  6. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  7. 3.1 wifi网卡RT3070在S3C2440的移植和使用

    学习目标:熟悉RT3070在S3C2440的移植和使用,以及其中的相关工具的安装和使用: 一.配置内核选择WIFI驱动 1. 将usb wifi插到电脑,在ubuntu使用命令:# lsusb 查看w ...

  8. 34、JZ2440上WIFI网卡使用

    :http://wireless.kernel.org在这个网站上的document中有下面说有内容的介绍 1. 准备工作(虚拟机,开发板)及配置内核选择WIFI驱动1.1 选型:确定网卡的VID,P ...

  9. 使用WIFI网卡iw

    上篇博客中,配置修改了内核,以支持所选择的USB网卡,本篇博客需要去编写一些应用程序,将wifi网卡使用起来. 1.1 概念:认证/加密认证:就是用来判断哪些用户可以使用这个无线网络加密:是指手机和A ...

随机推荐

  1. Python中基本的读文件和简单数据处理

    Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...

  2. [Linux] 随机切分文件内容

    1.从原文件中随机选出若干行 可以直接用shuf命令就可以完成: $ shuf -n source.txt > target.txt shuf命令的说明: $ shuf --help Usage ...

  3. ARM寄存器总结:

    ARM有16个32位的寄存器(r0到r15). r15充当程序寄存器PC,r14(link register)存储子程序的返回地址,r13存储的是堆栈地址. ARM有一个当前程序状态寄存器:CPSR. ...

  4. 【剑指offer】不使用新变量,交换两个变量的值,C++实现

    # 题目 不使用新变量,交换两个变量的值. # 思路 方法一:使用加减法操作,交换两个变量的值. A = A+B B = A-B A = A-B 方法二:使用异或运算,交换两个变量的值 A = A^B ...

  5. Android 百度地图2.4.2版本标注动画效果

    ImageView latestMapEventImageView = null; // 更新震中位置 private void updateMapEventOverlay() { mMapEvent ...

  6. 并查集实现Tarjan算法

    本文是对http://noalgo.info/476.html的一点理解,特别是对其中 int father[mx]: //节点的父亲 int ancestor[mx]; //已访问节点集合的祖先 这 ...

  7. 向requestAnimationFrame的回调函数中传递参数

    其实跟setTimeout类似,我们知道传参传的是一个函数,那么我们是不是可以用一个匿名函数来包裹这个函数的执行呢function fn(fc){ console.log('fc:',fc) fc++ ...

  8. 使用Session防止表单重复提交(不考虑多服务器)

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 原理:  1, ...

  9. HDU5126 stars【CDQ分治】*

    HDU5126 stars Problem Description John loves to see the sky. A day has Q times. Each time John will ...

  10. 1153 Decode Registration Card of PAT (25 分)

    A registration card number of PAT consists of 4 parts: the 1st letter represents the test level, nam ...