上篇博客中,配置修改了内核,以支持所选择的USB网卡,本篇博客需要去编写一些应用程序,将wifi网卡使用起来。

1.1 概念:认证/加密
认证:就是用来判断哪些用户可以使用这个无线网络
加密:是指手机和AP传输数据时,数据不会被别人看到或者不会发生错误。

无线加密的多种方法及其区别(WEP WPA TKIP EAP)

更详细的请看http://wenku.baidu.com/link?url=DlLntlD490hAeIIbE-CO4QfAzgUC-gOTA7FCwS_XanOJMFzkyhQrFIB38ULKCcQIVFyDqqSWNWyq5kVtYAoJKjjf9pmZLu17-hVQ922WeaG

认证和加密分为三个阶段:
初级版本、过渡版本、终结版本
初级版本:——不安全

open/open
open/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时,认证过程不是在AP上进行的,而是又发送到一个服务器,由服务器进行认证。即由服务器
来判断手机能不能使用无线网络。在大型的公司里面,由一个服务器进行统一的认证,这种方式是比较好的,
但是对于家庭或小公司而言,这种成本相对较高,那么有没有一种替代方法?答案是有的。使用下面这种方式。
PSK
手机---->AP,
手机或客户端只需要连接到AP就可以了,提示输入密码。AP上面事先设置密码。
如果手机提供的密码与预先设置的密码相同,那么就可以使用无线网络了。

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

1.2 编译、使用iw,wpa_supplicant,dhcp
a. 旧工具iwconfig,iw是它的替代者,可用于这两种"认证/加密":open,WEP
b. wpa_supplicant:可用于上述4种"认证/加密"
c. dhcp:使得WIFI网卡动态获取IP

1.2.1 iw相关的工作

wireless.kernel.org/en/users/Documentation/iw

下载iw的源码以及它所依赖的库:
iw的源码:http://kernel.org/pub/software/network/iw/.
所依赖的库:libnl    http://www.infradead.org/~tgr/libnl/

a.1
libnl-3.2.23.tar.gz
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
将编译出来的头文件应该放入:
/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

将编译出来的库文件应该放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

将编译出来的库文件应该放入NFS文件系统的lib目录:
/work/nfs_root/fs_mini_mdev_new/lib

a.2
tar xjf iw-3.11.tar.bz2
cd iw-3.11,看一下没有configure文件。那么只能去修改Makefile

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)

make 后,就会出现iw。

a.3   iw的使用

Getting device capabilities

iw list

Scanning

iw dev wlan0 scan (注意先启动网卡,再进行扫描 ifcofig wlan0 up )

可以看一下,扫描出的SSID是否是对的。

设置AP:
路由器名称(SSID):dswei
安全:无
iw dev wlan0 scan | grep dswei
会看到SSID :dswei
连接:
iw wlan0 connect dswei
连接成功后,看一下手机上有什么显示?你会看到有一个用来连接上来了
配置IP:
ifconfig wlan0 192.168.1.55
ping 192.168.1.1(热点IP) 可以ping的通。

现在将AP热点设置为一种加密模式,选择WEP这种模式,它需要13位密码,设为baiwenwang123

ifconfig wlan0 down
ifconfig wlan0 up
你现在可以尝试一下,看看能否ping的通?
ping 192.168.1.1,肯定是ping不通的。因为没有连接
iw wlan0 connect dswei keys d:0:baiwenwang123
keys:表示密码

d:default

0:表示第0个密码
对于WEP的那种方式,它可以有5个字符的密码,也可以有13个字符的密码。
0表示第0个密码
然后再ping一下,肯定能ping的通

更多iw的用法,参考https://wireless.wiki.kernel.org/en/users/Documentation/iw

使用WIFI网卡iw的更多相关文章

  1. 34、JZ2440上WIFI网卡使用

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

  2. 使用wifi网卡笔记2----概念及工具iw(STA模式)

    1.认证和加密的概念 (1)概念 (2)阶段划分 初级版本:认证不需要密码, 传输不需要加密 认证不需要密码, 传输需要加密(用WEP算法) 认证需要密码(用WEP算法), 传输需要加密(用WEP算法 ...

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

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

  4. 使用WIFI网卡 wpa_supplicant

    在上篇文章中,编译了应用程序iw,它使得我们的开发板可以通过usb wifi网卡连接到无线热点,为了方便实验,我们采用了手机设置了无线热点.对手机的热点有4中安全方式:无WEPWPAWPA2使用iw工 ...

  5. S5PV210 移植无线wifi网卡 MT7601

    一.准备工作 1.MT7601驱动下载 点击下载 2.插入usb WiFi 启动开发板linux,lsusb查看usb驱动 Bus 001 Device 003: ID 148f:7601看到的是该驱 ...

  6. 不止是联网!教你玩转PC自带Wi-Fi网卡

    前言:Wi-Fi对于现在的智能手机来说已经是再熟悉不过的配置了,而主板自带Wi-Fi网卡的设计也越来越普及,但有些玩家可能思维还停留在“Wi-Fi网卡 = 连无线网络用的网卡,我用有线就不需要”的层次 ...

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

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

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

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

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

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

随机推荐

  1. Maven使用第三方Jar文件

    本例中,需要在Maven项目里添加uiautomator.jar文件.以下介绍两种方法: 方法一:在pom.xml里指定jar文件目录 <dependency> <groupId&g ...

  2. 【转】python中numpy模块下的np.clip()的用法

    转自:https://blog.csdn.net/HHTNAN/article/details/79799612 Numpy 中clip函数的使用 一维数组 其中a是一个数组,后面两个参数分别表示最小 ...

  3. 团队作业第五次—项目冲刺-Day3

    Day3 part1-SCRUM: 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺集合 团队名称 hunte ...

  4. 初始socket模块和巧解粘包问题

    1.什么是socket? 两个进程如果需要进行通讯最基本的一个前提能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大 ...

  5. Nginx 的 Timeout Wait 解决

    1.问题解决办法 查看Nginx并发状态 #netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT ...

  6. 【网络知识之五】TCP

    TCP协议:传输控制协议. 一.TCP保证可靠性的机制1.校验和 TCP报头有16位检验和: 由发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题. 此处的校验和不光包含 ...

  7. linux写shell注意的问题

    linux写shell注意的问题一定要vi crontab.sh来写 ps:在windows系统中编辑过这个文件,就会出现类似的换行符 这样导致linux系统中运行sh报错 比如会出现$MQ字符 如果 ...

  8. SQL ----------- 借助视图写多表查询

    在多表查询中可能遇到两表.三表乃致四表查询,自己进行直接用sql 语句进行书写的话可能比较难,但是可以借助视图进行分析,书写 1.右击视图点击新建 选择需要的表点击添加,注意两个表之间要有相同的字段 ...

  9. 容斥原理--计算并集的元素个数 URAL 1091

    在计数时,必须注意没有重复,没有遗漏.为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计 ...

  10. 一次kuberneets evicted的历险

    一.概述 kubernetes 的eviction检测diskpresure,检测的是kubelet的root-dir.kubelet的默认root-dir是/var/lib/kubelet,可以使用 ...