Threat Level: green Handler on Duty: Xavier Mertens

SANS ISC: Internet Security | DShield SANS ISC InfoSec Forums

Watch ISC TV. Great for NOCs, SOCs and Living Rooms:

Sign Up for Free!   Forgot Password?
Log In or Sign Up for Free!
What is My IP Again?

Until we all fully embrace IPv6, we're living in a NAT world.  And the folks who build security for that world often need to work around NAT that they didn't build.

Probably at least once per day, I need my current public IP address -  usually to allow myself admin access to something for a few minutes by adding my IP to an access list, sometimes to set myself up as a temporary (as in a few minutes) server to receive an exfiltrated file - it's always something.  Often I'm behind someone else's NAT gateway, so just looking isn't practical.  And even if it is a gateway I built, looking up stored configs or connecting to that firewall to check takes more time than it should.  How can we make getting this information simple and safe?

Back in the day, we used to use or  However, the way the internet has gone, these sites seem more about making me look at ads than giving me the information that I really need.  And given the malvertising that we see being served up in ad services these days, I'd as soon just not go there anymore (literally).

OK, still gives me my public IP, with no ads.  But then I need to cut/paste it, or re-key it.  Me, I'd as soon have my computer do that.

It also used to be that had a telnet auto-responder that gave you this info (which would also of course work with netcat), but they went offline, maybe about the time mirai gave telnet a black eye last year (??) **

So, what's left? and still have decent services.  You can scrape these using:

wget -O - -q


curl -s | sed -e "s/.*Current IP Address: //" | sed -e "s/<.*$//"

If you want them in your clipboard, pipe them into clip or xclip (depending on your OS).

So for instance, I have a simple cmd file "getip.cmd" with either of these in it.  To get the address into my clipboard:
getip | clip

Me, I put both approaches in my "getip" script, with one commented out - you never know when a service you use every day will change or go offline.

Is there a cleaner way to get your current public IP, or a niftier scripting approach?  I have to admit, when I got to "it works" in 2 different ways, I stopped looking - if you have a better way to collect this info, by all means share in our comment section!

** for some telnet fun, try a telnet session to


Rob VandenBrink

Rob VandenBrink

572 Posts
ISC Handler
Nov 9th 2017
There's a list of sites here that will return only your IP when curled >

$ curl
$ curl
$ curl
$ curl
$ curl
$ curl
$ curl
$ curl
$ curl
$ curl
I think Major Hayden, the man behind, deserves a big shoutout and thank you. Check out for his blog, additional services, and more info.

Of course I appreciate what Dyn does, too.

17 Posts
Even Google will correctly give you that info if you ask "What is my IP"... ;-)

41 Posts
There are lots:

$ curl
$ dig +short
$ dig +short -6 aaaa
$ curl

And of course:

$ lynx

Or this one, of course

$ wget -qO-

All from:

11 Posts


3 Posts
> There are lots.

The site:
shows my public IP-address, with a minimum of advertisements.

It is also useful for doing WHOIS searches. :-)
wget | select content | fl

(wget is an alias for invoke-webrequest)


5 Posts

2 Posts
Awesome, thanks everyone!
Especially Beau, returns the IPv6 public IP address back!

I'll be updating my own scripts now - these are *all* likely going in, I'll have them all REM'd out but ready to go for when the first one on the list goes offline or changes ..
Rob VandenBrink

572 Posts
ISC Handler
Surprised no one has mentioned yet.
Crass, but efficient. I find particularly useful

4 Posts
I use, when used via curl you get a json reply by default:

"ip": "",
"hostname": "",
"city": "",
"region": "",
"country": "GB",
"loc": "51.4964,-0.1224",
"org": "AS2856 British Telecommunications PLC"

You can pipe into jq to retrieve just the IP address:

curl -s | jq .ip

They limit to 1000 requests per day on a free option.
Nice and Handy information. Is there also a way to get the pub IP from a switch or router behind firewall? There use to be a site that telnet can be used to grab pub IP but do not think it exists anymore.
I use and curl pipe to xargs/dig to retrieve hostname and ip when needing to direct the requests through a proxy:

curl --socks5 <proxy ip>:<proxy port> '' | xargs -i dig -x {} +noall +answer

Returns ip and hostname.

2 Posts
Consider a second ISP and a simple server program that returns the caller's IP address.

23 Posts
this is all i do

67 Posts

Sign Up for Free or Log In to start participating in the conversation!