Здравствуйте.
Нашел в сети вот это - алгоритм получения списка IP адресов из диапазона. Работает если указываю любой диапазон, но только не /32. С ним спотыкается. Я в питоне вообще никак. Возможно ли поправить чтоб работало с /32?
Работу готов оплатить.
Спасибо.
import sys, struct, socket
(ip, cidr) = sys.argv[1].split('/')
cidr = int(cidr)
host_bits = 32 - cidr
i = struct.unpack('>I', socket.inet_aton(ip))[0] # note the endianness
start = (i >> host_bits) << host_bits # clear the host bits
end = start | (1 << host_bits)
# excludes the first and last address in the subnet
for i in range(start, end):
print(socket.inet_ntoa(struct.pack('>I',i)))