Jacob Gabrielson Jacob Gabrielson - 10 months ago 89
Python Question

How do you determine if an IP address is private, in Python?

In Python, what is the best way to determine if an IP address (e.g.,

'127.0.0.1'
or
'10.98.76.6'
) is on a private network? The code does not sound difficult to write. But there may be more edge cases than are immediately apparent, and there's IPv6 support to consider, etc. Is there an existing library that does it?

Answer Source

Check out the IPy module. If has a function iptype() that seems to do what you want:

>>> from IPy import IP
>>> ip = IP('127.0.0.0/30')
>>> ip.iptype()
'PRIVATE'