Is there any way to get the SSID of the current wireless network through a shell script on Mac OS X?
Mac OS. Select the Wi-Fi icon in the menu bar. Within the list of networks, look for the network name listed with a check mark. This is your network's SSID.
On Android:From the homepage or app list, select Settings. Select Wi-Fi. In the list of networks, look for the network name listed next to Connected. This is the SSID.
The command
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I
will give you details about your current wireless network connection.
To get specifically the SSID, use this command:
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk -F: '/ SSID/{print $2}'
To retrieve SSID names that might have colons as well as spaces:
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk -F' SSID: ' '/ SSID: / {print $2}'
Where isn't there a wheel in need of re-inventing?
networksetup -getairportnetwork en1 | cut -c 25-
is what you'd use on 10.6, 10.7 changed the "Hardware Port" name from "Airport" to "Wi-Fi", and therefore you'd cut off one less letter,
aru$ networksetup -getairportnetwork en1 | cut -c 24-
Yorimichi
In case the device is named something other than en1
, one needs to first get the correct device name, than the corresponding SSID:
networksetup -listallhardwareports | awk '/Wi-Fi/{getline; print $2}' | xargs networksetup -getairportnetwork
The following has been tested on OS X and prints the SSID without any hard-coded column widths:
system_profiler SPAirPortDataType | awk -F':' '/Current Network Information:/ {
getline
sub(/^ */, "")
sub(/:$/, "")
print
}'
Essentially, this takes the output of system_profiler SPAirPortDataType
, and prints the line after "Current Network Information:
" trimming leading whitespace and the trailing colon (since SSIDs can contain :
s).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With