Get own public IP address

wget -qO-
Sample Output
$ wget -qO-$ 

2009-03-27 10:57:57

4 Alternatives + Submit Alt

What Others Think

Doesn't work, however curl -s |grep '"Box"' | egrep -o '[0-9.]+' does work.
tebeka · 691 weeks and 5 days ago
Doesn't work, however curl -s |grep '"Box"' | egrep -o '[0-9.]+' does work.
tebeka · 691 weeks and 5 days ago
The same with wget: wget -O - -q |grep '"Box"' | egrep -o '[0-9.]+'
PabloX · 691 weeks and 5 days ago
You guys are using the wrong site :-P wget -qO- It doesn't have any HTML or markup, just a plain ip. try ping $( wget -qO- ) Will work flawlessly. If you find yourself using a external IP a lot, consider instead using a dynamic DNS client like or a similar service. Free, east setup, and they have open source daemons to update it automatically. This gives you an actual named URL, and you won't ever need to use this command. On ubuntu, run sudo aptitude search dyndns-client Or search for "dynamic DNS" in your package manager to find some sites with supported services.
clockworkavian · 691 weeks and 4 days ago
@clockworkavian: Thanks for the tip about! I don't want to install/use dyndns-client every time I need an IP in a script...
kobayashison · 691 weeks and 2 days ago
Yep... 1st one works like a charm. No grep or egrep needed. Just Ip plain text. It's perfect. You don't rely on the web designer... Because on the checkip one, if the web designer decide to do any change to the page, it might not work anymore. That's exactly what happened to the propose command on lifehacker, where it is proposed to use This site change the page layout, and bam... The command is useless.
Superkikim · 560 weeks ago
Regarding dynamic DNS update, that is exactly why I am looking for such command. I use, and I have no idea when my ISP changes my IP. I made a script to update the zone every 5 minutes. But I've been blocked by because I'm making to many updates, even if the site can tell "no update needed" they don't like people "spamming" with update requests. I will now add a command to check by myself if the IP changed every 1 or 5 minutes, and if it did, then I will update the zone at Then, every request will be for a good reason :-) This will also show me at what frequency the ISP changes my IP address.
Superkikim · 560 weeks ago
This is the command I use in my home made ddns script to update wget --no-check-certificate -q -O index.html && cat index.html|cut -d ' ' -f 6 | cut -d '<' -f 1 The script is here (copy paste). The article is in french but hey... google translate is your best friend.
Superkikim · 424 weeks and 2 days ago
seofox · 31 weeks and 4 days ago ????? ??? ????? ???? SEO ????? ????? ????? ???? ????? ????? ??? ???? ???? ??????? Search Engine Optimization ??? ????? ??????????? ?? ????? ?????????? ????? ????? ?? ????
seofox · 21 weeks and 3 days ago
seofox · 20 weeks and 1 day ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this? is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.


Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: