自动化工具IPy

自动化工具–IPy

IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。Python提供了一个强大的第三方模块IPy,IPy模块可以很好地辅助我们高效完成IP的规划工作。

安装

pip install IPy

1、IP地址、网段的基本处理

IPy模块包含IP类,使用它可以方便处理绝大部分格式为IPv6及IPv4的网络和地址。

from IPy import IP

ip = IP("106.128.28.0/24")

# 查看IP地址的版本 IPV4/IPV6
print(ip.version())

# 查看当前IP段的IP地址个数
print(ip.len())

2、 获取网络的子网掩码、广播地址、网络前缀

# 查看IP地址的子网掩码
print(ip.netmask())

# 查看IP地址的网络前缀
print(ip.prefixlen())

# 查看IP地址的广播地址
print(ip.broadcast())

3、 IP地址反向解析、转进制、以及IPv4和IPv6相互转换

# IP地址反向解析
print(ip.reverseName())

# 判断IP地址的类型
print(ip.iptype())

# 把IP地址转换为整数
print(ip.int())

# IP地址进制转换
print(ip.strBin())  # 转换成二进制
print(ip.strHex())  
print(ip.strDec())

# IP地址v46转换
print(ip.v46map())

4、生成网段

# 生成网段
print(IP('101.106.0.1').make_net('255.255.0.0'))
print(IP("101.106.1.0-101.106.1.255", make_net=True))
print(IP("101.106.1.1/255.255.255.0", make_net=True))

5、获取不同类型

print(IP("101.106.10.0/24").strNormal())
print(IP("101.106.10.0/24").strNormal(1))
print(IP("101.106.10.0/24").strNormal(2))
print(IP("101.106.10.0/24").strNormal(3))

6、IP比较

# IP比较
print("101.106.10.115" in IP("101.106.10.0/24"))  # True代表在IP列表中

7、判断是否重叠

# 判断IP是否重叠
print(IP("101.106.100.0/23").overlaps("101.106.100.0/24"))  # 1 代表重叠
print(IP("101.106.100.0/25").overlaps("101.106.100.0/24"))  # 1
print(IP("101.106.200.0/23").overlaps("101.106.100.0/24"))  # 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值