[英]Python how get /8 subnet for an IP addres
如何获得包含给定IP地址的/ 8子网。 例如,用于IP 10.1.1.1的子网10.0.0.0/8
我为wit netaddr lib尝试了一下,但是它没有做应该做的事情
network = netaddr.IPNetwork(ip)
network.prefixlen=8
ip_subnet=network.cidr
ip是给定的ip地址
使用ipaddr,首先安装模块
pip install ipaddr
然后从中导入IPv4Network
from ipaddr import IPv4Network
masknet = IPv4Network('192.168.1.1') # Ip Address
print masknet.netmask
# OR
masknet = IPv4Network('192.168.1.1/8')
print masknet.netmask
结果:
>>> print masknet.netmask
255.255.255.255
>>> print masknet.netmask
255.0.0.0
创建IPNetwork()后可以使用ip.network
ip = IPNetwork('10.1.1.1/8')
ip.network
Out[48]: IPAddress('10.0.0.0')
ip = IPNetwork('10.1.1.1/16')
ip.network
Out[50]: IPAddress('10.1.0.0')
ip = IPNetwork('10.1.1.1/24')
ip.network
Out[52]: IPAddress('10.1.1.0')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.