My computers are sitting behind a router/firewall. How do I programmatically find out what my external IP address is. I can use http://www.whatsmyip.org/ for ad-hoc queries,
http://myexternalip.com provides this kind of information. To retrieve your IP you have plenty of options: