Here is a little bash script that allows you to detect a change in the wireless network connection of a Mac (using OS X 10.9.1 Mavericks). You may run it in the background or regularly using cron (then remove the while true loop).
#!/bin/bash hosts_culan="/etc/hosts_CuLAN" hosts_else="/etc/hosts_else" while true; do ssid=`/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep " SSID" | awk '{print $2}'` if [[ -z "$ssid" ]]; then ssid="none"; fi echo "current WLAN ssid is $ssid" if [[ $ssid == "CuLAN" ]]; then echo "ssid is CuLAN" # check if [[ -f $hosts_culan ]]; then mv /etc/hosts $hosts_else mv $hosts_culan /etc/hosts echo "changed /etc/hosts to CuLAN" fi else echo "ssid is not CuLAN" if [[ -f $hosts_else ]]; then mv /etc/hosts $hosts_culan mv $hosts_else /etc/hosts echo "changed /etc/hosts to non-CuLAN network" fi fi echo "script done" sleep 10 done