30Jul/100
Bash script to show WAN and LAN network IPs.
Following is a bash script I wrote to show my lan and wan IPs.
The script will loop every 10 seconds. Seeing as my ISP has a less than desirable up time, I use this to see when I'm finally reconnected.
#!/bin/bash
# -/oss+:` `-/o/.
# `-omMmy+. +Md/
# -MMMMMNdhMMMyos+:
# .:odmMMMMMMMMMMMMMMo
# .yNMMMMMMMMNyNMMMMMNsoo-
# odo::NMMMMMM/`s-MMMMMMmMMds/
# -. `NMMMMMMMd+- -ooo/-..-oNM- `++ /+`++ //
# +MMMMMMMMMMMMmhyssss- `- .ddh. mdd/yy
# sMm`oMMMMMMMMMMMMMMNmdy+` -M. m+`sMy
# .M/ `+hNMMMMMMMMMMMMMMMMs` `.` .` ..
# /` `.:+oo..-/yMMMMMMMN-
# -+yo:` +MMMMMMMN`
# :yNMN+so -so` :hyMMMMMM/
# /mMMMMMMMNhdMN` ://+hMMMMMNN:
# `hMMMNdhyydMMMMMMdyssdMMMMMMMN`.
# hMmm- /osMMMNosNMMMMMMMMdNM+
#`Ms`/ ..-smMNs.oNNho+/++:` sM/
# h/ `:++/- -my- +s`
# . .s`
echo "Press ctrl-c to exit at any time."
while [ 1 ]; do
WAN_ip_addr=`wget --timeout=10 --tries=2 -qO - http://cfaj.freeshell.org/ipaddr.cgi`
LAN_ip_addr=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
echo $(date)
echo -ne "External IP: "
if [ -z $WAN_ip_addr ]; then
echo -e "Disconnected"
else
echo -e $WAN_ip_addr
fi
echo -ne "Internal IP: "
if [ -z $LAN_ip_addr ]; then
echo -e "Disconnected"
else
echo -e $LAN_ip_addr
fi
if [ -n "$WAN_ip_addr" ]; then
echo "Found external IP"
exit 0
fi
done
exit 0
# -/oss+:` `-/o/.
# `-omMmy+. +Md/
# -MMMMMNdhMMMyos+:
# .:odmMMMMMMMMMMMMMMo
# .yNMMMMMMMMNyNMMMMMNsoo-
# odo::NMMMMMM/`s-MMMMMMmMMds/
# -. `NMMMMMMMd+- -ooo/-..-oNM- `++ /+`++ //
# +MMMMMMMMMMMMmhyssss- `- .ddh. mdd/yy
# sMm`oMMMMMMMMMMMMMMNmdy+` -M. m+`sMy
# .M/ `+hNMMMMMMMMMMMMMMMMs` `.` .` ..
# /` `.:+oo..-/yMMMMMMMN-
# -+yo:` +MMMMMMMN`
# :yNMN+so -so` :hyMMMMMM/
# /mMMMMMMMNhdMN` ://+hMMMMMNN:
# `hMMMNdhyydMMMMMMdyssdMMMMMMMN`.
# hMmm- /osMMMNosNMMMMMMMMdNM+
#`Ms`/ ..-smMNs.oNNho+/++:` sM/
# h/ `:++/- -my- +s`
# . .s`
echo "Press ctrl-c to exit at any time."
while [ 1 ]; do
WAN_ip_addr=`wget --timeout=10 --tries=2 -qO - http://cfaj.freeshell.org/ipaddr.cgi`
LAN_ip_addr=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
echo $(date)
echo -ne "External IP: "
if [ -z $WAN_ip_addr ]; then
echo -e "Disconnected"
else
echo -e $WAN_ip_addr
fi
echo -ne "Internal IP: "
if [ -z $LAN_ip_addr ]; then
echo -e "Disconnected"
else
echo -e $LAN_ip_addr
fi
if [ -n "$WAN_ip_addr" ]; then
echo "Found external IP"
exit 0
fi
done
exit 0