【发布时间】:2012-12-29 06:48:07
【问题描述】:
我在质疑 Python 的 ipcalc 模块 (ipcalc) 的结果(似乎 netaddr 可能是更好的选择)。
我们以192.168.1.25/30 为例。在二进制中,最后一个八位字节是00011001 AND 11111100 = 00011000,所以我得到192.168.1.24 作为网络ID 和范围192.168.1.24 - 192.168.1.27。
当我指定时使用 ipcalc
subnet = ipcalc.Network('192.168.1.25/30')
for x in subnet: print x
输出是
192.168.1.25
192.168.1.26
192.168.1.27
192.168.1.28
我不理解不一致之处。使用 CIDR 表示法时,似乎同时指定 192.168.1.24/30 和 192.168.1.25/30(或 .26/30 或 .27/30)指的是同一个子网。
正确吗?这只是 ipcalc 模块中的一个错误吗?
【问题讨论】:
标签: python ip-address cidr