996 words in total, 4 minutes required. iw是一个linuxwireless支持的package,之前在android开发中为了加快扫描速度而在root的设备上使用,这一次,我们要将其利用在OpenWRT上,索性写一个完整的介绍。具体的文档信息都可以从linuxwireless的网站上查询到。 1. 关于iwiw是一个新的为无线网络设备配置工具,基于nl80211命令行配置工具集。 它支持大多数最新添加到kernel中的驱动。iw是被用于取代iwconfig的。 iwconfig使用Wireless Extensions Interface,如今已经过时,linuxwirelss组织推荐使用iw和nl80211来取代它。 2. 获取iw使用git git: http://git.sipsolutions.net/iw.git 或者前往linuxwireless.org下载发布版。 3. 依赖使用iw需要有libnl,大多数操作系统预装1.1,如果版本不对,请重新下载编译。libnl中引入了genl,Generic Netlink,是nl80211所依赖的。 4. command- help指令 iw help - 查看设备信息 iw list 可以查看到相关的有用信息 - 扫描指令 iw dev wlan0 scan - 列出事件 iw event 当调试时,用以下命令对查看auth/assoc/deauth/disassoc frames很有用 iw event -f 有时候还需要查看定时信息 iw event -t - 获取连接状态你可以使用以下命令确定你是否连接到一个AP和最近一次传送速率 iw dev wlan0 link 假设连接到一个802.11n的AP,打印信息如下: Connected to 68:7f:74:3b:b0:01 (on wlan0) SSID: tesla-5g-bcm freq: 5745 RX: 30206 bytes (201 packets) TX: 4084 bytes (23 packets) signal: -31 dBm tx bitrate: 300.0 MBit/s MCS 15 40Mhz short GI - 建立基本的连接首先,想要连接的AP往往是两种类型的: 未加密 采用WEP方式加密 如果你在一个比较忙的网络中,很容易掉线,你需要重发命令验证.如果想要避免如此仅需要使用wpa_supplicant,它可以自动重连。 如果你想自己处理掉线,你可以使用以下命令: 连接到SSID为foo未加密的网络: iw wlan0 connect foo 加入你有两个SSID为foo的AP,并且你想连接的是频率2432的,你可以使用以下命令: iw wlan0 connect foo 2432 连接到使用WEP的AP,可以使用: iw wlan0 connect foo keys 0:abcde d:1:0011223344 - 获取站点统计数据获取站点统计数据如发送和接收字节数,最近传送比特率,可以使用以下命令: iw dev wlan1 station dump 打印信息如下: Station 12:34:56:78:9a:bc (on wlan0) inactive time: 304 ms rx bytes: 18816 rx packets: 75 tx bytes: 5386 tx packets: 21 signal: -29 dBm tx bitrate: 54.0 MBit/s - 获取具体的统计数据 iw dev wlan1 station get 是AP的MAC地址。 - 修改传送比特率可以设置一个指定的比特率如: iw wlan0 set bitrates legacy-2.4 12 18 24 设置MCS速率: iw dev wlan0 set bitrates mcs-5 4 iw dev wlan0 set bitrates mcs-2.4 10 想要重置,则不添加参数: iw dev wlan0 set bitrates mcs-2.4 iw dev wlan0 set bitrates mcs-5 - 设置发送功率可以设置发送功率,即可以使用设备接口名称dev也可以使用phy: iw dev set txpower <auto|fixed|limit> [] iw phy set txpower <auto|fixed|limit> [] - 节能模式开启节能模式: iw dev wlan0 set power_save on 查询当前节能模式设置: iw dev wlan0 get power_save - 用iw添加接口支持以下几种Wireless Operating Modes模式: monitor 监听模式 managed [also station] Client模式 wds 无线分布式 中继模式 mesh [also mp]5. ibss [also adhoc] Independent Basic Service Set 点对点模式 具体这些模式的用法可以查看这个文档 例如添加一个monitor的接口 iw phy phy0 interface add moni0 type monitor monitor是模式的名称,而moni0是接口的名称,也可以替换phy0为你硬件对应的接口名称,默认情况下可以使用phy0 - 用iw删除接口 iw dev moni0 del - 用iw设置频点 iw dev wlan0 set freq 2412 [HT20|HT40+|HT40-] - 用iw设置通道 iw dev wlan0 set channel 1 [HT20|HT40+|HT40-] ← Previous Post Next Post→ Table of Contents 1. 关于iw2. 获取iw3. 依赖4. command- help指令- 查看设备信息- 扫描指令- 列出事件- 获取连接状态- 建立基本的连接- 获取站点统计数据- 获取具体的统计数据- 修改传送比特率- 设置发送功率- 节能模式- 用iw添加接口- 用iw删除接口- 用iw设置频点- 用iw设置通道