系統基礎資訊模組詳解之實用的IPy筆記 二 筆記

2021-08-26 23:23:34 字數 2669 閱讀 5539

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...