本文转载自:RT3070wifi模块的移植 关于无线网络加密的一些概念 本人糅合了两篇文章的内容。
平台:TI dm6441, ,linux2.6.18,
wifi:RT3070
我看wifi模块上没有写是镭凌公司的,因为公司同事是在另一个公司买的,但是当我看模块的驱动手册时,看到了驱动模块是rt3070sta.ko,狗狗一下后知道了一切。于是:下载了wifi驱动。
wifi驱动是DPO_RT3070_LinuxSTA_V2[1].3.0.4_20100604.tar.bz2在镭凌的官网上可以下载到最新驱程源码。
一:配置内核
Make menuconfig:
Device Drivers --->
Network device support --->
Wireless LAN (non-hamradio) --->
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
[*] Wireless Extension API over RtNetlink
--- Obsolete Wireless cards support (pre-802.11)
< > STRIP (Metricom starmode radio IP)
< > USB ZD1201 based Wireless device support
< > IEEE 802.11 for H
不然你即使编译好了这个模块也不能用
二、当然是编译模块咯,看驱动里面的readme,根据它来改驱动:
1、改Makefile: 里面没有dm6441平台的,我看到有dm6446的,所以就在这里改了
ifeq ($(PLATFORM),DM6446)
LINUX_SRC = /root/work/linux-2.6.18_pro500
CROSS_COMPILE=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-
Endif
这两个路径一定要正确。后来我想了一下这个Makefile里面的平台只是指定了内核和编译工具链,应该随便改哪个平台都是一样的吧。
2、改os/linux/config.mk
设置CC,LD :
CC := $(CROSS_COMPILE)gcc
LD := $(CROSS_COMPILE)ld
不用修改。
3.复制.dat文件到/etc/目录:
README上说是把RT2870STA.dat 复制到 /etc/Wireless/RT2870STA/RT2870STA.dat,
这里的目录要自己建。
三、用到的测试工具和库文件。
后来我从厂家那里拿到了他们驱动和工具。
我把厂家驱动光盘里WF8000-U_091225/linux/usr下的bin文件cp到/usr/bin 下。注意要改权限 chmod a+x /usr/bin/* 用于测试的工具就算装好了。
但是我把 libiw.so.29拷到/lib目录下但是和没拷错误一样,结果拷到根目录下成功,但是库不能放在这里啊,我估计要放到/usr/lib下,还没有试。
四、测试:
查看模块驱动里面的iwpriv_usage.txt可知道各个命令的参数,我由于当初没有看这里面的东西在进入有密码的路由器时吃了大亏,原来这里写的很清楚。
insmod rt3070sta.ko
ifconfig ra0 up 启用无线网卡,至于为什么是ra0,因为我的使用手册上是这样做的
此时cat /proc/wireless 可以看到多了一个ra0
iwlist scanning 可以搜索到可用的网络 iwlist ra0 scanning (只搜索ra0的无线网络)
iwpriv ra0 set SSID="name"无线网络配置 name是搜到的一个网络的名字。假如不要密码这样就行了。
iwpriv ra0 set WPAPSK="A3DDD" 输入登陆密码
iwconfig ra0 key open 打开密码 输入密码后 一定要加这条命令哦,不然连接不上
ifconfig ra0 192.168.1.109 netmask 255.255.255.0为无线网卡指定IP地址
设置网关 route add default gw 192.168.1.1
之后我在ubantu上ping 192.168.1.109 成功。这些命令就是所谓的工具。
在超级终端ping 外网成功。
各种密码的命令参数,这在iwpriv_usage.txt里面可以查到。
无密码:
iwpriv ra0 set SSID="Vodafone D100"
注意:在切换到无密码的用户时,若之前是有密码用户,则要iwconfig ra0 key off。
关于无线网络加密的一些概念
消费者在采购无线网路设备时,一定有看过或听过WEP加密机制,产品的彩盒上也都会注明支持64或128bit的WEP加密(目前是面上每款产品最少都支持64位元WEP)。WEP安全协定的英文全名为wired equivalent privacy protocol,是由Wi-Fi联盟制定。
两个802.11g无线网卡,对等网方式连接,用XP无线网络来管理,设置网络验证方式可选:开放式、共享式、WPA-None三种。其中开放式、共享式只能选WEP加密;而WPA-None加密方式可选TKIP、AES两类。
无线局域网概念介绍
无线局域网的英文简称是WLAN(Wirel Local Area Network),国内目前使用最多是802.11a/b/g。
频道(Channel)
802.11g可兼容802.11b,二者都使用了2.4G微波频段,最多可以使用14个频道(Channel)。各国的规定的2.4G频率范围略有不 同,在中国802.11b/g可以使用1-11频道,在同一区域可以有3个互不干扰的频道。家用微波炉也在这一频率范围会对信号有影响。蓝牙也在2.4G内,但蓝牙功率很小因此不会有大的影响。802.11a使用了5G无线频段,在同一区域可以有12个频道,一些高端的迅驰网卡支持802.11a。
带宽(bandwith)
802.11n支持在标准带宽(20MHz)上的速率包括有(单位Mbit/s):7.2, 14.4, 21.7, 28.9, 43.3, 57.8, 65, 72.2(短保护间隔,单数据流)。使用4xMIMO时速度最高为300Mbit/s。
802.11n也支持双倍带宽(40MHz),当使用40MHz带宽和4*MIMO时,速度最高可达600Mbit/s。
802.11b: 11M,5.5M,2M,1M
802.11g: 54M,48M,36M,24M,18M,12M,9M,6M
802.11a: 54M,20M,6M
AP(Acess Point)
无线接入点,是一种网络设备,无线网卡与AP相连,通过AP与其它网卡交换信号,AP通常还有RJ-45以太网口用以与有线网相连。简单地说AP就象一个Hub。
Infrastructure
基础架构通讯方式,无线网卡通过AP进行无线通讯。
Ad-Hoc
一种无线网络通讯方式,各个网卡不经过AP直接进行点对点的通讯,当使用人比较少又没有AP但仍然想通过无线方式交互信息时可以用Ad-hoc方式应急。
SSID(System Set ID)
SSID用来区分不同的网络,最多可以有32个字符,如我们用的wep.net.sjtu。网卡设置了不同的SSID就可以进入不同网络,SSID通常由AP广播出来,通过XP自带的扫描功能可以相看当前区域内的SSID。出于安全考虑可以不广播SSID,此时用户就要手工设置SSID才能进入相应的网 络。
WEP(Wired Equivalent Privacy)有线等效保密
为了保证数据能通过无线网络安全传输而制定的一个加密标准,使用了共享秘钥RC4加密算法,密钥长度最初为40位(5个字符),后来增加到128位(13个字符),有些设备可以支持152位加密。使用静态(Static)WEP加密可以设置4个WEP Key,使用动态(Dynamic)WEP加密时,WEP Key会随时间变化而变化。
开放式与共享式验证(open or shared Authentication)
无线设备之间认证的模式,通常使用静态WEP加密时使用共享方式,使用802.1x动态WEP加密时使用开放认证方式。
WPA(Wi-Fi Protected Access)
Wi-Fi联盟制定的过渡性无线网络安全标准,相当于802.11i的精简版,使用了TKIP(Temporal Key Integrity Protocal)数据加密技术,虽然仍使用RC4加密算法,但使用了动态会话密钥。TKIP引入了4个新算法:48位初始化向量(IV)和IV顺序规则(IV Sequencing Rules)、每包密钥构建(Per-Packet Key Construction)、Michael消息完整性代码(Message Integrity Code,MIC)以及密钥重获/分发。WPA极大提高了无线网络数据传输的安全性。
802.1x认证
静态WEP秘钥难于管理,改变秘钥时要通知所有人,如果有一个地方泄漏了秘钥就无安全性可言,而且静态WEP加密有严重的安全漏洞,通过无线侦听在收到一 定数量的数据后就可以破解得到WEP秘钥。802.1x最初用于有线以态网的认证接入,防止非法用户使用网络,后来人们发现802.1x用以无线网可以较 好地解决无线网络的安全接入。802.1x的EAP-TLS通过数字证书实现了用户与网络之间的双向认证,即可以防止非法用户使用网络,也可以防止用户连入非法的AP。802.1x使用动态WEP加密防止WEP Key被破解。为解决数字证书的发放难题人们对TLS认证进行了改进产生了TTLS和PEAP,可以用传统的用户名口令方式认证入网。我校无线网络的802.1x可以同时支持EAP-TLS,TTLS和PEAP。
WAPI(WLAN Authentication and Privacy Infrastructure)无线局域网认证与保密基础架构
中国提出的一个无线网络通讯的安全标准,国标代号GB15629.11。
Wi-Fi
是Wi-Fi联盟(Wi-Fi Alliance)的标记,参看[url]http://www.wi-fi.org[/url]。Wi-Fi联盟是1999年成立的非盈利性的国际组织,致力于基于802.11的无线网络产品的互通性认证。目前拥有200家会员单位。
?WPA-PSK—Enables WPA Pre-shared key (WPA-PSK), which enables your client adapter to associate to access points using WPA-PSK.
?WPA-None—Enables WPA for your client adapter when the client is set for ad hoc mode.
wpa-none用于对等网(ad-hoc),wpa-psk用于接入点连接。
区别:
WPA supports two mutually exclusive key management types: WPA and WPA-Pre-shared key (WPA-PSK). Using WPA key management, clients and the authentication server authenticate to each other using an EAP authentication method, and the client and server generate a pairwise master key (PMK). Using WPA, the server generates the PMK dynamically and passes it to the access point. Using WPA-PSK, however, you configure a pre-shared key on both the client and the access point, and that pre-shared key is used as the PMK.
加密强度:
WPA-AES using a radius server is better security since you then don't use a pre shared key.
But for most home users, setting up a radius server is not an option.
WPA-PSK with a pre shared key more than ~20 characters should be more secure than WEP.
preferebly using AES.
With WPA in infrastructure mode, the AP will provide you the key to encrypt/decrypt data, you can also on most AP set the timout interval when to renew the key.
With WPA-None, there is no 802.1x authenction, the key used to encrypt /decrypt is just a hash of the SSID and the password.
To me using WPA-None / TKIP isn't much better than WEP. (since both encrypt/decrypt using RC4 and the key is static)
Using WPA-None and AES should increase the security but still the key is static.
wpa是包含802.1x认证的,wpa-none则取消了这个功能。
WPA型密码:
网上说若路由器的加密方式是wpa的话要移植wpa_supplicant工具,我没有这样做,还是可以。
iwpriv ra0 set NetworkType=Infra 网络类型有Infra,Adhoc两种,前者是基于AP的,后者是p2p
iwpriv ra0 set AuthMode=WPAPSK OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE
iwpriv ra0 set EncrypType=TKIP NONE,WEP,TKIP,AES
iwpriv ra0 set SSID="Vodafone D100"
iwpriv ra0 set WPAPSK="1234567890"
WEP型密码:
iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=OPEN
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1="1234567890"
iwpriv ra0 set SSID="Vodafone D100"
Adhoc 示例:
iwpriv ra0 set NetworkType=Adhoc
iwpriv ra0 set AuthMode=OPEN //或者 SHARED
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1="1234567890"
iwpriv ra0 set SSID="Vodafone D100"
切换用户登陆:
直接重新输入登陆名字和输入密码的命令,值得注意的是在切换有密码和没有密码的用户时要相应的iwconfig ra0 key open和iwconfig ra0 key off。
网上说若路由器的加密方式是wpa的话要移植wpa_supplicant工具,我没有作过,看别人的http://blog.csdn.net/jimmy_1986/archive/2010/09/09/5872536.aspx
错误信息
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: Network is unreachable
此原因是没有设置ip ifconfig ra0 192.168.1.109 up 解决。
ping 219.134.65.113 外网
ping: sendto: Network is unreachable
此原因是没有设置网关 route add default gw 192.168.1.1 解决。