Python3 自动化运维之IPy 网络ip地址管理

1.环境准备

Python3.6

sublime text 3

IPy

2.安装

pip install IPy  或者 pip3 install IPy

3.代码

#ip地址 网段的基本处理
from IPy import IP

#定义ip网段
ip = IP("192.168.0.0/16")
#打印输出该网段的ip个数
print("该网段ip数:", ip.len())
#循环遍历打印输出ip
for x in ip:
	print(x)

#反向解析地址格式
ip = IP('192.168.1.130')
reverse = ip.reverseName()
print("反向解析地址格式:", reverse)
#获取地址类型
typeIP = ip.iptype()
print('获取地址类型:', typeIP)
print(IP('8.8.8.8').iptype())
#转换成整型格式
print('整型格式转换:',ip.int())
print('二进制格式转换:', ip.strBin())
print('十六进制格式转换:', ip.strHex())
print('十六进制转换成ip:',IP(0xc0a80182))

#根据ip和掩码生成网段格式
print('根据ip和掩码生成网段格式:',IP('192.168.1.0').make_net('255.255.255.0'))
print(IP('192.168.2.0/255.255.255.0', make_net=True))
print(IP('192.168.3.0-192.168.3.255', make_net=True))

#strNormal
#无返回值
print(IP('192.168.1.0/24').strNormal(0))
#prefix格式
print(IP('192.168.2.0/24').strNormal(1))
#decimalnetmask格式
print(IP('192.168.3.0/24').strNormal(2))
#lastIP格式
print(IP('192.168.4.0/24').strNormal(3))

#比较两个网段是否重叠 包含 
ip1 = IP('192.168.1.0/24')
ip2 = IP('182.168.1.0/24')
#数值类型的比较
print(ip1 > ip2)
#判断包含
print(IP('192.168.1.12') in IP('192.168.1.0/24'))
print(IP('192.168.1.0/24') in IP('192.168.0.0/16'))

#overlaps  1表示重叠 0不存在重叠
print(IP('192.168.0.0/23').overlaps('192.168.1.0/24'))
print(IP('192.168.1.0/24').overlaps('192.168.2.0/24'))

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值