②、 iwlist:扫描当前无线网络信息,获取 WIFI 热点。List Information and statistics from an interface
③、 iwspy:获取每个节点链接的质量。Read quality of link for a set of addresses
④、 iwpriv:操作 WirelessExtensions 特定驱动。Get nongeneric, driver-specific parameters
⑤、 ifrename:基于各种静态标准命名接口。
1、iwlist 命令:用于对/proc/net/wireless文件进行分析,得出无线网卡相关信息
# iwlist wlan0 scanning 搜索当前无线网络
# iwlist wlan0 frequen 显示频道信息
# iwlist wlan0 rate 显示连接速度
# iwlist wlan0 power 显示电源模式
# iwlist wlan0 txpower 显示功耗
# iwlist wlan0 retry 显示重试连接次数(网络不稳定查看)
# iwlist wlan0 ap 显示热点信息
# iwlist --help 显示帮助信息
# iwlist --version 显示版本信息
2、iwconfig 系统配置无线网络设备或显示无线网络设备信息。iwconfig 命令类似于ifconfig命令,但是他配置对象是无线网卡,它对网络设备进行无线操作,如设置无线通信频段
iwconfig是Linux Wireless Extensions(LWE)的用户层配置工具之一。LWE是Linux下对无线网络配置的工具,包括内核的支持、用户层配置工具和驱动接口的支持三部分。
iwconfig interface [essid {NN|on|off}] [nwid {NN|on|off}] [mode {managed|ad-hoc|...} [freq N.NNNN[k|M|G]] [channel N] [ap {N|off|auto}] [sens N] [nick N] [rate {N|auto|fixed}] [rts {N|auto|fixed|off}] [frag {N|auto|fixed|off}] [enc {NNNN-NNNN|off}] [power {period N|timeout N}] [retry {limit N|lifetime N}] [txpower N {mW|dBm}] [commit]
auto 自动模式
essid 设置ESSID
nwid 设置网络ID
freq 设置无线网络通信频段
chanel 设置无线网络通信频段
sens 设置无线网络设备的感知阀值
mode 设置无线网络设备的通信设备
ap 强迫无线网卡向给定地址的接入点注册
nick<名字> 为网卡设定别名
rate<速率> 设定无线网卡的速率
rts<阀值> 在传输数据包之前增加一次握手,确信信道在正常的
power 无线网卡的功率设置
3、iw 是一种新的基于 nl80211 的用于无线设备的CLI配置实用程序。它支持最近已添加到内核所有新的驱动程序。采用无线扩展接口的旧工具iwconfig已被废弃,强烈建议切换到 iw 和 nl80211。
Linux内核的其余部分,iw 仍处于开发阶段。功能被随时添加。 iw 的唯一文档就是此页和“iw help”的输出。 请帮助扩大这个页面。
有一个页面列出iwconfig和iw的用例:替换 iwconfig.
# iw help # 帮助
# iw ibss leave # 查看WiFi是否打开状态
# iw list # 获得所有设备的功能,如带宽信息(2.4GHz,和5GHz),和802.11n的信息
# iw dev wlan0 scan # 扫描
# iw event # 监听事件
# iw dev wlan0 link # 获得链路状态
# iw wlan0 connect foo # 连接到已禁用加密的AP,这里它的SSID是foo
# iw wlan0 connect foo 2432 # 假设你有两个AP SSID 都是 foo ,你知道你要连接的是在 2432 频道
# iw wlan0 connect foo keys 0:abcde d:1:0011223344 # 连接到使用WEP的AP
# iw dev wlan1 station dump # 获取station 的统计信息
# iw dev wlan1 station get # 获得station对应的peer统计信息
# iw wlan0 set bitrates legacy-2.4 12 18 24 # 修改传输比特率
# iw dev wlan0 set bitrates mcs-5 4 # 修改tx HT MCS的比特率
# iw dev wlan0 set bitrates mcs-2.4 10
# iw dev wlan0 set bitrates mcs-5 # 清除所有 tx 比特率和设置的东西来恢复正常
# iw dev set txpower [] #设置传输功率
# iw phy set txpower [] #设置传输功率
# iw dev wlan0 set power_save on #设置省电模式
# iw dev wlan0 get power_save #查询当前的节电设定
# iw phy phy0 interface add moni0 type monitor #添加一个 monitor 接口
包括内核的支持、用户层配置工具和驱动接口的支持三部分。目前很多无线网卡都支持LWE,而且主流的Linux发布版本,比如Redhat Linux、Ubuntu Linux都已经带了这个配置工具。
用法: iwconfig interface [essid {NN|on|off}]
[nwid {NN|on|off}]
[mode {managed|ad-hoc|...}
[freq N.NNNN[k|M|G]]
[channel N]
[ap {N|off|auto}]
[sens N]
[nick N]
[rate {N|auto|fixed}]
[rts {N|auto|fixed|off}]
[frag {N|auto|fixed|off}]
[enc {NNNN-NNNN|off}]
[power {period N|timeout N}]
[retry {limit N|lifetime N}]
[txpower N {mW|dBm}]
[commit]
参数:
essid:设置无线网卡的ESSID(Extension Service Set ID)。通过ESSID来区分不同的无线网络,正常情况下只有相同ESSID的无线站点
才可以互相通讯,除非想监听无线网络。其后的参数为双引号括起的ESSID字符串,或者是any/on/off,如果ESSID字符串中包含
any/no/off,则需要在前面加"--"。
示例:
#iwconfig eth0 essid any 允许任何ESSID,也就是混杂模式
#iwconfig eth0 essid "My Network" 设置ESSID为"My Network"
#iwconfig eth0 essid -- "ANY" 设置ESSID为"ANY"
#iwpriv eth0 auth 2 设置认证方式为Shared
iwconfig eth0 nwid o
iwconfig eth0 nickname “My Linux Node”
iwconfig eth0 txpower off
iwconfig eth0 rts 250
iwconfig eth0 rts off
iwconfig eth0 mode Managed
iwconfig eth0 mode Ad-Hoc
iwconfig eth0 freq 2422000000
iwconfig eth0 freq 2.422G
iwconfig eth0 channel 3
iwconfig eth0 channel auto
iwconfig eth0 ap 00:60:1D:01:23:45
iwconfig eth0 ap any
iwconfig eth0 ap off
iwconfig eth0 rate 11M
iwconfig eth0 rate auto
iwconfig eth0 rate 5.5M auto
iwconfig eth0 txpower 15
iwconfig eth0 txpower 30mW
iwconfig eth0 txpower auto
iwconfig eth0 txpower off
iwconfig eth0 sens -80
iwconfig eth0 sens 2
iwconfig eth0 retry 16
iwconfig eth0 retry lifetime 300m
iwconfig eth0 retry min limit 8
nwid: Network ID,只用于pre-802.11的无线网卡,802.11网卡利用ESSID和AP的MAC地址来替换nwid,现在基本上不用设置。
示例:
#iwconfig eth0 nwid AB34
#iwconfig eth0 nwid off
nick: Nickname,一些网卡需要设置该参数,但是802.11协议栈、MAC都没有用到该参数,一般也不用设置。
示例:
#iwconfig eth0 nickname "My Linux Node"
mode:设置无线网卡的工作模式,可以是
Ad-hoc:不带AP的点对点无线网络
Managed:通过多个AP组成的网络,无线设备可以在这个网络中漫游
Master:设置该无线网卡为一个AP
Repeater:设置为无线网络中继设备,可以转发网络包
Secondary:设置为备份的AP/Repeater
Monitor:监听模式
Auto:由无线网卡自动选择工作模式
示例:
#iwconfig eth0 mode Managed
#iwconfig eth0 mode Ad-Hoc
freq/channel:设置无线网卡的工作频率或者频道,小于1000的参数被认为是频道,大于10000的参数被认为是频率。频率单位为Hz,
可以在数字后面附带k, M, G来改变数量级,比如2.4G。频道从1开始。使用lwlist工具可以查看无线网卡支持的频率
和频道。参数off/auto指示无线网络自动挑选频率。
注意:如果是Managed模式,AP会指示无线网卡的工作频率,因此该设置的参数会被忽略。Ad-hoc模式下只使用该设定的频率初始无线网络,如果加入已经存在的Ad-hoc网络则会忽略该设置的频率参数。
示例:
#iwconfig eth0 freq 2422000000
#iwconfig eth0 freq 2.422G
#iwconfig eth0 channel 3
#iwconfig eth0 channel auto
一个已经存在的Ad-hoc网络。使用off参数让无线网卡不改变当前已连接的AP下进入自动模式。any/auto参数,无线网卡自动选择
最好的AP。
注意:如果无线信号低到一定程度,无线网络会进入自动选择AP模式。
示例:
#iwconfig eth0 ap 00:60:1D:01:23:45
#iwconfig eth0 ap any
#iwconfig eth0 ap off
率的索引值,大于1000的为速率,单位bps,可以在数字后面附带k, M, G来指定数量级。auto参数让无线网卡自动选择速率
fixed参数让无线网卡不使用自动速率模式。
示例:
#iwconfig eth0 rate 11M
#iwconfig eth0 rate auto
#iwconfig eth0 rate 5.5M auto //自动选择5.5M以下的速率
txpower:如果无线网卡支持多发射功率设定,则使用该参数设定发射,单位为dBm,如果指定为W(毫瓦),只转换公式为:
dBm=30+log(W)。参数on/off可以打开和关闭发射单元,auto和fixed指定无线是否自动选择发射功率。
示例:
#iwconfig eth0 txpower 15
#iwconfig eth0 txpower 30mW
#iwconfig eth0 txpower auto
#iwconfig eth0 txpower off
sens:设置接收灵敏度的下限,在该下限之下,无线网卡认为该无线网络信号太差,不同的网卡会采取不同的措施,一些现代的无线网卡
会自动选择新的AP。正的参数为raw data,直接传给无线网卡驱动处理,一般认为是百分比。负值表示dBm值。
示例:
#iwconfig eth0 sens -80
#iwconfig eth0 sens 2
retry:设置无线网卡的重传机制。limit ‘value’ 指定最大重传次数;lifetime ‘value’指定最长重试时间,单位为秒,可以附带m和u来
指定单位为毫秒和微秒。如果无线网卡支持自动模式,则在limit和lifetime之前还可以附加min和max来指定上下限值。
示例:
#iwconfig eth0 retry 16
#iwconfig eth0 retry lifetime 300m
#iwconfig eth0 retry min limit 8
rts:指定RTS/CTS握手方式,使用RTS/CTS握手会增加额外开销,但如果无线网络中有隐藏无线节点或者有很多无线节点时可以提高性能。
后面的参数指定一个使用该机制的最小包的大小,如果该值等于最大包大小,则相当于禁止使用该机制。可以使用auto/off/fixed
参数。
示例:
#iwconfig eth0 rts 250
#iwconfig eth0 rts off
frag:设置发送数据包的分片大小。设置分片会增加额外开销,但在噪声环境下可以提高数据包的到达率。一般情况下该参数小于最大包
大小,有些支持Burst模式的无线网卡可以设置大于最大包大小的值来允许Burst模式。还可以使用auto/fixed/off参数。
示例:
#iwconfig eth0 frag 512
#iwconfig eth0 frag off
key/enc[ryption]:设置无线网卡使用的加密密钥,此处为设置WEP模式的加密key,如果要使用WPA,需要wpa_supplicant工具包。
密钥参数可以是 XXXX-XXXX-XXXX-XXXX 或者 XXXXXXXX 格式的十六进制数值,也可以是s:xxxxxx的ASCII字符。如果在密钥参数之前
加了[index],则只是设置该索引值对应的密钥,并不改变当前的密钥。直接指定[index]值可以设置当前使用哪一个密钥。指定on/
off可以控制是否使用加密模式。open/restricted指定加密模式,取决于不同的无线网卡,大多数无线网卡的open模式不使用加密且
允许接收没有加密的数据包,restricted模式使用加密。可以使用多个key参数,但只有最后一个生效。
WEP密钥可以是40bit,用10个十六进制数字或者5个ASCII字符表示,也可以是128bit,用26个十六进制数字或者13个ASCII字符表
示。
#iwconfig eth0 key 0123-4567-89
#iwconfig eth0 key [3] 0123-4567-89
#iwconfig eth0 key s:password [2]
#iwconfig eth0 key [2]
#iwconfig eth0 key open
#iwconfig eth0 key off
#iwconfig eth0 key restricted [3] 0123456789
#iwconfig eth0 key 01-23 key 45-67 [4] key [4]
power:设置无线网卡的电源管理模式。period ‘value’ 指定唤醒的周期,timeout ‘value’指定进入休眠的等待时间,这两个参数之前可以
加min和max修饰,这些值的单位为秒,可以附加m和u来指定毫秒和微秒。off/on参数指定是否允许电源管理,all/unicast/multicast
指定允许唤醒的数据包类型。
示例:
#iwconfig eth0 power period 2
#iwconfig eth0 power 500m unicast
#iwconfig eth0 power timeout 300u all
#iwconfig eth0 power off
#iwconfig eth0 power min period 2 power max period 4
commit:提交所有的参数修改给无线网卡驱动。有些无线网卡驱动会先缓存无线网卡参数修,使用这个命令来让无线网卡的参数修改生效。不过一般不需要使用该命令,因为无线网卡驱动最终都会是参数的修改生效,一般在debug时会用到。
-------------------------------------------------------------------------
iwlist eth1 scan 搜索无线网络:
显示搜到的网络(此处只显示一个):
eth1 Scan completed :
Cell 01 - Address: 00:04:E2:E3:04:FC
ESSID:"ap_demo"
Mode:Managed
Frequency:2.437 GHz
Quality:0/0 Signal level=-61 dBm Noise level=-96 dBm
Encryption key:on
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5.5 Mb/s
Bit Rate:11 Mb/s
Bit Rate:6 Mb/s
Bit Rate:9 Mb/s
Bit Rate:12 Mb/s
Bit Rate:18 Mb/s
Bit Rate:24 Mb/s
Bit Rate:36 Mb/s
Bit Rate:48 Mb/s
Bit Rate:54 Mb/s
Cell 02 ……
iwlist eth1 channel 11
-----------------------------------------------------------------------------
设置模式:
iwconfig eth1 mode managed
通过MAC 设置AP:
iwconfig eth1 ap 00:0A:EB:CA:79:B0
iwconfig eth1 key s:12345 等效于 iwconfig eth1 enc 3132333435(12345的hex值) (为什么AP64bit的口令是40bit呢)
iwconfig eth1 key on
iwconfig eth1 essid sychip_demo
断开WEP:
iwconfig eth1 enc off
查看IP:
ifconfig eth1
设置IP:
ifconfig eth1 10.3.1.74
把IP: 129.158.215.204 , netmask: 255.255.255.0分配给rh0,
# ifconfig rh0 129.158.215.204 netmask 255.255.255.0
ifconfig eth1 dhcp start (从eth1走,不需要ip即可dhcp)
udhcpc -i eth1
udhcpc --help
路由处理:
若要删除以 10. 起始的 IP 路由表中的所有路由,请键入:
route delete 10.*
route del default
route add -net 10.3.0.0 netmask 255.255.0.0 eth1 (eth1获得IP之前,使用此命令显示:No such device)