【发布时间】:2012-05-30 09:24:09
【问题描述】:
我正在使用 python-netaddr 库来处理 IP 地址和子网。我阅读了 netaddrd 的完整文档:Netaddr documentation。但没有找到任何解决我的问题的方法。我有一个 IP 地址和子网,我想通过使用它们来获取该 IP 的前缀。这样我就可以打印所有进入子网的 ip。
例如:
Ip Address: 192.0.2.0
Subnet Network: 255.255.255.0
It should return the prefix which is : 24
【问题讨论】:
-
24 是从哪里来的?
-
你试过吗?
IPAddress('192.0.2.0/255.255.255.0')?您可以获取该子网中所有地址的列表,并在您链接到的文档中提供示例。 -
是
/24是一种表示掩码255.255.255.0的方式,也是11111111.11111111.11111111.00000000 -
所以你想,给定一个点状网络掩码,得到前缀长度? ip地址在这里没有区别,是吗?
-
IPAddress() 不支持网络掩码或子网前缀!这就是为什么你需要使用 IPNetwork()
标签: python ip python-2.7 ip-address inetaddress