使用wifi网卡笔记2----概念及工具iw(STA模式)
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
最新文章
- UDK游戏开发基础命令
- XML Data Type Methods(一)
- Swift基础--可选绑定和守护绑定
- 【leetcode】Next Permutation(middle)
- C/C++类型转换总结
- c# 实现串口编程-操作LED屏幕
- 关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题
- (转)解析PHP中ob_start()函数的用法
- android anim 动画效果
- IntelliJ IDEA:给web应用提供JSTL支持
- [51nod1355] 斐波那契的最小公倍数
- beego获取用户请求参数的方法
- Xmind破解
- XML注释与取消注释快捷键
- I2C总线以及GPIO模拟I2C
- Spring Cloud(Dalston.SR5)--Eureka 服务实例健康检查
- java面试题:Linux
- WebView动态注入JavaScript脚本
- redis之安装与简单使用
- Mongodb3安装授权
热门文章
- 数据仓库(Data Warehouse)建设
- Sql Server- 性能优化辅助指标SET STATISTICS TIME ON和SET STATISTICS IO ON
- Android程序员学WEB前端(1)-HTML(1)-标准结构常用标签-Sublime
- ng开启缓存 造成的问题:
- UIview的一些属性
- [转]blocks编程
- HDU3394Railway Tarjan连通算法
- BZOJ4566 Haoi2016 找相同字符【广义后缀自动机】
- HDU2473 Junk-Mail Filter 【可删除的并查集】
- java面试题08