如果 IPv4 地址不在地址范围内,我正在设置一个运行一些代码的过滤器,我正在使用 ipaddress python3 的模块,但这让我很困惑,因为它说 172.16.32.5 在 CIDR 172.16 中。 0.0/12,当这是错误的:
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from ipaddress import IPv4Address,IPv4Network
>>> ip_addr = IPv4Address('172.16.32.5')
>>> ip_net = IPv4Network('172.16.0.0/12')
>>> all_addr = list(ip_net.hosts())
>>> ip_addr in ip_net
True
>>> all_addr[-1]
IPv4Address('172.31.255.254')
如您所见, ip_addr 超出了该网络中的最后一个主机...
我做错了什么?这个模块有bug吗?