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-10-12 19:42:15

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

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

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

Linux下光盘yum源搭建及简单软件安装

Linux下软件安装包常见的有源码包.二进制包, 软件安装一般有以下几种方式:RPM包安装.yum安装.以及脚本安装. 严格来说,脚本安装并不是独立的一种安装方式,只是对Linux字符界面下软件复杂安装的一个简化版,将复杂的安装命令写在了一个脚本文件中,例如Nginx的安装.fail2ban<采用python脚本>的安装.有兴趣的话可以去查查资料. 接下来就开始正式的yum源的搭建. 环境:Windows 7环境下VMware10,Linux--->CentOS6.5 首先需要说明的是,

linux下安装mysql5.7.17及简单配置

1.mysql5.7.17安装在/usr/local/mysql目录里面,也可以安装在其他地方 (安装包最好与Linux系统一样,eg;64位的就是"mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz",官网可下载) mkdir /usr/local/mysql 2.解压并复制 tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.17-linux-glibc2.5-x86_64/

linux下部署一个JavaEE项目的简单步骤

部署项目的前提是准备好环境,包括:Java运行环境(JDK),Tomcat,Mysql数据库 1.首先将东西上传到服务器,我是在windows安装ssh工具(下载安装git即可http://gitforwindows.org/) (1)windows下将项目导成war包,导出数据库脚本 导出之后将war包的数据库db.properties改为linux服务器上的连接信息 (2)将war包与脚本上传到服务器 liqiang@root MINGW64 ~ $ scp /c/Users/liqiang

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

Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的. apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理. apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成serv

Linux下线程池的理解与简单实现

首先,线程池是什么?顾名思义,就是把一堆开辟好的线程放在一个池子里统一管理,就是一个线程池. 其次,为什么要用线程池,难道来一个请求给它申请一个线程,请求处理完了释放线程不行么?也行,但是如果创建线程和销毁线程的时间比线程处理请求的时间长,而且请求很多的情况下,我们的CPU资源都浪费在了创建和销毁线程上了,所以这种方法的效率比较低,于是,我们可以将若干已经创建完成的线程放在一起统一管理,如果来了一个请求,我们从线程池中取出一个线程来处理,处理完了放回池内等待下一个任务,线程池的好处是避免了繁琐的

Linux下安装MongoDB

MongoDB是一个C++编写的基于分布式文件存储的数据库,是一个介于关系和非关系之间的数据库,当然也属于NoSQL的行列,存储方式和Redis类似,是json格式的kav-value存储方式,只是Redis是内存存储,而MongoDB是和普通的数据库目录一样存储在硬盘上 下面就在Linux上部署单节点的MongoDB,过程如下: 首先去MongoDB官网下载软件包,首页是:https://www.mongodb.com/ 然后,点击右上角Download按钮进入下载界面,下载地址是:https

Linux下C++的编程——GDB进行程序调试

GDB简介 我们在Linux下C++的编程--开偏介绍一文中已经简单介绍了GDB的功能,是类Unix系统的主要调试工具,可进行断点调试,跟踪程序,动态改变执行环境等功能. 从一个程序开始调试 下面我们就从一个程序开始讲解一下GDB的简单用法.假设我们有如下的程序: GDBTest1.cpp #include <iostream> int Accumulation(int n) { int result = 0; for(int i = 0; i < n; i ++) { result +

linux下find(文件查找)命令的用法总结

前言:我们为什么要学会使用find命令? 每一种操作系统都有成千上万的文件组成,对于linux这样“一切皆文件”的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但是对linux这一功能可能并不是很熟悉,其实想玩linux的你更要牢牢掌握这个命令,因为linux不像windows那样有固定的文件名后缀,并且因为linux阵营下百家争鸣的特性,一个相同的文件在不同的发行版,可能会有不同,所以如果你能牢牢掌握find命令的使用,你在摸索linux的道路上将会顺利很多,同时