我想在python中使用ipaddress和subnetmask之间的按位操作查找网络id。我想使用这个传统方法,我的示例代码在这里
hostname=input("Enter the IP Address: ")
print(hostname)
if hostname >= "0.0.0.0" and hostname <= "127.255.255.255":
print("Class A")
print("The default subnet mask is: 255.0.0.0")
j=(hostname & 255.0.0.0)
print("The network id is ",j)
由于您正在接受输入,请始终确保对输入进行清理。 首先使用ipaddress.ip_interface()或
ipaddress.ip_network()
确保给定的输入是有效的IP另外,您的输入
hostname
是一个字符串,因此按位操作将失败一旦使用
ipaddresss.ip_address(hostname)
,您将得到一个IPv4Address
对象,它将允许您检查许多属性在
ipaddress
标准包中还有其他辅助函数,用于获取CIDR值和创建IPvXNetwork
对象,也许这就是您要查找的,请检查ipaddress HOW-TO大致如下:
注意:我对原始答案做了一些编辑,您可能想使用
ipaddress.ip_interface()
相关问题 更多 >
编程相关推荐