Terminal からコマンドで AirPort (無線 LAN) の設定を行う

ターミナルで何でも操作して普通の人からなにそれこわいと言われるような Mac OS XUNIX として使っている人のために Mac OS X Leopard (10.5.7) で無線 LAN の設定をターミナルからコマンドで行う方法を紹介する.

Mac OS X には使い慣れた iwconfig, wlanconfig などというコマンドはなく,無線 LAN の設定は airport というコマンドで管理されている.

準備

パスの通った /usr/sbin に airport へのシンボリックリンクを貼る.

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport

使い方を調べる

/Users/yuyarin% airport -h
airport AirPort v.527.2 (527.2.0)
Supported arguments:
 -z        --disassociate       Disassociate from any network
 -i[<arg>] --ibss=[<arg>]       Create IBSS
 -x        --xml                Print info as XML
 -s[<arg>] --scan=[<arg>]       Perform a wireless broadcast scan.
				   Will perform a directed scan if the optional <arg> is provided
 -r<arg>   --repeats=<arg>      Repeat the command the specified number of times
 -A[<arg>] --associate=[<arg>]  Associate to network.
				   Will prompt for network name if arg is not specified
				   and if necessary, for a password if the network is using WEP or WPA.
				   The following additional arguments may be specified with this command:
                                  --bssid=<arg>     Specify BSSID to associate with
                                  --password=<arg>  Specify a WEP key or WPA password
 -I        --getinfo            Print current wireless status, e.g. signal info, BSSID, port type etc.
 -P<arg>   --psk=<arg>          Create PSK from specified pass phrase and SSID.
				   The following additional arguments must be specified with this command:
                                  --ssid=<arg>      Specify SSID when creating a PSK
 -c[<arg>] --channel=[<arg>]    Set arbitrary channel on the card
 -h        --help               Show this help

アクセスポイントを探す

/Users/yuyarin% airport -s
  SSID BSSID             RSSI CHANNEL SECURITY (auth/unicast/group)
   *** **:**:**:**:**:** -76  1       WEP
 ***** **:**:**:**:**:** -38  7       WPA(802.1x/TKIP/TKIP) WPA2(802.1x/AES/TKIP) 
  **** **:**:**:**:**:** -55  11      WEP
...

SSID, BSSID は伏せてある.

接続する

/Users/yuyarin% sudo airport -A*****
Password:
password: 

SSID は伏せてある.-A のあとにスペースを空けずに続けて SSID を入力する.最初の Password は sudo のためのパスワード.次の password は 無線LAN のパスワード.証明書認証の場合は空で良い.

情報を見る

/Users/yuyarin% airport -I
     agrCtlRSSI: -58
     agrExtRSSI: 0
    agrCtlNoise: -89
    agrExtNoise: 0
          state: running
        op mode: station 
     lastTxRate: 54
        maxRate: 54
lastAssocStatus: 0
    802.11 auth: open
      link auth: wpa2
          BSSID: **:**:**:**:**:**
           SSID: *****
            MCS: -1
        channel: 7

切断する

/Users/yuyarin% airport -z