1. 程式人生 > >python IP地址處理模組IPy

python IP地址處理模組IPy

獲取制定網段IP地址個數和地址清單,並存儲至列表中

import IPy available_ips = [ ] ips = IPy.IP( ’ 22.27.66.128/25 ’ ) print( ips.len() ) #列印IP地址個數 for ip in ips: available_ips.append( ip )

print( available_ips ) #列印IP地址清單

反向解析名稱,IP型別,IP轉換

import IPy ip = IPy.IP(‘192.168.1.20’) ip.reverseName() ‘20.1.168.192.in-addr.arpa.’ ip.iptype() ‘PRIVATE’ ip1 = IPy.IP(‘8.8.8.8’) ip1.iptype() ‘PUBLIC’ ip1.int() 134744072 ip1.strBin() ‘00001000000010000000100000001000’ ip1.strHex() ‘0x8080808’ print( IPy.IP(‘0x8080808’) ) 8.8.8.8 print( IPy.IP(134744072) ) 8.8.8.8

網路地址的轉換,根據IP和子網掩碼生成網段格式

print( IPy.IP(‘192.168.1.3’).make_net(‘255.255.255.128’) ) print( IPy.IP(‘192.168.1.0/255.255.255.0’, make_net=True) ) print( IPy.IP(‘192.168.1.0-192.168.1.255’, make_net=True) ) 輸出結果為: 192.168.1.0/25 192.168.1.0/24 192.168.1.0/24

通過strNormal方法制定不同wantprefixlen引數在定製不同輸出型別的網段,出書型別為字串 ip = IPy.IP(‘192.168.1.0/24’)

print( ip.strNormal(0) ) #無返回 print( ip.strNormal(1) ) #prefix型別 print( ip.strNormal(2) ) #decimalnetmask格式 print( ip.strNormal(3) ) #lastIP格式 輸出結果為: 192.168.1.0 192.168.1.0/24 192.168.1.0/255.255.255.0 192.168.1.0-192.168.1.255