使用Python獲取網(wǎng)段的IP個(gè)數(shù)以及地址清單需要用到IPy的庫(kù),而相應(yīng)的方法主要就是IP。
寫(xiě)小腳本如下:
1
2
3
4
5
6
7
8
9
|
from IPy import IP ip = IP( '192.168.0.0/16' ) print (ip. len ()) for x in ip: print (x) |
運(yùn)行結(jié)果:
GreydeMac-mini:01_系統(tǒng)基礎(chǔ)信息模塊詳解 greyzhang$ python ip.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
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 |
從上面的結(jié)果中可以看出,這個(gè)王端中共有65535個(gè)IP,同時(shí)腳本輸出了所有的IP地址清單。至于這個(gè)IP地址的含義可以再做一下簡(jiǎn)單的解釋。代碼中的192.168.0.0/16其實(shí)是一個(gè)私有地址網(wǎng)段。早起的網(wǎng)絡(luò)設(shè)計(jì)中,總是嘗試給所有的計(jì)算機(jī)分配一個(gè)固定的地址,但是隨著局域網(wǎng)的發(fā)展這個(gè)多少有點(diǎn)不必要了。私有的局域內(nèi)部網(wǎng)絡(luò)很多時(shí)候并不需要保護(hù)共有IP。未連接到互聯(lián)網(wǎng)上的機(jī)器并不需要使用唯一的IP地址,因?yàn)樗⒉辉谝蛱鼐W(wǎng)上路由,也不需要與IP地址注冊(cè)表協(xié)調(diào)。在RFC 1981中保留了IPV4的三個(gè)費(fèi)重疊地址,具體的地址說(shuō)明如下:
而代碼中,用到的便是上面表格中的第三個(gè)。針對(duì)前面兩個(gè)的網(wǎng)段IP數(shù)目進(jìn)行獲取如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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獲取網(wǎng)段IP個(gè)數(shù)以及地址清單的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/grey_csdn/article/details/70195393