ACTIVE NETWORK INTERFACE (e.g., en0)
Include VPN Virtual Interface
scutil --nwi | awk ' /IPv4/{getline;print $1;exit}'
Ignore VPN Virtual Interface
scutil --nwi | grep -v utun | awk ' /IPv4/{i++}i==2{print $1;exit}'
ACTIVE NETWORK SERVICE (e.g., Wi-Fi)
networksetup -listallhardwareports | awk -F' : ' -v v=" $( scutil --nwi | grep -v utun | awk ' /IPv4/{i++}i==2{print $1;exit}' ) " ' $0~v{print a}{a=$NF}'
networksetup -getmacaddress $( scutil --nwi | grep -v utun | awk ' /IPv4/{i++}i==2{print $1;exit}' ) | awk ' {print $3}'
networksetup -listallhardwareports | awk ' /Wi-Fi/{getline;print $2}'
networksetup -getairportpower $( networksetup -listallhardwareports | awk -F' : ' ' /Wi-Fi/{getline;print $2}' ) | awk ' {print $NF}'
networksetup -getairportnetwork $( networksetup -listallhardwareports | awk -F' : ' ' /Wi-Fi/{getline;print $2}' ) | awk -F' : ' ' {print $NF}'
scutil --nwi | awk ' /^IPv4/{i[NR+2]};NR in i{print $3;exit}'
dig +short myip.opendns.com @resolver1.opendns.com
scutil --nwi | awk ' /^IPv6/{i[NR+2]};NR in i{print $3}'