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

简介: 无线网络飞速发展的今天,许多设备都提供了连接无线网络的功能。 那么Linux下的wifi到底该怎么配置、连接呢?? 开始配置之前,我们要说说iw家族。iw是linux下常用的wifi配置工具,网上有相应的库和源码。

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

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

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

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

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

[cpp]  view plain copy
 
  1. iwlist wifi-name scanning  

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

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

[html]  view plain copy
 
  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 plain copy
 
  1. iwpriv ra0 set NetworkType=Infra  


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

[html]  view plain copy
 
  1. iwpriv ra0 set AuthMode=WPA2PSK  


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

[html]  view plain copy
 
  1. iwpriv ra0 set EncrypType=TKIP  


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

[html]  view plain copy
 
  1. iwpriv ra0 set WPAPSK=*******  

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

    <1> 用iwpriv命令

[html]  view plain copy
 
  1. iwpriv ra0 set SSID=jxj_rd  

    <2> 用iwconfig命令

[html]  view plain copy
 
  1. iwconfig ra0 essid jxj_rd  

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

[html]  view plain copy
 
  1. iwpriv ra0 connStatus  

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

目录
相关文章
|
1月前
|
存储 缓存 固态存储
深度解析linux主机:从应用到硬盘,玩转系统I/O性能优化攻略!
深度解析linux主机:从应用到硬盘,玩转系统I/O性能优化攻略!
|
2月前
|
Linux
linux查看应用对应的端口
linux查看应用对应的端口
19 0
|
2月前
|
网络协议 安全 Linux
linux系统安全及应用——端口扫描
linux系统安全及应用——端口扫描
39 0
|
2月前
|
监控 NoSQL Linux
深入Linux内存泄漏排查:Valgrind与系统工具的联合应用
深入Linux内存泄漏排查:Valgrind与系统工具的联合应用
104 0
|
18天前
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
13 0
|
1月前
|
Cloud Native Linux 网络虚拟化
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
在Linux网络虚拟化领域,虚拟以太网设备(veth)扮演着至关重要的角色🌐。veth是一种特殊类型的网络设备,它在Linux内核中以成对的形式存在,允许两个网络命名空间之间的通信🔗。这篇文章将从多个维度深入分析veth的概念、作用、重要性,以及在容器和云原生环境中的应用📚。
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
|
1天前
|
Linux 编译器 调度
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
15 1
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
|
1天前
|
消息中间件 存储 Linux
linux实时应用如何printf输出不影响实时性?
本文探讨了Linux实时任务中为何不能直接使用`printf(3)`,并介绍了实现不影响实时性的解决方案。实时任务的执行时间必须确定且短,但`printf(3)`的延迟取决于多个因素,包括用户态glibc缓冲、内核态TTY驱动和硬件。为确保实时性,通常将非实时IO操作交给低优先级任务处理,通过实时进程间通信传递信息。然而,即使这样,`printf(3)`在glibc中的实现仍可能导致高优先级任务阻塞。Xenomai 3提供了一个实时的`printf()`实现,通过libcobalt库在应用编译链接时自动处理,预分配内存,使用共享内存和线程特有数据来提高效率和实时性。
10 0
linux实时应用如何printf输出不影响实时性?
|
3天前
|
安全 Linux Shell
Linux常用命令详解与实战应用
【5月更文挑战第7天】本文详述了Linux常用命令,包括文件与目录操作(ls, cd, pwd, cp, mv, rm)、文本处理(cat, grep, sed)及系统管理(top, df, du)命令。通过实例演示了如何使用这些命令,帮助读者理解和掌握Linux操作,提升系统管理效率。学习和熟练运用这些基础命令,是高效使用Linux的关键。
|
9天前
|
Linux Shell 调度
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)