python操作IP---IPy模块

第一part:介绍及安装


 IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能,可扩展性等方面,在这个过程中,需要计算大量的IP地址,

包括网段,网络掩码,广播地址,子网数,IP类型等。python中使用IPy库可以高效的完成IP的规划工作。

安装:pip  install IPy


 第二part:python操作IPy模块

 


 

IP地址,网段的基本处理

IPy模块包括IP类,使用它可以方便处理绝大部分的ipv4以及ipv6的网络和地址

(1)获取IP的协议版本:

# 查看IP的协议
print(IP("12.12.1.1").version())
print(IP("fe80::6111:d4dd:b65d:1535").version())

 

 

 

 

(2)获取IP的类型

print(IP("192.168.0.1").iptype())
print(IP("11.1.1.2").iptype())

 

 

(3)获取指定网段的IP的清单信息

ip=IP("10.0.0.0/28")
#ip的起始点
print(ip.net())
#ip的子网掩码
print(ip.netmask())
#ip的广播地址
print(ip.broadcast())

 

 

 

(4)IP地址的反转

ip=IP("12.13.14.15")
#IP地址反转

 

 

 

(5)IP地址的进制转换

ip=IP("12.13.14.15")
#将IP地址转换为十进制
print(ip.int())
#将IP地址转换为二进制
print(ip.strBin())
#将IP地址转换为八进制
print(ip.strHex())

 

 

 

 

(6)遍历获取一个网段的所有IP地址

ip=IP("10.0.0.0/28")
#计算网段内ip的个数
print(ip.len())
#遍历打印网段内的每一个IP
for i in ip :
print(i)

 

(7)子网掩码为16与子网掩码掩码为24的局域网的比较与计算

#大局域网段
print(IP("192.168.0.0-192.168.255.255",make_net=True))
#小局域网段
print(IP("192.168.1.0-192.168.1.255",make_net=True))
ip=(IP("192.168.0.0/16"))
print(ip.len())#网段IP的个数
print(ip.strNormal(0))#起始IP
print(ip.strNormal(1))#网段
print(ip.strNormal(2))#子网掩码
print(ip.strNormal(3))#IP段落
ip1=(IP("192.168.1.0/24"))
print(ip1.len())
print(ip1.strNormal(0))
print(ip1.strNormal(1))
print(ip1.strNormal(2))
print(ip1.strNormal(3))

 

 

(8)已知一个IP和子网掩码,计算其属于的网段

a="12.12.1.12"b=24# subnet=IP(a).make_net(24).strNormal()subnet=IP(a).make_net(24).strNormal(1)print(subnet)

 

 

 

(9)判断一个IP地址是否在一个网段

print("12.11.12.133" in IP("12.11.12.0/24"))

 

 

 

posted @ 2021-04-05 15:00  小珊子  阅读(2010)  评论(0编辑  收藏  举报