Inspired by the comments to this answer and its question. Some of my local ISPs are using carrier grade nat, and as someone who occasionally runs his own servers, remote support, it would be highly useful to be able to work out if I, or someone I am trying to help is behind one of these.

How would I detect if I'm behind a nat? What would be some of the techniques that would be useful in determining this? How can I work out whether anomalies in my 'detected' IP address is due to NATting or other processes?

1 Answer 1


RFC 6598 states that should be assigned to your CPE if you are behind carrier-grade NAT. However I know of at least one CGN that uses 10.100 as their CGN IP range.

If you have access to the CPE, then you should be able to determine CGN by the IP address on the WAN interface. It will either be an RFC1918 or an RFC6598 address.

If you want to determine CGN and you don't have access to the CPE, then your best bet would be to do a tracert and once you leave your local network (which should be just one hop for the vast, vast majority of networks that would be behind CGN). If you see RFC1918 or RFC6598 addresses after leaving your CPE, or your traceroute cannot lookup the 2nd hop, then chances are you're on CGN.

  • 3
    I would also suggest trying to tracert your own public IP address and see how far it is from you.
    – argaz
    Jan 26, 2017 at 11:01
  • 2
    tracert no my public IP goes nowhere! What does that mean?
    – marcolopes
    Mar 11, 2020 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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