2014-07-03 33 views
0

我想計算2個給定IP地址的IP地址數量。有沒有簡單的方法來計算來自2個給定IP地址的IP數量?

例如:127.0.1.10和127.0.0.200是67個的IP地址..

什麼是這樣做的簡單的方法?

我見過其他的例子,但我正在尋找一個Python例子。謝謝。

+2

所以你基本上要求如何做基地256減法?你試過什麼了? – dg99

+2

將IP轉換爲數字,然後減去。 – Barmar

+0

用於更一般的IP計算,例如在'/ 24'網絡中列出IP,請參閱https://docs.python.org/3/howto/ipaddress.html – johntellsall

回答

3
>>> import socket 
>>> def iptoint(ip): 
...  return int(socket.inet_aton(ip).encode('hex'), 16) 
... 
>>> iptoint('127.0.0.200') 
2130706632 
>>> iptoint('127.0.1.10') - iptoint('127.0.0.200') 
66 
>>> def ipdistance(ip1, ip2): 
...  return abs(iptoint(ip1) - iptoint(ip2)) + 1 
... 
>>> ipdistance('127.0.1.10', '127.0.0.200') 
67 
+1

添加1使其包含兩個端點。 – Barmar

相關問題