使用Python獲取網段IP個數以及地址清單的方法

今天小編就爲大家分享一篇使用Python獲取網段IP個數以及地址清單的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用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

65536

192.168.0.0

192.168.0.1

192.168.0.2

192.168.0.3

192.168.0.4

192.168.0.5

192.168.0.6

192.168.0.7

192.168.0.8

192.168.0.9

192.168.0.10

192.168.0.11

192.168.0.12

192.168.0.13

192.168.0.14

192.168.0.15

192.168.0.16

192.168.0.17

……………………

192.168.255.241

192.168.255.242

192.168.255.243

192.168.255.244

192.168.255.245

192.168.255.246

192.168.255.247

192.168.255.248

192.168.255.249

192.168.255.250

192.168.255.251

192.168.255.252

192.168.255.253

192.168.255.254

192.168.255.255

從上面的結果中可以看出,這個王端中共有65535個IP,同時腳本輸出了所有的IP地址清單。至於這個IP地址的含義可以再做一下簡單的解釋。代碼中的192.168.0.0/16其實是一個私有地址網段。早起的網絡設計中,總是嘗試給所有的計算機分配一個固定的地址,但是隨着局域網的發展這個多少有點不必要了。私有的局域內部網絡很多時候並不需要保護共有IP。未連接到互聯網上的機器並不需要使用唯一的IP地址,因爲它並不在因特網上路由,也不需要與IP地址註冊表協調。在RFC 1981中保留了IPV4的三個費重疊地址,具體的地址說明如下:

Python 獲取網段IP個數以及地址清單

而代碼中,用到的便是上面表格中的第三個。針對前面兩個的網段IP數目進行獲取如下:

In [67]: ip1 = IP('172.16.0.0/12')


In [68]: ip1.len()

Out[68]: 1048576


In [69]: ip2 = IP('10.0.0.0/8')


In [70]: ip2.len()

Out[70]: 16777216

以上這篇使用Python獲取網段IP個數以及地址清單的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章