我想计算2个给定IP地址的IP地址数。
示例:127.0.1.10和127.0.0.200是67个IP地址..
这样做的简单方法是什么?
我见过其他例子,但我正在寻找一个Python示例。感谢。
答案 0 :(得分: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