1.區分ipv4與ipv6
ip('10.0.0.0/8').version
//4ip('::1').version
//6
2.ip類常見的方法
>>>from ipy import ip
>>>ip=ip('192.168.1.20')
>>>ip.reversename() #反向解析位址格式
>>>ip.iptype() #ip型別
>>>ip('8.8.8.8').int() #轉換成整形格式
>>>ip('8.8.8.8').strhex() #轉換成十六進製制
>>>ip('8.8.8.8').strbin() #轉換成二進位制
>>>print(ip(0x8080808)) #十六轉ip格式
3.ip方法支援網路位址的轉換
>>>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
4.通過strnormal()指定不同的wantprefixlen引數值定製不同輸出型別的網段,輸出型別為string
>>>ip('192.168.1.0/24').strnormal(0) #wantprefixlen=0,無返回。
>#'192.168.1.0'
>>>ip('192.168.1.0/24').strnormal(1) #wantprifixlen=1,prefix格式。
>#'192.168.1.0/24'
>>>ip('192.168.1.0/24').strnormal(2) #wantprifixlen=2,decimalnetmask格式。
>#'192.168.1.0/255.255.255.0'
>>>ip('192.168.1.0/24').strnormal(3) #wantprifixlen=3,lastip格式。
>#'192.168.1.0-192.168.1.255'
5.支援類似數值型資料的比較,以幫助ip物件進行比較。
>>>ip('10.0.0.0/24')'12.0.0.0/24')
>#true
判斷ip位址和網段是否包含與另乙個網段中
>>>'192.168.1.100'
in ip('192.168.1.0/24')
>#true
>>>ip('192.168.1.0/24') in ip('192.168.0.0/16')
>#true
判斷兩個網段是否存在重疊,overlaps()
>>>ip('192.168.0.0/23').overlaps('192.168.1.0/24')
#1 表示存在重疊
>>>ip('192.168.1.0/23').overlaps('192.168.2.0')
#0 表示不存在重疊
demo根據輸入的ip或子網返回網路,掩碼,廣播,反向解析,子網數,ip型別等資訊。
#!/usr/bin/python
from ipy import ip
#接收使用者輸入,引數為ip位址或網段位址
ip_s=input('please input an ip or net-range: ')
ips=ip(ip_s)
if len(ips) > 1: #為乙個網路位址
#輸出網路位址
print('net: %s' % ips.net())
#輸出網路掩碼位址
print('netmask: %s' % ips.netmask())
#輸出網路廣播位址
print('broadcast: %s' % ips.broadcast())
#輸出位址反向解析
print('reverse address: %s' % ips.reversenames()[0])
#輸出網路子網數
print('subnet: %s' % len(ips))
#輸出位址型別
print('iptype: %s' % ips.iptype())
else: #為單個ip位址
#輸出ip反向解析
print('reverse address: %s' % ips.reversenames()[0])
#輸出16進製制位址
print('hexadecimal: %s' % ips.strhex())
#輸出二進位制位址
print('binary ip: %s' % ips.strbin())
#輸出位址型別
print('iptype: %s' % ips.iptype())
Python之實用的IP位址處理模組IPy
在ip位址規劃中,涉及到計算大量的ip位址,包括網段 網路掩碼 廣播位址 子網數 ip型別等 別擔心,ipy模組拯救你。ipy模組可以很好的輔助我們高效的完成ip的規劃工作。wget source i ipy ipy 0.81.tar.gz no check certificate tar zxvf...
Python之實用的IP位址處理模組IPy
在ip位址規劃中,涉及到計算大量的ip位址,包括網段 網路掩碼 廣播位址 子網數 ip型別等 別擔心,ipy模組拯救你。ipy模組可以很好的輔助我們高效的完成ip的規劃工作。pip install ipy1.ipy模組包含ip類,使用它可以方便處理絕大部分格式為ipv6的網路和位址 比如通過vers...
獲取系統當前的程序及模組資訊
1 bool enumprocesses dword lpidprocess,dword cb,dword cbneeded 獲取當前系統的程序id列表。lpidprocess為儲存程序id的陣列,cb為陣列大小,cbneeded為實際的系統程序數 2 handle openprocess dwor...