Possible Duplicate:
Finding the Public IP address in a shell script

I'm currently doing this in a script:

EXTERNAL_IP=`curl -s http://whatismyip.org`

There's got to be a built in linux command or something for this, no?

marked as duplicate by Zoredache, mailq, Scott Pack, Steven Monday, quanta Dec 1 '11 at 2:35

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    What is your precise definition of "external IP address"? If you mean the IP address that other sites on the Internet see your web requests as coming from (possibly the address of your HTTP proxy), then you are doing it the right way. If that's not what you mean, then maybe not. – David Schwartz Nov 30 '11 at 21:44

No, there is no built-in command, and even the command you suggest may not give you what you want if your NAT device is doing anything more complex then a simple masquerading.


If you mean your source address as the rest of the Internet sees it, then the way you're doing it now is pretty much it. A machine behind a firewall or other device doing NAT will be happily unaware of any address translation done further along.

You might find that http://ifconfig.me is a bit cleaner for what you're after - have a look under the Command Line Interface section on the front page.

Not the answer you're looking for? Browse other questions tagged or ask your own question.