Infi-chu:

http://www.cnblogs.com/Infi-chu/

模块:IPy

功能:辅助我们高效的完成IP的规划工作

安装:

wget https://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz --no-check-certificate

tar -zxvf Ipy-0.81.tar.gz
cd IPy-0.81
python setup.py install

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

使用方法:

#from IPy import IP

#ip_1 = IP('192.168.1.0/24')

#print(ip_1.len()) # 输出192.168.1.0/24网段的IP个数

#for a in ip_1:

# print(a) # 输出192.168.1.0/24网段的所有IP清单

IP地址的转化:

#from IPy import IP

#ip_2 = IP('192.168.1.1')

#ip_2.reverseNames() # 反响解析地址格式

#ip_2.iptype() # 查看IP地址类型

#ip_2.int() # 将格式转换为整型格式

#ip_2.strHex() # 将格式转换为16进制格式

#ip_2.strBin() # 将格式转换为2进制格式

#print(IP(0x8188808)) # 将16进制转化为IP格式

IP网段的转化:

#from IPy import IP

# 输出192.168.1.0/24

#print(IP('192.168.1.0').make_net('255.255.255.0'))

#print(IP('192.168.1.0/255.255.255.0',make_net=True))

#print(IP('192.168.1.0-192.168.1.255',make_net=True))

# 通过strNormal() 方法指定上述三种格式的输出:

#print(IP('192.168.1.0/24').strNormal(0)) # 参数(wantprefixlen)为0,无返回,输出192.168.1.0

#print(IP('192.168.1.0/24').strNormal(1)) # 参数(wantprefixlen)为1,prefix格式,输出192.168.1.0/24

#print(IP('192.168.1.0/24').strNormal(2)) # 参数(wantprefixlen)为2,decimalnetmask格式,输出192.168.1.0/255.255.255.0

#print(IP('192.168.1.0/24').strNormal(3)) # 参数(wantprefixlen)为3,lastIP格式,输出192.168.1.0-192.168.1.255

多网络计算方法:

功能:比较两个网段是否存在包含、重叠等关系,比如192.168.1.0/24 和192.168.1.0/25;192.168.0.0/24 和192.168.1.0/24

使用方法:

#from IPy import IP

#IP('192.168.0.0/24')<IP('192.168.1.0/24')

# 判断IP地址和网段是否包含于另一个网段中

#'192.168.1.1' in IP('192.168.1.0/24')

# 判断两个网段是否存在重叠,使用overlaps()方法

#IP('192.168.0.0/23').overlaps('192.168.1.0/24') # 返回1,表示重叠

#IP('192.168.1.0/24').overlaps('192.168.2.0/24') # 返回0,表示没有重叠

根据输入的IP地址或网段地址,返回网络地址、广播地址、地址反响解析、子网数、IP类型等信息:

#from IPy import IP

#ip_inp=raw_input('输入IP地址或网段地址')

#ip=IP(ip_inp)

#if len(ip)>1: # 是一个网段

# print('网络地址是:%s' %ip.net())

# print('子网掩码是:%s' %ip.netmask())

# print('广播地址是:%s' %ip.broadcast())

# print('地址反向解析:%s' %ip.reverseName()[0])

# print('网络子网数为:%s' %sip.len())

#else: # 是一个IP地址

# print('IP地址反向解析:%s' %ip.reverseName()[0])

#

#print('16进制地址:%s' %ip.strHex())

#print('2进制地址:%s' %ip.strBin())

#print('IP地址类型:%s' %ip.iptype())

Python自动化运维——IP地址处理模块的更多相关文章

  1. Python自动化运维之10、模块之json、pickle、XML、PyYAML、configparser、shutil

    序列化 Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类 ...

  2. Python自动化运维之9、模块之sys、os、hashlib、random、time&datetime、logging、subprocess

    python模块 用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需 ...

  3. Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|

    内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...

  4. Python之实用的IP地址处理模块IPy

    实用的IP地址处理模块IPy 在IP地址规划中,涉及到计算大量的IP地址,包括网段.网络掩码.广播地址.子网数.IP类型等 别担心,Ipy模块拯救你.Ipy模块可以很好的辅助我们高效的完成IP的规划工 ...

  5. python自动化运维之CMDB篇-大米哥

    python自动化运维之CMDB篇 视频地址:复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Oj_sglTi2P1CMjfMkYKwCQ  ...

  6. Ansible自动化运维工具及其常用模块

    Ansible自动化运维工具及其常用模块 目录 Ansible自动化运维工具及其常用模块 一.Ansible简介 1. Ansible概述 2. Ansible作用 3. Ansible的工作模块 4 ...

  7. python自动化运维学习第一天--day1

    学习python自动化运维第一天自己总结的作业 所使用到知识:json模块,用于数据转化sys.exit 用于中断循环退出程序字符串格式化.format字典.文件打开读写with open(file, ...

  8. 【目录】Python自动化运维

    目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 ...

  9. Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...

随机推荐

  1. python中的 if __name__ == “__main__”: 有什么用

    https://stackoverflow.com/questions/419163/what-does-if-name-main-do# 问题: What does if name == " ...

  2. oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期

    首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$   ...

  3. websocket常见错误

    当websockt连接是open的时候send()方法传送数据,当连接关闭或获取不到的时候回抛出异常. 一个通常的错误是人们喜欢在连接open之前发送消息.如下所示: // 这将不会工作 var ws ...

  4. C++学习之【使用位操作符求素数分析】

    先放普通代码: #include <iostream> using namespace std; void getPrime_1() { const int MAXN = 100; boo ...

  5. 出租WiFi到底靠不靠谱?

    创业是一种心态,也是不断的探索,他融入我们的生活,从日常中积累,从小微处启航. 一.背景交代 最近在换工作,本周搬到新租的单身公寓,空间不大,倒是干净整洁.委托租房中介帮忙开通宽带,告知是电信网最低开 ...

  6. Shell脚本学习之expect命令

     转载:http://blog.csdn.net/leexide/article/details/17485451 目录(?)[-] 一概述 二expect的安装 一Tcl 安装 二expect 安装 ...

  7. MVC学习一:MVC简单流程

    MVC学习一:MVC初次接触 1.MVC简单流程 1.1.服务器接收客户端请求后,解析URL(根据 路由表里配置的URL来分析 类名(控制器名)和方法名)根据请求的类名,创建对应的控制器类对象,并调用 ...

  8. 【洛谷P1265】公路修建

    公路修建 题目链接 分析题意,可以发现,在(1)的条件下,(2)的情况是不会发生的, 于是直接求MST(Min Set Tree) 然而稠密图克鲁斯卡尔会TLE,建图还会爆空间, 所以用prime,用 ...

  9. android jni 之C语言基础

    *含义 1.乘法 3*5 2.定义指针变量 int * p://定义了一个名字叫p的变量,能够存放int数据类型的地址 3.指针运算符, //如果p是一个已经定义好的指针变量则*p表示以p的内容为地址 ...

  10. jquery插件layer

    //信息框-例1 layer.alert('见到你真的很高兴', {icon: 6}); //信息框-例2 layer.confirm('你确定你很帅么?', {icon: 3}, function( ...