如何获取包含给定 IP 地址的 /8 子网。例如,子网 10.0.0.0/8 用于 ip 10.1.1.1
我为机智的netaddr lib尝试了它,但它没有做它应该做的事情
network = netaddr.IPNetwork(ip)
network.prefixlen=8
ip_subnet=network.cidr
ip 是给定的 ip 地址
如何获取包含给定 IP 地址的 /8 子网。例如,子网 10.0.0.0/8 用于 ip 10.1.1.1
我为机智的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')