Linux下的iwpriv(iwlist、iwconfig)的简单应用

本文介绍在Linux环境下如何使用iw家族工具进行无线网络的配置及连接。包括扫描可用网络、设置网络类型、安全模式、加密方式及密码等步骤。

无线网络飞速发展的今天,许多设备都提供了连接无线网络的功能。

那么Linux下的wifi到底该怎么配置、连接呢??

开始配置之前,我们要说说iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。全名为wirelessTools。

配置wifi模块,并连接相应的无线网络过程:主要使用iwpriv命令

1. 扫描可用的无线网络:

iwlist wifi-name scanning  

其中wifi-name为无线网卡的名字,比如网卡eth0就是系统默认的网卡名字, wifi-name可以用ifconfig查看,一般为ra0。

2. 看扫描到的网络信息,按要连接的网络类型进行配置。以下为扫描到的网络:

iwlist ra0 scanning  
  1. ===>rt_ioctl_giwscan. 11(11) BSS returned, data->length = 1427  
  2. ra0       Scan completed :  
  3.           Cell 01 - Address: C4:CA:D9:1D:9E:A0  
  4.                     Protocol:802.11b/g/n  
  5.                     ESSID:""  
  6.                     Mode:Managed  
  7.                     Frequency:2.412 GHz (Channel 1)  
  8.                     Quality=7/100  Signal level=-87 dBm  Noise level=-82 dBm  
  9.                     Encryption key:off  
  10.                     Bit Rates:54 Mb/s  
  11.           Cell 02 - Address: FC:75:16:A1:A9:16  
  12.                     Protocol:802.11b/g/n  
  13.                     ESSID:"jxj_rd"  
  14.                     Mode:Managed  
  15.                     Frequency:2.452 GHz (Channel 9)  
  16.                     Quality=94/100  Signal level=-53 dBm  Noise level=-92 dBm  
  17.                     Encryption key:on  
  18.                     Bit Rates:54 Mb/s  
  19.                     IE: WPA Version 1  
  20.                         Group Cipher : TKIP  
  21.                         Pairwise Ciphers (2) : TKIP CCMP  
  22.                         Authentication Suites (1) : PSK  
  23.                     IE: IEEE 802.11i/WPA2 Version 1  
  24.                         Group Cipher : TKIP  
  25.                         Pairwise Ciphers (2) : TKIP CCMP  
  26.                         Authentication Suites (1) : PSK  
  27.           Cell 03 - Address: C4:CA:D9:02:2A:70  
  28.                     Protocol:802.11b/g/n  
  29.                     ESSID:""  
  30.                     Mode:Managed  
  31.                     Frequency:2.462 GHz (Channel 11)  
  32.                     Quality=83/100  Signal level=-57 dBm  Noise level=-92 dBm  
  33.                     Encryption key:off  
  34.                     Bit Rates:54 Mb/s  
  35.           Cell 04 - Address: 14:D6:4D:75:CA:9C  
  36.                     Protocol:802.11b/g/n  
  37.                     ESSID:"liangym"  
  38.                     Mode:Managed  
  39.                     Frequency:2.472 GHz (Channel 13)  
  40.                     Quality=100/100  Signal level=-27 dBm  Noise level=-92 dBm  
  41.                     Encryption key:on  
  42.                     Bit Rates:54 Mb/s  
  43.                     IE: WPA Version 1  
  44.                         Group Cipher : CCMP  
  45.                         Pairwise Ciphers (1) : CCMP  
  46.                         Authentication Suites (1) : PSK  
  47.                     IE: IEEE 802.11i/WPA2 Version 1  
  48.                         Group Cipher : CCMP  
  49.                         Pairwise Ciphers (1) : CCMP  
  50.                         Authentication Suites (1) : PSK  

如上:ESSID项的值即为无线网络的名字,如上的“jxj_rd”等。如果值为空,说明在无线路由勾选了隐藏ESSID的选项。

ESSID是很关键的,如果被隐藏了,也不是不能连接,而是需要破解,用到其他的工具,非常麻烦。至于如何破解,不是本文叙述的内容,有兴趣的朋友可以网上搜索。

得到了网络的信息,接下来就是配置连接选项了。以连接"jxj_rd"为例,我们看看具体的过程:

(1) 设置要连接的网络类型:

iwpriv ra0 set NetworkType=Infra  


(2) 设置要连接的无线网络的安全模式:

iwpriv ra0 set AuthMode=WPA2PSK  


(3) 设置网络加密方式:(CCMP即为AES)

iwpriv ra0 set EncrypType=TKIP  


(4) 设置连接时的密码: ********为加密网络的密码

iwpriv ra0 set WPAPSK=*******  

(5) 连接该网络:有两种方式:

    <1> 用iwpriv命令

iwpriv ra0 set SSID=jxj_rd  

    <2> 用iwconfig命令

iwconfig ra0 essid jxj_rd  

至此,如果密码正确,就可以连接上网络jxj_rd了。如果你不放心,可以用命令查看状态:

iwpriv ra0 connStatus  

当然,你也可以用iwconfig命令查看状态,这里不再赘述。

==========================================================

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。

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"

切换用户登陆:

       直接重新输入登陆名字和输入密码的命令,值得注意的是在切换有密码和没有密码的用户时要相应的iwconfig ra0 key open和iwconfig ra0 key off。

 

网上说若路由器的加密方式是wpa的话要移植wpa_supplicant工具,我没有作过,看别人的http://blog.youkuaiyun.com/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   解决。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值