[英]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.