使用Python獲取網段的IP個數以及地址清單需要用到IPy的庫,而相應的方法主要就是IP。
寫小腳本如下:
from IPy import IP ip = IP('192.168.0.0/16') print(ip.len()) for x in ip: print(x)運行結果:
GreydeMac-mini:01_系統基礎信息模塊詳解 greyzhang$ python ip.py
65536192.168.0.0192.168.0.1192.168.0.2192.168.0.3192.168.0.4192.168.0.5192.168.0.6192.168.0.7192.168.0.8192.168.0.9192.168.0.10192.168.0.11192.168.0.12192.168.0.13192.168.0.14192.168.0.15192.168.0.16192.168.0.17……………………192.168.255.241192.168.255.242192.168.255.243192.168.255.244192.168.255.245192.168.255.246192.168.255.247192.168.255.248192.168.255.249192.168.255.250192.168.255.251192.168.255.252192.168.255.253192.168.255.254192.168.255.255
從上面的結果中可以看出,這個王端中共有65535個IP,同時腳本輸出了所有的IP地址清單。至于這個IP地址的含義可以再做一下簡單的解釋。代碼中的192.168.0.0/16其實是一個私有地址網段。早起的網絡設計中,總是嘗試給所有的計算機分配一個固定的地址,但是隨著局域網的發展這個多少有點不必要了。私有的局域內部網絡很多時候并不需要保護共有IP。未連接到互聯網上的機器并不需要使用唯一的IP地址,因為它并不在因特網上路由,也不需要與IP地址注冊表協調。在RFC 1981中保留了IPV4的三個費重疊地址,具體的地址說明如下:
而代碼中,用到的便是上面表格中的第三個。針對前面兩個的網段IP數目進行獲取如下:
In [67]: ip1 = IP('172.16.0.0/12')In [68]: ip1.len()Out[68]: 1048576In [69]: ip2 = IP('10.0.0.0/8')In [70]: ip2.len()Out[70]: 16777216以上這篇使用Python獲取網段IP個數以及地址清單的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答