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

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

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

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

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

  1. iwlist wifi-name scanning

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

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

  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) 设置要连接的网络类型:

  1. iwpriv ra0 set NetworkType=Infra

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

  1. iwpriv ra0 set AuthMode=WPA2PSK

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

  1. iwpriv ra0 set EncrypType=TKIP

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

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

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

<1> 用iwpriv命令

  1. iwpriv ra0 set SSID=jxj_rd

<2> 用iwconfig命令

  1. iwconfig ra0 essid jxj_rd

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

  1. iwpriv ra0 connStatus

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

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

  1. 在Linux下如何使用GCC编译程序、简单生成 静态库及动态库

      最近在编写的一个Apache  kafka 的C/C++客户端,,在看他写的 example中,他的编译是用librdkafka++.a和librdkafka.a    静态库编译的,,,而我们这 ...

  2. linux下堆溢出unlink的一个简单例子及利用

    最近认真学习了下linux下堆的管理及堆溢出利用,做下笔记:作者作为初学者,如果有什么写的不对的地方而您又碰巧看到,欢迎指正. 本文用到的例子下载链接https://github.com/ctfs/w ...

  3. 【转】 linux下配置squid 服务器,最简单使用方式

    linux下配置squid 1.什么是squid Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有广泛的用途,从作为网 ...

  4. Linux下使用autoconf 和 automake 编译简单的HelloWorld

    使用过开源C/C++项目的同学都知道,标准的编译过程已经变成简单的三部曲:./configure /make/make install,使用起来很方便,不像平时自己写代码,要手写一堆复杂的makefi ...

  5. Linux下chkconfig命令详解 这个简单明了啊

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...

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

    部署项目的前提是准备好环境,包括:Java运行环境(JDK),Tomcat,Mysql数据库 1.首先将东西上传到服务器,我是在windows安装ssh工具(下载安装git即可http://gitfo ...

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

    原文:http://www.th7.cn/db/mysql/201612/218745.shtml 1.mysql5.7.17安装在/usr/local/mysql目录里面,也可以安装在其他地方 (安 ...

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

    首先,线程池是什么?顾名思义,就是把一堆开辟好的线程放在一个池子里统一管理,就是一个线程池. 其次,为什么要用线程池,难道来一个请求给它申请一个线程,请求处理完了释放线程不行么?也行,但是如果创建线程 ...

  9. Linux下select的用法--实现一个简单的回射服务器程序

    1.先看man手册 SYNOPSIS       /* According to POSIX.1-2001 */       #include <sys/select.h>       / ...

随机推荐

  1. Android_时间服务

    接着上一节,这次我查看了Android的时间服务,觉得帮助很大,解决了我很多疑问,下面我就自己总结了一下,加深了自己的印象,好记性不如烂笔头,还真讲得很不错,收下吧?看下图如何利用线程更新UI组件 重 ...

  2. mysql与Navicat for MySQL的衔接配置问题【原创】

    首先改一下php的配置文件: 这里主要该两个地方:Cirl + F 查找到mysql.dll 然后去掉前面的";" 然后是修改路径:Cirl + F 查找到extension_di ...

  3. 12个有趣的C语言问答(详解)

    本文参照博文<12个有趣的C语言问答>,在原文的基础上增加来对应的知识点的详细介绍. 1 gets()方法 Q:下面的代码有一个被隐藏的问题,你能找到它吗? #include <st ...

  4. C# double float int string 与 byte数组 相互转化

    在做通信编程的时候,数据发送多采用串行发送方法,实际处理的时候多是以字节为单位进行处理的.在C/C++中 多字节变量与Byte进行转化时候比较方便 采用UNION即可废话少说看示例:typedef u ...

  5. 挑战Python-20160826

    给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以','链接,如‘1,2,3'.

  6. 从Windows远程Ubuntu

    关键字:Windows,Ubuntu,Putty,WinSCP OS:Windows 7,Ubuntu. 1.下载Putty:http://www.putty.org/. 2.双击运行putty.ex ...

  7. 在前后端分离Web项目中,RBAC实现的研究

    最近手头公司的网站项目终于渐渐走出混沌,走上正轨,任务也轻松了一些,终于有时间整理和总结一下之前做的东西. 以往的项目一般使用模板引擎(如ejs)渲染出完整页面,再发送到浏览器展现.但这次项目的处理方 ...

  8. hdu 1427 dfs

    速算24点 题意:随机给你四张牌,包括 A(1),2,3,4,5,6,7,8,9,10,J(11),Q(12),K(13).要求只用'+','-','*','/'运算符以及括号改变运算 顺序,使得最终 ...

  9. ARM的工作环境和工作模式

    工作环境: 可以称之为“数据环境,”数据总线16位或者32位,应用于不同的情况下.16位的情况下,工作速度快,代码密度高. 工作模式: 设置程序数据所处的状态,为移植操作系统提供方便.

  10. STM32之定时器

    一.定时器简介 1.时钟来源 2.定时器结构(以基本定时器为例) 二.基本定时器的编程方法 1.基本定时器的寄存器 2.例程 /** * @brief 定时器6的初始化,定时周期0.01s * @pa ...