Okeydokey, Lots of people have problems translating IPs since NAT came into existance. Internal network IPs, External Network IPs, IPs used over some WAN interface. Its just a pain in the ass. There have been ALOT of questions between several threads here and threads on other forums for even other languages looking for a simple way to obtain your EXTERNAL IP address. (The One That The Internet Sees!)
What I Propose: We should enact a new standard service that runs on an arbitrarily assigned unused port, (Im thinking port 412 just for $$$$s and giggles.) That accepts a connection from a host, simply prints the IP of the connecting host, and closes the connection. Boom. Simple, fast, effective. Then it will be a simple matter to run on multiple network servers, and possibly a few large central static points on the internet, such as a root nameserver, or one of the official NTP servers to determine how a given remote host will view your connection. This shouldnt take alot of work, involves no obvious security flaws, eats few if any system resources and bandwidth, and serves as an important network status and troubleshooting tool! Anybody interested in helping? Im thinking a simple "EchoIPd" IP Daemon writen in C (30 lines of code) and possibly a nice message to a few internet standards orginizations and we could have our own little chunk of immortality! What do you guys think?