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())

最新文章

  1. kafka学习笔记:知识点整理
  2. {Reship}{Code}{CV}
  3. 赴美工作常识(Part 3 - 英语)
  4. cf592d
  5. 超赞!12套你没见过的社交媒体 &amp; 社交网站图标
  6. Regarding learning
  7. HDU 1285
  8. Python函数式编程初级学习
  9. Swift入门教程:基本语法(二)
  10. myeclipse6.0安装svn插件
  11. cakephp 复杂查询
  12. .Net程序猿需掌握的知识
  13. vmware中Ubuntu不能全屏展示的问题
  14. hbase thrift 定义
  15. Golang垃圾回收机制(二)
  16. Request的方法和数组
  17. vue使用$http服务端收不到参数
  18. 被遗忘的C结构体打包技术
  19. 搭建Harbor企业级docker仓库
  20. Linux集群之keepalive+Nginx

热门文章

  1. 第一次在stack overflow回答问题
  2. GPU使用
  3. LA 3126 出租车
  4. 【[COCI2011-2012#5] POPLOCAVANJE】
  5. React中的虚拟DOM
  6. [USACO17FEB]Why Did the Cow Cross the Road III G
  7. 2018.12.20 Spring环境如何搭建
  8. 添加模糊效果demo
  9. HashMap的工作原理-hashcode和equals原理的再次深入
  10. 【洛谷P1983】车站分级