Linux Wireless Tools:iwconfig

  iwconfig - 配置无线网络接口

  iwconfig用于Linux系统配置无线网络设备或显示无线网络设备信息。iwconfig命令类似于ifconfig命令,但是他配置对象是无线网卡,它对网络设备进行无线操作,如设置无线通信频段。

iwconfig安装

  ubuntu下使用如下命令安装,wireless-tools工具包中包含了iwconfig。

1
sudo apt install wireless-tools

使用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Usage: iwconfig [interface]
interface essid {NNN|any|on|off}
interface mode {managed|ad-hoc|master|...}
interface freq N.NNN[k|M|G]
interface channel N
interface bit {N[k|M|G]|auto|fixed}
interface rate {N[k|M|G]|auto|fixed}
interface enc {NNNN-NNNN|off}
interface key {NNNN-NNNN|off}
interface power {period N|timeout N|saving N|off}
interface nickname NNN
interface nwid {NN|on|off}
interface ap {N|off|auto}
interface txpower {NmW|NdBm|off|auto}
interface sens N
interface retry {limit N|lifetime N}
interface rts {N|auto|fixed|off}
interface frag {N|auto|fixed|off}
interface modulation {11g|11a|CCK|OFDMg|...}
interface commit
Check man pages for more details.
essid

  设置无线网卡的ESSID(Extension Service Set ID)。通过ESSID来区分不同的无线网络,正常情况下只有相同ESSID的无线站点才可以互相通讯,除非想监听无线网络。其后的参数为双引号括起的ESSID字符串,或者是any/on/off,如果ESSID字符串中包含any/no/off,则需要在前面加”–”。

1
2
3
$ iwconfig eth0 essid any
$ iwconfig eth0 essid "My Network""
$ iwconfig eth0 essid -- "ANY""
mode

  设置无线网卡的工作模式,可以是

  • Ad-hoc:不带AP的点对点无线网络
  • Managed:通过多个AP组成的网络,无线设备可以在这个网络中漫游
  • Master:设置该无线网卡为一个AP
  • Repeater:设置为无线网络中继设备,可以转发网络包
  • Secondary:设置为备份的AP/Repeater
  • Monitor:监听模式
  • Auto:由无线网卡自动选择工作模式
1
2
$ iwconfig wlan0 mode Managed
$ iwconfig wlan0 mode Ad-Hoc
freq/channel

  设置无线网卡的工作频率或者频道,小于1000的参数被认为是频道,大于10000的参数被认为是频率。频率单位为Hz,可以在数字后面附带k, M, G来改变数量级,比如2.4G。频道从1开始。使用lwlist工具可以查看无线网卡支持的频率和频道。参数off/auto指示无线网络自动挑选频率。

  注意:如果是Managed模式,AP会指示无线网卡的工作频率,因此该设置的参数会被忽略。Ad-hoc模式下只使用该设定的频率初始无线网络,如果加入已经存在的Ad-hoc网络则会忽略该设置的频率参数。

1
2
3
4
$ iwconfig wlan0 freq 2422000000
$ iwconfig wlan0 freq 2.422G
$ iwconfig wlan0 channel 3
$ iwconfig wlan0 channel auto
rate/bit

  如果无线网卡支持多速率,则可以通过该命令设置工作的速率。小于1000的参数由具体的无线网卡驱动定义,一般是传输速率的索引值,大于1000的为速率,单位bps,可以在数字后面附带k,M,G来指定数量级。auto参数让无线网卡自动选择速率fixed参数让无线网卡不使用自动速率模式。

1
2
3
iwconfig wlan0 rate 11M
iwconfig wlan0 rate auto
iwconfig wlan0 rate 5.5M auto
ap

  连接到指定的AP或者无线网络,后面的参数可以是AP的MAC地址,也可以是iwlist scan出来的标识符。如果是Ad-hoc,则连接一个已经存在的Ad-hoc网络。使用off参数让无线网卡不改变当前已连接的AP下进入自动模式。any/auto参数,无线网卡自动选择最好的AP。

  注意:如果无线信号低到一定程度,无线网络会进入自动选择AP模式。

1
2
3
iwconfig wlan0 ap 00:60:1D:01:23:45
iwconfig wlan0 ap any
iwconfig wlan0 ap off
key/enc

  设置无线网卡使用的加密密钥,此处为设置WEP模式的加密key,如果要使用WPA,需要wpa_supplicant工具包。

1
2
3
iwconfig wlan0 key 0123-4567-89
iwconfig wlan0 key [3] 0123-4567-89
iwconfig wlan0 key s:password [2]
power

  设置无线网卡的电源管理模式。period ‘value’ 指定唤醒的周期,timeout ‘value’指定进入休眠的等待时间,这两个参数之前可以加min和max修饰,这些值的单位为秒,可以附加m和u来指定毫秒和微秒。off/on参数指定是否允许电源管理,all/unicast/multicast 指定允许唤醒的数据包类型。

1
2
3
4
5
6
iwconfig wlan0 power period 2
iwconfig wlan0 power 500m unicast
iwconfig wlan0 power timeout 300u all
iwconfig wlan0 power saving 3
iwconfig wlan0 power off
iwconfig wlan0 power min period 2 power max period 4
txpower

  如果无线网卡支持多发射功率设定,则使用该参数设定发射,单位为dBm,如果指定为W(毫瓦),只转换公式为:
dBm=30+log(W)。参数on/off可以打开和关闭发射单元,auto和fixed指定无线是否自动选择发射功率。

1
2
3
4
$ iwconfig wlan0 txpower 15
$ iwconfig wlan0 txpower 30mW
$ iwconfig wlan0 txpower auto
$ iwconfig wlan0 txpower off
retry

  设置无线网卡的重传机制。limit ‘value’ 指定最大重传次数;lifetime ‘value’指定最长重试时间,单位为秒,可以附带m和u来指定单位为毫秒和微秒。如果无线网卡支持自动模式,则在limit和lifetime之前还可以附加min和max来指定上下限值。

1
2
3
4
$ iwconfig wlan0 retry 16
$ iwconfig wlan0 retry lifetime 300m
$ iwconfig wlan0 retry short 12
$ iwconfig wlan0 retry min limit 8
commit

  提交所有的参数修改给无线网卡驱动。有些无线网卡驱动会先缓存无线网卡参数修,使用这个命令来让无线网卡的参数修改生效。不过一般不需要使用该命令,因为无线网卡驱动最终都会是参数的修改生效,一般在debug时会用到。

其他配置
1
2
3
4
5
6
- nwid: Network ID # 只用于pre-802.11的无线网卡,802.11网卡利用ESSID和AP的MAC地址来替换nwid,现在基本上不用设置。
- nick: Nickname # 一些网卡需要设置该参数,但是802.11协议栈、MAC都没有用到该参数,一般也不用设置。
- sens # 设置接收灵敏度的下限,在该下限之下,无线网卡认为该无线网络信号太差。
- rts # 设置节点发送RTS的最小包的大小
- frag # 设置发送数据包的分片大小。
- modu # 设定的特定调制集
坚持原创技术分享,您的支持将鼓励我继续创作!