Find & Scan Wireless Networks from the Command Line in Mac OS X
A long hidden airport command line utility buried deep in Mac OS X can be used to scan for and find available wireless networks. This powerful tool is very helpful for network admins and systems administrators, but it’s handy for the average user to help discover nearby wi-fi routers as well.
Accessing the Wi-Fi Utility in Mac OS X Command Line
To use this tool to find nearby wifi networks, the first thing you’ll want to do is create a symbolic link from the airport utility to /usr/sbin for easy access. The command for this varies per version of Mac OS in use, select which is relevant to your Mac OS X version on the Mac in question.
Launch the Terminal and type the following command:
Making a symbolic link for airport tool in MacOS High Sierra, Sierra, OS X El Capitan, Yosemite, and later
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
If you see an “operation not permitted” error message it’s likely because you either don’t have a bin directory in /usr/local/ (you can make one yourself), or you have SIP enabled, the SIP rootless feature can be disabled if desired by advanced users.
Make a symbolc link for airport tool in Mac OS X Mavericks, Mountain Lion, Snow Leopard
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport
Either of the above commands must appear on a single line to work properly.
Enter the administrator password to create the symbolic link, which functions as an alias would in the Finder. Now you can use the airport command without the lengthy path to access it.
How to Scan for Wireless Networks from Terminal in Mac OS X
Now, to scan for and find all wireless networks within range, type the following:
The list returned will show all available wifi networks and their router name (SSID), the router address (BSSID), signal strength (RSSI), channel, and security types used by the network.
This basically works like a command line wi-fi stumbler, revealing the available wireless networks that are within range.
By watching the output of airport -s and the RSSI strength, you could use the airport command line tool in a similar fashion to the Wi-Fi Diagnostics utility to optimize a wireless connection.
You can also get much of the same detailed information from the Wi-Fi menu by holding the Option key on click, although that will only show you details of one access point at a time.
Alternatively, Mac users can turn to the Wi-Fi scanner tool native to Mac OS X to stumble for nearby wireless networks entirely in the GUI. The output will be the same for either the Wireless Diagnostics app approach, or the command line approach offered here.
Do you have any handy tips or tricks for scanning wireless networks from the command line of a Mac? Either using built-in tools or third party options? Share your thoughts in the comments below!