ip地址處理模塊IPy
阿新 • • 發佈:2017-08-24
python 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‘ >>>
本文出自 “天道酬勤” 博客,謝絕轉載!
ip地址處理模塊IPy