码迷,mamicode.com
首页 > 编程语言 > 详细

python操作IP---IPy模块

时间:2021-04-07 10:34:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:转换   src   png   类型   设计   lazy   信息   --   完成   

第一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)
技术图片

 

 

python操作IP---IPy模块

标签:转换   src   png   类型   设计   lazy   信息   --   完成   

原文地址:https://www.cnblogs.com/smilecindy/p/14608872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!