我正在使用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
有谁知道为什么结果不同以及哪一个是正确的?谢谢!
答案 0 :(得分:2)
最后一个地址将是子网的广播地址,因此您无法将其提供给主机,第一个地址是网络的地址本身,也未分配给主机。所以两个来源都是正确的,它们只是告诉你不同的东西:python例程为你提供适合主机的IP,而网页则为你提供范围内的所有IP,包括网络和广播。