ip地址处理模块IPy

下载以及安装:

下载地址:https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz

tar -zxvf IPy-0.83.tar.gz

cd IPy-0.83

python setup.py install



可以用version的方法区分IPV4或者IPV6,如下面的代码,返回4就是ipv4,返回6就是IPV6.

>>> from IPy import IP
>>> IP(‘192.0.0.0/16‘).version()  
4
>>> IP(‘::2‘).version()
6
>>>

通过指定的网段输出该网段的IP个数以及IP地址的清单:

>>> import tab
>>> from IPy import IP
>>> ip = IP(‘192.168.1.0/24‘) 
>>> print ip.len()
256
>>> for x in ip:
    print x
    
192.168.1.0
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13 
.......

下面介绍IP类的几个常见的方法,包括反向解析域名,IP类型,IP转换等。

>>> import tab
>>> from IPy import IP
>>> ip = IP(‘192.168.1.107‘)
>>> ip.reverseNames()
[‘107.1.168.192.in-addr.arpa.‘]
>>> ip.iptype()                            #私有地址
‘PRIVATE‘
>>> IP(‘202.15.15.6‘).iptype()
‘PUBLIC‘                                    #公有地址
>>> IP("8.8.8.8").int()
134744072                                #转化为整形格式
>>> IP("8.8.8.8").strHex()
‘0x8080808‘                                #转换成十六进制
>>> IP("8.8.8.8").strBin()
‘00001000000010000000100000001000‘       #转换成二进制             
>>> print (IP(0x8080808))
8.8.8.8                                #十六进制转换为IP格式
>>>

IP方法也支持网络地址的转换,如下:

>>> import tab
>>> from IPy import IP
>>> print (IP(‘192.168.1.0‘).make_net(‘255.255.255.0‘))
192.168.1.0/24
>>> print (IP(‘192.168.1.0/255.255.255.0‘,make_net=True))
192.168.1.0/24
>>> print (IP(‘192.168.1.0-192.168.1.255‘,make_net=True))
192.168.1.0/24
>>>

当然也可以反过来:

>>> import tab
>>> from IPy import IP
>>> IP(‘192.168.1.0/24‘).strNormal(0)
‘192.168.1.0‘
>>> IP(‘192.168.1.0/24‘).strNormal(1)
‘192.168.1.0/24‘
>>> IP(‘192.168.1.0/24‘).strNormal(2)
‘192.168.1.0/255.255.255.0‘
>>> IP(‘192.168.1.0/24‘).strNormal(3)
‘192.168.1.0-192.168.1.255‘
>>>


时间: 2024-10-12 08:13:53

ip地址处理模块IPy的相关文章

Python学习笔记-IP地址处理模块Ipy

IP地址处理模块Ipy IPy模块可以很好的辅助我们高效完成IP的规划工作. 参考:https://github.com/autocracy/python-ipy 安装IPy模块 [[email protected] ~]# python36 -m easy_install -i http://pypi.douban.com/simple/ IPy 导入模块 In [12]: from IPy import IP 1.IP地址.网段的基本处理 通过version区分IPv4和IPv6: In [

【python】IP地址处理模块IPy

来源:https://pypi.python.org/pypi/IPy IPy模块 该模块可以方便的处理IPv4和IPv6地址. 以下是从来源中拷贝的一些例子: >>> from IPy import IP>>> ip = IP('127.0.0.0/30')>>> for x in ip:... print(x)...127.0.0.0127.0.0.1127.0.0.2127.0.0.3>>> ip2 = IP('0x7f0000

Python自动化运维——IP地址处理模块

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地址.网段的基本处理: 使用方法: #fro

写一个简单的python脚本来返回ip地址的掩码,子网个数等

如果我们想快速得到一个IP地址段有多少个ip,快速得到IP地址段的子网掩码,或者快速得到一个IP地址的二进制,那么可以来学习一下.本文利用python的一个IP分析模块IPy实现,首先安装IPy模块 wget https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz tar -xf IPy-0.83.tar.gz cd IP

Python 输入IP地址及掩码告诉你该网段包含的全部地址(IPy模块练习)

IPy模块原本使用时需要输入正确的网络位和掩码,我利用处理报错的机制实现了输入任意IP地址和掩码均可正确输出结果的小程序. 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2017-09-04 21:57:15 4 # @Author : EnderZhou ([email protected]) 5 # @Link : http://www.cnblogs.com/enderzhou/ 6 # @Version : $

1.Python中IP地址处理IPy模块

安装 先下载源码,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解压后使用命令python setup.py install安装. 使用 1.显示IP类型 >>> IP('192.168.1.1').version() 4 >>> IP('::1').version() 6类似如上所示,通过version方法可以的判断输入的IP是IPv4还是IPv6 . 2

python之IP地址或IP段处理模块-ipaddr

python处理IP和IP段的模块基本有两个:IPy与ipaddr IPy基本处理8位.16位.24位掩码的网段,其他的网段处理起来就会出现问题. ipaddr是google出的一个模块,很好的可以处理模块IPy不能解决这个问题,所以建议使用模块ipaddr! 模块地址:http://pythonhosted.org/ipaddr/ 使用介绍: Class总共分为:BaseIP.IPv4.IPv6 ipaddr.IPv4Network()    ipv4网段对象建立 ipaddr.IPv6Net

【Python】 http客户端库requests & urllib2 以及ip地址处理IPy

requests requests是个HTTPClient库,相比于urllib,urllib2等模块比更加简洁易用 ■ get请求 作为示例,讲一下关于requests如何发起并处理一个get请求 r = requests.get("http://www.baidu.com") #可以加入timeout参数来设置超时 r是一个Response对象,可以用r查看很多信息 如r.status_code 查看本次请求的http返回码 r.headers 头部信息(是个类字典对象) r.ur

编写iptables模块实现不连续IP地址的DNAT-POOL

1.背景 <路由应用-使用路由实现负载流量均衡>的第3.3节,并没有给出如何配置一个pool,那是因为在Linux 2.6.10之上,已经不再支持配置不连续IP地址的pool了,如果看iptables的man手册,将会得到以下信息: In  Kernels up to 2.6.10 you can add several --to-destination options. For those kernels, if you specify more than one destination