I'm trying to use the
airport utility in Terminal to set a USB WiFi adapter into monitor mode.
I have linked the airport for convenience:
$ ls -l /usr/local/bin/ | grep airport lrwxr-xr-x 1 root admin 89 Jul 2 18:05 airport -> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
To test with my interal WiFi adapter first, I try to run
sudo airport en1 sniff 1, which just produces the help output:
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 P2P Roam BTCoex 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/wifi.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
(Running with interface
en16 (the USB adapter) produces the same result)
Normally I would see a
usage output like this if I made some sort of syntax mistake, but I don't see any problems with the command as entered.
Am I doing something wrong, or is there a bug with
airport on macOS Sierra?