无线网络飞速发展的今天,许多设备都提供了连接无线网络的功能。 那么Linux下的wifi到底该怎么配置、连接呢?? 开始配置之前,我们要说说iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。全名为wirelessTools。 配置wifi模块,并连接相应的无线网络过程:主要使用iwpriv命令 1. 扫描可用的无线网络: 其中wifi-name为无线网卡的名字,比如网卡eth0就是系统默认的网卡名字, wifi-name可以用ifconfig查看,一般为ra0。 2. 看扫描到的网络信息,按要连接的网络类型进行配置。以下为扫描到的网络:
如上:ESSID项的值即为无线网络的名字,如上的“jxj_rd”等。如果值为空,说明在无线路由勾选了隐藏ESSID的选项。 ESSID是很关键的,如果被隐藏了,也不是不能连接,而是需要破解,用到其他的工具,非常麻烦。至于如何破解,不是本文叙述的内容,有兴趣的朋友可以网上搜索。 得到了网络的信息,接下来就是配置连接选项了。以连接"jxj_rd"为例,我们看看具体的过程: (1) 设置要连接的网络类型:
(5) 连接该网络:有两种方式: <1> 用iwpriv命令 <2> 用iwconfig命令 至此,如果密码正确,就可以连接上网络jxj_rd了。如果你不放心,可以用命令查看状态: 当然,你也可以用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 解决。 |
Linux下的iwpriv(iwlist、iwconfig)的简单应用
最新推荐文章于 2019-05-03 16:27:08 发布
