Wireless tools for Linux

来源:互联网 发布:良辰好景知几何txt 编辑:程序博客网 时间:2024/05/16 13:52

Wireless tools for Linux介绍

Wireless tools for Linux是一个Linux命令行工具包,用来设置支持Linux Wireless Extension的无线设备。Wireless tools for Linux 和 Linux Wireless Extension 由 Jean Tourrilhes在维护,由Hewlett-Packard(HP惠普)赞助。

大多数基于Linux内核的操作系统都包含Wireless tools。在许多GNU/Linux 发行版中,都缺省安装这个工具包,即使是没有自动安装,也能很容易地找到其二进制代码安装包。

Wireless Extension (WE)是一组通用的API,能在用户空间对通用Wireless LANs进行配置和统计。它的好处在于仅通过一组单一的工具就能对各种各样的Wireless LANs进行管理,不过它们是什么类型,只要其驱动支持Wireless Extension就行;另一个好处就是不用重启驱动或Linux就能改变这些参数。

       Wireless Tools (WT)就是用来操作Wireless Extensions的工具集,它们使用字符界面,虽然粗糙,但支持所有Wireless Extension。虽然还有很多其他管理Wireless Extensions的工具,但Wireless Tools是参考实现,它包括以下工具:

         iwconfig:设置基本无线参数

      iwlist:扫描、列出频率,比特率,密钥等

      iwspy:获取每个节点链接的质量

         iwpriv:操作Wireless Extensions 特定驱动

         ifrename: 基于各种静态标准命名接口

大多数 Linux 发行版本都在其网络初始化脚本中集成Wireless Extension,以便启动时配置无线接口。他们还将Wireless Tools作为其标准封装包。

无线配置也可以使用hotplug或uDev脚本来完成,需要发行版特定的支持,这样能支持任何可移动的无线接口(Pcmcia,CardBus,USB接口...)。

Wireless Tools(从版本19)开始完全支持IEEE 802.11标准参数和设备,支持旧风格的设备和最专有协议,并准备处理HiperLan。较新版本增加了更多802.11支持。但不幸的是,并非所有的驱动程序支持所有这些功能。

最新的稳定版本的Wireless Tools是版本29,大多数愚蠢的错误已被删除,并支持所有的Wireless Extension(从版本v11至v21)。可以从http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz下载最新的Wireless Tools。

   我们经常会用到的主要是iwlist、iwconfig、 iwpriv:

命令行:(ap不需要验证密码)

iwlist mlan0 scan //搜索ap

iwconfig mlan0 essid “linksys” //连接ap

udhcpc –i mlan0 //获得动态IP

命令行:(ap需要验证密码)

iwlist mlan0 scan //搜索ap

iwconfig mlan0 key xxxxxxxxxx // 输入验证密码

iwconfig mlan0 key open //密码验证功能打开

iwconfig mlan0 essid “linksys” //连接ap

udhcpc –i mlan0 //获得动态IP

   关于iwconfig 可以看上一篇文章;这里补充一下有关iwpriv:       [root@root- /]#iwpriv    mlan0     Available private ioctls :
          extscan          (8BFA) : set   0 int   & get   2 char
          hostcmd          (8BE4) : set 2047 byte & get 2047 byte
          arpfilter        (8BE6) : set 2047 byte & get 2047 byte
          regrdwr          (8BE3) : set 256 char & get 256 char
          sdcmd52rw        (8BFE) : set   7 byte & get   7 byte
          sdcmd53rw        (8BFF) : set   0 char & get   0 char
          setgetconf       (8BEA) : set 2000 byte & get 2000 byte
          getcis           (8BE1) : set   0       & get 512 byte
          scantype         (8BEB) : set   8 char & get   8 char
          deauth           (0001) : set   1 addr & get   0
          getNF            (0001) : set   1 int   & get   1 int
          getRSSI          (0002) : set   1 int   & get   1 int
          bgscan           (0004) : set   1 int   & get   1 int
          enable11d        (0005) : set   1 int   & get   1 int
          adhocgrate       (0006) : set   1 int   & get   1 int
          sdioclock        (0007) : set   1 int   & get   1 int
          wmm              (0008) : set   1 int   & get   1 int
          uapsdnullgen     (000A) : set   1 int   & get   1 int
          setcoalescing    (000B) : set   1 int   & get   1 int
          adhocgprot       (000C) : set   1 int   & get   1 int
          disable_chsw     (000F) : set   1 int   & get   1 int
          setpowercons     (0001) : set   1 int   & get   1 int
          wmm_qosinfo      (0002) : set   1 int   & get   1 int
          lolisteninter    (0003) : set   1 int   & get   1 int
          psnullinterval   (0005) : set   1 int   & get   1 int
          bcnmisto         (0006) : set   1 int   & get   1 int
          ldocfg           (0008) : set   1 int   & get   1 int
          rtsctsctrl       (000F) : set   1 int   & get   1 int
          moduletype       (000B) : set   1 int   & get   1 int
          autodeepsleep    (000C) : set   1 int   & get   1 int
          enhanceps        (000D) : set   1 int   & get   1 int
          wakeupmt         (000E) : set   1 int   & get   1 int
          setrxant         (0001) : set   1 int   & get   0
          settxant         (0002) : set   1 int   & get   0
          authalgs         (0004) : set   1 int   & get   0
          encryptionmode   (0005) : set   1 int   & get   0
          setregioncode    (0006) : set   1 int   & get   0
          setlisteninter   (0007) : set   1 int   & get   0
          setmultipledtim (0008) : set   1 int   & get   0
          setbcnavg        (0009) : set   1 int   & get   0
          setdataavg       (000A) : set   1 int   & get   0
          associate        (000B) : set   1 int   & get   0
          getregioncode    (0001) : set   0       & get   1 int
          getlisteninter   (0002) : set   0       & get   1 int
          getmultipledtim (0003) : set   0       & get   1 int
          gettxrate        (0004) : set   0       & get   1 int
          getbcnavg        (0005) : set   0       & get   1 int
          getdataavg       (0006) : set   0       & get   1 int
          getauthtype      (0007) : set   0       & get   1 int
          getrsnmode       (0008) : set   0       & get   1 int
          act_paircipher   (0009) : set   0       & get   1 int
          act_groupcipher (000A) : set   0       & get   1 int
          getdtim          (000B) : set   0       & get   1 int
          getrxant         (0001) : set   0       & get 12 char
          gettxant         (0002) : set   0       & get 12 char
          gettsf           (0003) : set   0       & get 12 char
          wpssession       (0004) : set   0       & get 12 char
          deepsleep        (8BFB) : set   1 char & get   6 char
          adhocstop        (0004) : set   0       & get   0
          radioon          (0001) : set   0       & get   0
          radiooff         (0002) : set   0       & get   0
          rmaeskey         (0003) : set   0       & get   0
          crypto_test      (0006) : set   0       & get   0
          reasso-on        (0007) : set   0       & get   0
          reasso-off       (0008) : set   0       & get   0
          wlanidle-on      (0009) : set   0       & get   0
          wlanidle-off     (000A) : set   0       & get   0
          softreset        (000C) : set   0       & get   0
          sleepparams      (0002) : set 64 char & get 64 char
          requesttpc       (0004) : set 64 char & get 64 char
          powercap         (0005) : set 64 char & get 64 char
          measreq          (000C) : set 64 char & get 64 char
          bca-ts           (0003) : set 64 char & get 64 char
          scanmode         (0006) : set 64 char & get 64 char
          getadhocstatus   (0009) : set 64 char & get 64 char
          setgenie         (000A) : set 64 char & get 64 char
          getgenie         (000B) : set 64 char & get 64 char
          qstatus          (000D) : set 64 char & get 64 char
          ts_status        (000E) : set 64 char & get 64 char
          setaeskey        (0001) : set 32 char & get   0
          getaeskey        (0001) : set   1 int   & get 128 char
          version          (0002) : set   1 int   & get 128 char
          verext           (0003) : set   1 int   & get 128 char
          setwpaie         (8BE0) : set 24 char & get   0
          setband          (0001) : set 10 char & get   0
          setadhocch       (0002) : set 10 char & get   0
          chanswann        (0003) : set 10 char & get   0
          getband          (0001) : set   0       & get 10 char
          getadhocch       (0002) : set   0       & get 10 char
          getlog           (8BE9) : set   0       & get 512 char
          tpccfg           (0001) : set 16 int   & get 16 int
          scanprobes       (0006) : set 16 int   & get 16 int
          ledgpio          (0005) : set 16 int   & get 16 int
          sleeppd          (0007) : set 16 int   & get 16 int
          rateadapt        (0008) : set 16 int   & get 16 int
          getSNR           (0009) : set 16 int   & get 16 int
          getrate          (000A) : set 16 int   & get 16 int
          getrxinfo        (000B) : set 16 int   & get 16 int
          atimwindow       (000C) : set 16 int   & get 16 int
          bcninterval      (000D) : set 16 int   & get 16 int
          sdiopullctrl     (000E) : set 16 int   & get 16 int
          scantime         (000F) : set 16 int   & get 16 int
          sysclock         (0010) : set 16 int   & get 16 int
          txcontrol        (0012) : set 16 int   & get 16 int
          hscfg            (0014) : set 16 int   & get 16 int
          hssetpara        (0015) : set 16 int   & get 16 int
          inactoext        (0016) : set 16 int   & get 16 int
          dbgscfg          (0017) : set 16 int   & get 16 int
          drvdbg           (0018) : set 16 int   & get 16 int
          drvdelaymax      (001A) : set 16 int   & get 16 int
          intfctrl         (001B) : set 16 int   & get 16 int
          setquietie       (001C) : set 16 int   & get 16 int
          ctspowerctrl     (001E) : set 16 int   & get 16 int
          psmode           (001F) : set 16 int   & get 16 int
          setuserscan      (0001) : set 2000 byte & get 2000 byte
          getscantable     (0002) : set 2000 byte & get 2000 byte
          setmrvltlv       (0003) : set 2000 byte & get 2000 byte
          getassocrsp      (0004) : set 2000 byte & get 2000 byte
          addts            (0005) : set 2000 byte & get 2000 byte
          delts            (0006) : set 2000 byte & get 2000 byte
          qconfig          (0007) : set 2000 byte & get 2000 byte
          qstats           (0008) : set 2000 byte & get 2000 byte
          txpktstats       (000C) : set 2000 byte & get 2000 byte
          getcfptable      (0009) : set 2000 byte & get 2000 byte
          mefcfg           (000A) : set 2000 byte & get 2000 byte
          getmem           (000B) : set 2000 byte & get 2000 byte
    通过iwpriv,我们可以得到AP的一些参数设置,也可以设置自己的WIFI参数。       [root@root- /]#iwpriv mlan0 getband
       mlan0     getband:bg