如何使用python检查网络中是否包含IP?

时间:2013-08-29 17:23:32

标签: python inetaddress

如何使用python检查网络中是否包含IP?

例如:

# pseudo code
IP('10.40.0.1').contained_in(CDIR('10.40.0.0/24)) == True

1 个答案:

答案 0 :(得分:4)

使用Python 3.3+ ipaddress

>>> import ipaddress
>>> ipaddress.ip_address('10.40.0.1') in ipaddress.ip_network('10.40.0.0/24')
True
>>> ipaddress.ip_address('10.40.2.1') in ipaddress.ip_network('10.40.0.0/24')
False

还有backport of ipaddress

使用ipaddr

>>> import ipaddr
>>> ipaddr.IPAddress('10.40.0.1') in ipaddr.IPNetwork('10.40.0.0/24')
True
>>> ipaddr.IPAddress('10.40.2.1') in ipaddr.IPNetwork('10.40.0.0/24')
False