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

最新文章

  1. UDK游戏开发基础命令
  2. XML Data Type Methods(一)
  3. Swift基础--可选绑定和守护绑定
  4. 【leetcode】Next Permutation(middle)
  5. C/C++类型转换总结
  6. c# 实现串口编程-操作LED屏幕
  7. 关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题
  8. (转)解析PHP中ob_start()函数的用法
  9. android anim 动画效果
  10. IntelliJ IDEA:给web应用提供JSTL支持
  11. [51nod1355] 斐波那契的最小公倍数
  12. beego获取用户请求参数的方法
  13. Xmind破解
  14. XML注释与取消注释快捷键
  15. I2C总线以及GPIO模拟I2C
  16. Spring Cloud(Dalston.SR5)--Eureka 服务实例健康检查
  17. java面试题:Linux
  18. WebView动态注入JavaScript脚本
  19. redis之安装与简单使用
  20. Mongodb3安装授权

热门文章

  1. 数据仓库(Data Warehouse)建设
  2. Sql Server- 性能优化辅助指标SET STATISTICS TIME ON和SET STATISTICS IO ON
  3. Android程序员学WEB前端(1)-HTML(1)-标准结构常用标签-Sublime
  4. ng开启缓存 造成的问题:
  5. UIview的一些属性
  6. [转]blocks编程
  7. HDU3394Railway Tarjan连通算法
  8. BZOJ4566 Haoi2016 找相同字符【广义后缀自动机】
  9. HDU2473 Junk-Mail Filter 【可删除的并查集】
  10. java面试题08