Is it possible to see my external IP address without making an outbound web request?

If your connection is NAT'ed, is it possible to see your external IP address without making an outbound web request?

Any OS (Windows, Linux, etc.) is fine.


If your computer is behind NAT, it is possible for you to see the external IP address of your router, but you need administrative access to the router.

The router knows your external IP address, so by accessing its configuration page you can find that IP address. This way does not require any specialized tool except a Web browser.

Other protocols which require a tool for getting the information:

  • UPnP
  • NAT Port Mapping Protocol (NAT-PMP)
  • Port Control Protocol (PCP), on IPv6 network will return the IPv6 prefix. It can actually do much more but much of it is not usually implemented on consumer routers.

As tested by user @dirkt, all methods only work with IPv4 (except possibly for PCP).


There are a few ways that work with some NATs but nothing that's guaranteed to work everywhere.

I believe uPnP, NAT-PMP, and PCP (Universal Plug And Play, NAT Port Mapping Protocol, and the Port Control Protocol) all have ways to ask a compliant NAT gateway what the public address is, but not all NATs support these protocols. Support is more common in home gateway routers than in corporate or carrier-grade NAT solutions.

When you find yourself behind a NAT, the only sure way to see what public IP address it is translating your traffic into is to send some outgoing traffic to some public host that will report back, in a way the NAT won't translate, what address your traffic appeared to come from. Using a web based service is one way, but you could also do it by, say, SSHing into a cloud server instance and seeing where sshd says your SSH session is coming from.


You can use a DNS request, which I believe would not fall under the category of "web request":

nslookup myip.opendns.com resolver1.opendns.com