簡體   English   中英

Python如何獲取IP地址的/ 8子網

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM