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

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

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

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

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

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

[cpp] view plaincopy

 

  1. iwlist wifi-name scanning  

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

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

[html] view plaincopy

 

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

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

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

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

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

[html] view plaincopy

 

  1. iwpriv ra0 set NetworkType=Infra  

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

[html] view plaincopy

 

  1. iwpriv ra0 set AuthMode=WPA2PSK  

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

[html] view plaincopy

 

  1. iwpriv ra0 set EncrypType=TKIP  

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

[html] view plaincopy

 

  1. iwpriv ra0 set WPAPSK=*******  

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

    <1> 用iwpriv命令

[html] view plaincopy

 

  1. iwpriv ra0 set SSID=jxj_rd  

    <2> 用iwconfig命令

[html] view plaincopy

 

  1. iwconfig ra0 essid jxj_rd  

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

[html] view plaincopy

 

  1. iwpriv ra0 connStatus  

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

时间: 2024-08-27 12:11:28

Linux下的iwpriv(iwlist、iwconfig)的简单应用的相关文章

Linux下C语言多线程,网络通信简单聊天程序

原文:Linux下C语言多线程,网络通信简单聊天程序 功能描述:程序应用多线程技术,可是实现1对N进行网络通信聊天.但至今没想出合适的退出机制,除了用Ctr+C.出于演示目的,这里采用UNIX域协议(文件系统套接字),程序分为客户端和服务端.应用select函数来实现异步的读写操作. 先说一下服务端:首先先创建套接字,然后绑定,接下进入一个无限循环,用accept函数,接受"连接"请求,然后调用创建线程函数,创造新的线程,进入下一个循环.这样每当有一个新的"连接"被

Linux下Apache与Tomcat整合的简单方法

1.准备,下载需要的文件.这里假定你已经正确安装配置好了JDK. 到Apache官方网站下载所需要的文件: httpd-2.2.0.tar.gzapache-tomcat-5.5.12.tar.gzjakarta-tomcat-connectors-1.2.15-src.tar.gz 其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包. 2.安装Apache. # tar xzvf httpd-2.2.0.tar.gz # cd ht

Linux下定时删除过期文件的方法

在管理Linux下的文件时,我们通常会有定时删除过期文件的这个需求.比如定时删除超过指定时间的日志文件,不然时长越久,你的日志文件占用的空间就越大,那离爆磁盘不远了,还有也解决网站方便的需求,比如我们建立的淘宝客api的程序,为了提高商品页的访问速度,我们需要进行关键数据的缓存,也需要定时删除过期的缓存文件,如果是使用PHP程序扫描删除,那将得不偿失.那么如何在Linux下定时删除过期文件?这里小编简单介绍下,方便需要的朋友. 在linux下删除过期文件,很简单,用如下命令: 复制代码代码如下:

Linux下如何挂载FAT32格式USB设备

挂u盘之前,运行命令cat /proc/partitions,看看现在系统中有哪些分区.插上u盘以后,再次运行上述命令,看看多出来什么分区.通常是sda1. 1.插入U盘 2.输入 fdisk -l /dev/sda 查看输出结果,比如我的是这样的: [root@leason-laptop proc]# fdisk -l /dev/sda Disk /dev/sda: 2004 MB, 2004877312 bytes 247 heads, 62 sectors/track, 255 cylin

嵌入式 Linux下修改MAC地址

Linux下修改MAC地址 方法一: 1.关闭网卡设备ifconfig eth0 down2.修改MAC地址ifconfig eth0 hw ether MAC地址3.重启网卡ifconfig eth0 up 方法二:以上方法一修改后linux重启后MAC又恢复为原来的,为了下次启动时修改后的MAC仍有效,我们可以修改文件file:/etc/rc.d /rc.sysinit(RedFlag Linux为这个文件,其他版本的linux应该不同)的内容,在该文件末尾加以下内容:ifconfig et

C语言高级应用---操作linux下V4L2摄像头应用程序

我们都知道,想要驱动linux下的摄像头,其实很简单,照着V4L2的手册一步步来写,很快就可以写出来,但是在写之前我们要注意改变系统的一些配置,使系统支持framebuffer,在dev下产生fb0这样的节点,这样我们才能在linux系统上操作Camera摄像头,framebuffer在之前的博文已经有说过了,这里就不再提了. 有需要了解framebuffer的那么请点击:http://baike.baidu.com/view/3351639.htm        最重要的,我们需要改一个脚本,

C语言高级应用---操作linux下V4L2摄像头应用程序【转】

转自:http://blog.csdn.net/morixinguan/article/details/51001713 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://blog.csdn.net/morixinguan.若是侵权用于商业用途,请联系博主,否则将追究责任 目录(?)[-] 采集方式 V4L2操作流程点击这个网址说得很详细了这里不多说 httpbaikebaiducomview5494174htm 我们都知道,想要驱动Linux下的摄像头,其实很简单,照着V4

Linux下一个简单的多线程互斥锁的例子

本篇文章是对Linux下一个简单的多线程互斥锁的例子进行了分析介绍,需要的朋友可以参考下   复制代码 代码如下: #include <stdio.h> #include <pthread.h> pthread_mutex_t Device_mutex ; int count=0; void thread_func1() {    while(1)    {        pthread_mutex_lock(&Device_mutex);        printf(&q

Linux下处理BOM头和^M的简单方法

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1762675 Linux在网络服务器.嵌入式设备的市场上占有较大份额,Microsoft Windows在桌面操作系统上占有较大的份额,因此有很多的人喜欢用Windows去控制操作Linux. 既然用Windows去控制Linux,难免导致Windows系统上的产生的文件以某种途径传到了Linux系统中,因而导致显示