#!/usr/bin/env python
#coding:utf-8
from IPy import IP

#区分出IPv4与IPv6
print IP('10.0.0.0/8').version() , IP('::1').version()

def wanduan():
    ip = IP('192.168.0.0/24')
    print ip.len() #网段的IP个数
    for x in ip:
        print x  #所有IP清单

def zhuanhuan():
    print IP("192.168.1.20").reverseNames() #反向解析地址格式
    print IP('8.8.8.8').iptype() #ip类型,公网'PUBLIC' 私网'PRIVATE'
    print IP("8.8.8.8").int()       #转换成整型格
    print IP('8.8.8.8').strHex()    #转换成十六进制格式
    print IP('8.8.8.8').strBin()    #转换成二进制格式
    print (IP(0x8080808))      #十六进制转成IP格式
    #根据IP与掩码生产网段格式
    print IP('192.168.1.0').make_net('255.255.254.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
    for i in range(4):
        print "strNormal(%s):%s" % (i,IP('192.168.1.0/24').strNormal(i))

def jishuan(ip_s):
    ips = IP(ip_s)
    if len(ips) > 1: #多个地址
        print("网络地址: %s" % ips.net())
        print("网络掩码: %s" % ips.netmask())
        print("广播地址: %s" % ips.broadcast())
        print('地址反向解析: %s' % ips.reverseNames()[0])
        print('网络子网数: %s' % len(ips))
    else:
        #为单个IP地址   
        print ('IP反向解析: %s' % ips.reverseNames ()[0]) 
        print ('十六进制地址: %s' % ips.strHex ())
        print ('二进制地址: %s' % ips.strBin ())
        print ('iptype: %s' % ips.iptype ())    #输出地址类型,如PRIVATE、PUBLIC、LOOPBACK等

results matching ""

    No results matching ""