您的位置:首页 > 运维架构 > Linux

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

2013-09-09 18:39 399 查看
http://blog.csdn.net/liangyamin/article/details/7209761

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

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

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

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

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

[cpp] view
plaincopy

iwlist wifi-name scanning  

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

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

[html] view
plaincopy

iwlist ra0 scanning  

===>rt_ioctl_giwscan. 11(11) BSS returned, data->length = 1427  

ra0       Scan completed :  

          Cell 01 - Address: C4:CA:D9:1D:9E:A0  

                    Protocol:802.11b/g/n  

                    ESSID:""  

                    Mode:Managed  

                    Frequency:2.412 GHz (Channel 1)  

                    Quality=7/100  Signal level=-87 dBm  Noise level=-82 dBm  

                    Encryption key:off  

                    Bit Rates:54 Mb/s  

          Cell 02 - Address: FC:75:16:A1:A9:16  

                    Protocol:802.11b/g/n  

                    ESSID:"jxj_rd"  

                    Mode:Managed  

                    Frequency:2.452 GHz (Channel 9)  

                    Quality=94/100  Signal level=-53 dBm  Noise level=-92 dBm  

                    Encryption key:on  

                    Bit Rates:54 Mb/s  

                    IE: WPA Version 1  

                        Group Cipher : TKIP  

                        Pairwise Ciphers (2) : TKIP CCMP  

                        Authentication Suites (1) : PSK  

                    IE: IEEE 802.11i/WPA2 Version 1  

                        Group Cipher : TKIP  

                        Pairwise Ciphers (2) : TKIP CCMP  

                        Authentication Suites (1) : PSK  

          Cell 03 - Address: C4:CA:D9:02:2A:70  

                    Protocol:802.11b/g/n  

                    ESSID:""  

                    Mode:Managed  

                    Frequency:2.462 GHz (Channel 11)  

                    Quality=83/100  Signal level=-57 dBm  Noise level=-92 dBm  

                    Encryption key:off  

                    Bit Rates:54 Mb/s  

          Cell 04 - Address: 14:D6:4D:75:CA:9C  

                    Protocol:802.11b/g/n  

                    ESSID:"liangym"  

                    Mode:Managed  

                    Frequency:2.472 GHz (Channel 13)  

                    Quality=100/100  Signal level=-27 dBm  Noise level=-92 dBm  

                    Encryption key:on  

                    Bit Rates:54 Mb/s  

                    IE: WPA Version 1  

                        Group Cipher : CCMP  

                        Pairwise Ciphers (1) : CCMP  

                        Authentication Suites (1) : PSK  

                    IE: IEEE 802.11i/WPA2 Version 1  

                        Group Cipher : CCMP  

                        Pairwise Ciphers (1) : CCMP  

                        Authentication Suites (1) : PSK  

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

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

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

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

[html] view
plaincopy

iwpriv ra0 set NetworkType=Infra  

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

[html] view
plaincopy

iwpriv ra0 set AuthMode=WPA2PSK  

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

[html] view
plaincopy

iwpriv ra0 set EncrypType=TKIP  

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

[html] view
plaincopy

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

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

    <1> 用iwpriv命令

[html] view
plaincopy

iwpriv ra0 set SSID=jxj_rd  

    <2> 用iwconfig命令

[html] view
plaincopy

iwconfig ra0 essid jxj_rd  

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

[html] view
plaincopy

iwpriv ra0 connStatus  

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

 

分享到: 

上一篇:使用strtok函数解析string类型数据下一篇:一个不错的缓动导航

查看评论

9楼 kaly_liu 2013-03-19 16:29发表 [回复]


楼主我按照您的方法不知道这么没有连上啊~~~求教

这是我的过程,我发在论坛帖子里了:
http://bbs.csdn.net/topics/390396121?page=1#post-393961557
请看2#
8楼 iamhycljc 2013-02-26 20:53发表 [回复]


如果设置密码后,密码故意输入错误,程序中如何捕获到密码错误呢?iwpriv有返回包吗?
7楼 l26m161 2012-07-05 10:25发表 [回复]


1 iwlist介绍

扫描可用的无线网络。

iwlist 无线网卡(STA)名称 scanning

列出扫描到的无线网络(AP), ESSID项的值即为无线网络的名字。

举例:iwlist eth0 scanning

2 iwconfig介绍

是Linux Wireless Extensions(LWE)的用户层配置工具之一,可以对无线网卡的大部分参数进行配置。

2.2 

配置ESSID

iwconfig eth0 essid name

iwconfig eth0 essid commit

修改信道(频率)

iwconfig eth1 channel 1

iwconfig eth1 commit
6楼 Rocker5211314 2012-05-21 15:44发表 [回复]


ubuntu自带的版本是

iwconfig Wireless-Tools version 30

执行命令返回错误,悲催了。。。

sudo iwpriv wlan0 set NetworkType=Infra

Invalid command : set

Re: zuoluo032 2012-05-25 09:25发表 [回复]


回复Rocker5211314: 我也 遇到一样的问题,版主 没碰到么?

我的版本:

iwpriv Wireless-Tools version 29

Compatible with Wireless Extension v11 to v22.

Kernel Currently compiled with Wireless Extension v22.

wlan0 Recommend Wireless Extension v19 or later,

Currently compiled with Wireless Extension v22.

执行的时候:

/home # iwpriv wlan0 set NetworkType=Infra

Invalid command : set

这时什么问题啊?

Re: twozh123 2013-01-22 19:59发表 [回复]


回复zuoluo032:iwpriv不支持set命令。实际上iwpriv支持什么命令是由wifi的驱动程序来决定的,iwpriv会调用驱动程序来解析命令字符,所以在用iwpriv之前先查一下驱动配套的手册吧。而iwconfig是标准命令,命令关键字是固定的。
Re: liangyamin 2012-05-25 12:53发表 [回复]


回复zuoluo032:还真没碰到

Re: zuoluo032 2012-06-04 14:06发表 [回复]


回复liangyamin:那我怀疑是驱动的问题了。我使用的bcm 的芯片。开始它连iwlist 都不支持。
5楼 amao4717 2012-05-06 21:07发表 [回复]


我用wf8000-u 连接一个无线路由,这个路由用笔记本连是不用密码的,那用这个模块去接要密码吗?同样是tkip、wpa2psk 。
4楼 DJkeilin 2012-04-30 13:42发表 [回复]


没有密码对应的命令是什么样子的啊
3楼 Skyline 2012-03-16 22:31发表 [回复]


iw*工具是不能连接wpa加密类型的网络,要使用wpa*工具

Re: liangyamin 2012-03-21 15:30发表 [回复]


回复water_cow:可以连接上的,使用版本为29
2楼 gwb0516 2012-03-08 11:00发表 [回复]


麻烦问下,你这个能扫描到Portocol 和noise level 信息的是什么网卡?谢谢!

Re: liangyamin 2012-03-21 15:32发表 [回复]


回复gwb0516:嵌入式设备的wifi模块

Re: gwb0516 2012-04-26 12:11发表 [回复]


引用“liangyamin”的评论:回复gwb0516:嵌入式设备的wifi模块

我想了解的是你用的什么牌子WIFI模块芯片,什么厂家的。芯片型号是什么?请教了。因为我们试过一些都不行。
1楼 aiyu2199 2012-03-08 08:49发表 [回复] [引用] [举报]


iwpriv ra0 set AuthMode=WPA2PSK 

此工具包連接不上WPA加密的網絡吧,隻能連接WEP的,你用此工具能連上WPA加密的網絡?

Re: liangyamin 2012-03-21 15:32发表 [回复]


回复aiyu2199:可以连接,已经过试验。用的版本是wireless_tools.29

发表评论
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: