我想通过Python3,ipaddress
模块列出给定网络范围的有效主机,但在尝试列出所有有效的主机时收到ValueError ValueError('%s has host bits set' % self)
。IP地址模块ValueError('%s有主机位设置'%self)
>>> ip_range=input("Enter IP Range:")
Enter IP Range:192.168.56.101/16
>>> list(ipa.ip_network(ip_range).hosts())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/ipaddress.py", line 74, in ip_network
return IPv4Network(address, strict)
File "/usr/local/lib/python3.5/ipaddress.py", line 1536, in __init__
raise ValueError('%s has host bits set' % self)
ValueError: 192.168.56.101/16 has host bits set
不知道这应该是评论,还是答案,或者可能更好的链接到体面的文档。 IP地址有两部分,“网络部分”和“主机部分”。网络部分排在第一位,主机部分排在第二位。 '/'后面的数字表示有多少位是“网络部分”。实际上,这是用于路由的部分。主机部分用于查找主机,一旦找到网络。 – Vatine