I often have to bounce between WiFi at the office and the public WiFi so I finally put this script together.
You will need to get the BSSID of your WiFi connection to replicate this but here is the code, of course you need to run this with sudo privileges
If you chmod a+x the file and set the default launcher to terminal you can double click on the file and it will do the work.
#!/bin/bash sudo -s clear sBSSID=$(echo $(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep BSSID)|awk '{print $2}') clear echo "Current BSSID: $sBSSID" echo "Current DNS:" cat /etc/resolv.conf | grep nameserver if [ "$sBSSID" == "44:ad:d9:a1:29:4f" ] then echo " " echo "Setting Corp DNS" sudo networksetup -setdnsservers Wi-Fi empty sudo networksetup -setdnsservers Wi-Fi 192.168.10.20 192.168.10.21 sudo killall -HUP mDNSResponder echo "Current DNS:" cat /etc/resolv.conf | grep nameserver else echo " " echo "Setting Google DNS" sudo networksetup -setdnsservers Wi-Fi empty sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4 sudo killall -HUP mDNSResponder echo "Current DNS:" cat /etc/resolv.conf | grep nameserver fi