python:ipaddress包输出与CIDR网站不一致

时间:2016-11-28 22:26:15

标签: python python-3.x ip-address cidr

我正在使用python ipaddress包转换一些CIDR,如:

import ipaddress
net4 = ipaddress.ip_network(u'10.120.160.0/19')
for x in net4.hosts():
    print(x)

上述代码的first_ip输出为10.120.160.1,而上述代码中的last_ip为10.120.191.254

但是,如果我使用网站http://www.ipaddressguide.com/cidr进行转换:first_ip变为10.120.160.0而last_ip变为10.120.191.255

有谁知道为什么结果不同以及哪一个是正确的?谢谢!

1 个答案:

答案 0 :(得分:2)

最后一个地址将是子网的广播地址,因此您无法将其提供给主机,第一个地址是网络的地址本身,也未分配给主机。所以两个来源都是正确的,它们只是告诉你不同的东西:python例程为你提供适合主机的IP,而网页则为你提供范围内的所有IP,包括网络和广播。