ITPub博客

首页 > 数据库 > 数据库开发技术 > Python自动化运维 : IPy模块

Python自动化运维 : IPy模块

原创 数据库开发技术 作者:小安 时间:2019-06-23 23:18:40 0 删除 编辑

Python自动化运维




网络基础之IPy模块

亲爱的老铁们,大家好!我是你们的小安老师,好久没有发文章了,前段时间又是搬家又是断网的,最近电脑还进一大杯水了,但是我的小微信群一直都有在为大家解答喔,有兴趣的伙伴可以加入我们小群一起学习讨论喔!

(方法: 加 小安老师 的微信号 : chanson_258,备注:加群学习)


接下来几次分享,主要涉及网络基础方面,原因如下:

1. 为自动化运维打下坚实的基础。

2. 最近恰好有这样的需求。


本文大纲
Attention

1.  IPy模块介绍

2.  IPy模块的基本使用

3.  网段管理

4.  多网络计算方法

5.  IPy模块案例



1 IPy模块介绍


在网络设计中,首先要做的就是规划IP地址。IP地址的好坏直接影响路由算法的效率,包括网络性能和可扩展性。在IP地址规划中,需要进行大量的IP地址计算,包括网段,网络掩码,广播地址,子网数,IP类型等计算操作。在大量计算操作中,如果没有一个好的工具,计算ip地址是一个很无趣又容易出错的事情。在Perl语言中,可以使用NET::IP模块,在Python语言中可以使用开源的IPY模块进行操作。



2 IPy模块的基本使用


IPY模块是一个处理IP地址的模块,它能够自动识别IP地址的版本,IP地址的类型,使用模块可以方便进行IP地址的计算。


2.1  安装模块

pip install ipy


2.2  常见方法


1)十六进制变身IP地址

2)IP地址还是IP地址


3)网段还是网段


4)IPv6 地址还是IPv6地址

5)地址范围输出网段


2.3  获取IP地址版本

1)IPv4版本

2)IPv6版本




2.4  获取子网IP地址个数



2.5  获取IP地址类型

1)LOOPBACK 类型

2)Private 类型

3)Public 类型



2.6  获取IP地址的整数形式

1)IP地址 转 INT整型

2)INT整型 转 IP地址


3)strHex:返回IP地址的十六进制形式


4)strBin:返回IP地址的二进制形式


5)Mysql的IP地址和整型转换




3 网段管理



3.1  显示网段的方法




3.2  显示网段中的IP地址



3.3  strNormal方法

strNormal方法,该方法接受一个 wantprefixlen  参数,参数的合法取值0~3,每一个取值代表网段的显示方式。


1)显示IP地址

2)显示网段的三种方式




4 多网络计算方法


4.1  比较大小


4.2  包含关系


网段包含关系,全包含才True喔




4.3  网络是否重叠

返回0代表存在不重叠,返回1代表存在重叠




5 IPy模块案例


5.1  案例源码

# _*_ coding:utf-8 _*_
from IPy import IP

inp_ip = input("please input an IP or net-range:")
iplist = IP(inp_ip)
if len(iplist) > 1:
    print('1. 网络地址    :%s' % iplist.net())
    print('2. 网络掩码地址:%s' % iplist.netmask())
    print('3. 网络广播地址:%s' % iplist.broadcast())
    print('4. 子网地址个数:%s' % len(iplist))
    print('5. 反向解析地址:%s' % iplist.reverseNames())
else:
    print('1. 反向解析地址:%s' % iplist.reverseNames())
    print('2. IP地址类型    :%s' % iplist.iptype())
    print('3. 十进制形式  :%s' % iplist.strHex())
    print('4. 十六进制形式:%s' % iplist.strHex())
    print('5. 二进制形式  :%s' % iplist.strBin())


5.2  代码示范

1)输入网段方式一

2)输入网段方式二

3)输入网址


总结


总结一下,IPy模块的使用方法并不是很难,但我相信就是这些小的东西,不断组合并放在各种各样的项目代码里,会放出不一样的光彩。



另外,小安老师的微信群已经建好了,等着老铁们呢!如果老铁们想和小安老师一起学习,欢迎加入一起探讨喔~

对了,接下来小安老师会分享一大波关于Python网络的知识,敬请期待,非常感谢!


往期回顾

Python切割文件教程一 | 我的“大马士革命刀"

Python切割文件教程二 | 我的“大马士革命刀"不Like补刀

Django博客教程一  |  Django架构介绍

Django博客教程二  |  Django入门版博客

Django博客教程三  |  Django进阶版博客数据篇

Django博客教程四  |  Django进阶版博客网页篇


Python自动化运维

作者微信 : Chanson_258

欢迎加群,一起学习喔~

扫二维码,关注我们



原文作者:Python自动化运维;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-10-07

  • 博文量
    47
  • 访问量
    17922