Is there a built in command line utility for airport and other wifi networks?
Solution 1:
There is a command line wireless utility called airport
, but it is not in the user $PATH to be able to call it without remembering where it is.
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
so to make it available at the line, and put it where it really belongs, in Terminal:
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$ sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport
chillin@stack:~$
And when calling it, gives great info about the wireless network you're connected to:
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$ airport -I
agrCtlRSSI: -53
agrExtRSSI: 0
agrCtlNoise: -84
agrExtNoise: 0
state: running
op mode: station
lastTxRate: 48
maxRate: 54
lastAssocStatus: 0
802.11 auth: open
link auth: none
BSSID: c0:a7:50:5d:46:b9
SSID: starbucks
MCS: -1
channel: 3
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$ # ok, what else?
chillin@stack:~$ # run a wireless scan!
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$ airport -s
SSID BSSID RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
MOTOROLA-616F8 b4:22:ed:3d:69:e4 -86 1 Y -- WPA2(PSK/AES/AES)
starbucks c0:a7:50:5d:46:b9 -50 3 N US WEP
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$
for syntax and quick help:
chillin@stack:~$
chillin@stack:~$ airport -h
Supported arguments:
-c[<arg>] --channel=[<arg>] Set arbitrary channel on the card
-z --disassociate Disassociate from any network
-I --getinfo Print current wireless status, e.g. signal info, BSSID, port type etc.
-s[<arg>] --scan=[<arg>] Perform a wireless broadcast scan.
Will perform a directed scan if the optional <arg> is provided
-x --xml Print info as XML
-P --psk Create PSK from specified pass phrase and SSID.
The following additional arguments must be specified with this command:
--password=<arg> Specify a WPA password
--ssid=<arg> Specify SSID when creating a PSK
-h --help Show this help
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$
outputs what looks like a man page, for examples and full help, call command without arguments:
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$ airport
Usage: airport <interface> <verb> <options>
<interface>
If an interface is not specified, airport will use the first AirPort interface on the system.
<verb is one of the following:
prefs If specified with no key value pairs, displays a subset of AirPort preferences for
the specified interface.
Preferences may be configured using key=value syntax. Keys and possible values are specified below.
Boolean settings may be configured using 'YES' and 'NO'.
DisconnectOnLogout (Boolean)
JoinMode (String)
Automatic
Preferred
Ranked
Recent
Strongest
JoinModeFallback (String)
Prompt
JoinOpen
KeepLooking
DoNothing
RememberRecentNetworks (Boolean)
RequireAdmin (Boolean)
RequireAdminIBSS (Boolean)
RequireAdminNetworkChange (Boolean)
RequireAdminPowerToggle (Boolean)
WoWEnabled (Boolean)
logger Monitor the driver's logging facility.
sniff If a channel number is specified, airportd will attempt to configure the interface
to use that channel before it begins sniffing 802.11 frames. Captures files are saved to /tmp.
Requires super user privileges.
debug Enable debug logging. A debug log setting may be enabled by prefixing it with a '+', and disabled
by prefixing it with a '-'.
AirPort Userland Debug Flags
DriverDiscovery
DriverEvent
Info
SystemConfiguration
UserEvent
PreferredNetworks
AutoJoin
IPC
Scan
802.1x
Assoc
Keychain
RSNAuth
WoW
AllUserland - Enable/Disable all userland debug flags
AirPort Driver Common Flags
DriverInfo
DriverError
DriverWPA
DriverScan
AllDriver - Enable/Disable all driver debug flags
AirPort Driver Vendor Flags
VendorAssoc
VendorConnection
AllVendor - Enable/Disable all vendor debug flags
AirPort Global Flags
LogFile - Save all AirPort logs to /var/log/airport.log
<options> is one of the following:
No options currently defined.
Examples:
Configuring preferences (requires admin privileges)
sudo airport en1 prefs JoinMode=Preferred RememberRecentNetworks=NO RequireAdmin=YES
Sniffing on channel 1:
airport en1 sniff 1
LEGACY COMMANDS:
Supported arguments:
-c[<arg>] --channel=[<arg>] Set arbitrary channel on the card
-z --disassociate Disassociate from any network
-I --getinfo Print current wireless status, e.g. signal info, BSSID, port type etc.
-s[<arg>] --scan=[<arg>] Perform a wireless broadcast scan.
Will perform a directed scan if the optional <arg> is provided
-x --xml Print info as XML
-P --psk Create PSK from specified pass phrase and SSID.
The following additional arguments must be specified with this command:
--password=<arg> Specify a WPA password
--ssid=<arg> Specify SSID when creating a PSK
-h --help Show this help
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$
chillin@stack:~$ exit