from struct import *
from socket import *
for ip in xrange(unpack('!I',inet_pton(AF_INET,"1.47.0.0"))[0],unpack('!I',inet_pton(AF_INET,"1.51.255.255"))[0]):
print inet_ntop(AF_INET,pack('!I',ip));
f = unpack('!I',inet_pton(AF_INET,"1.47.0.0"))[0]
l = unpack('!I',inet_pton(AF_INET,"1.51.255.255"))[0]
while f < l:
print inet_ntop(AF_INET,pack('!I',f));
f = f + 1
这样,遍历IPv6地址也将非常容易,但是由于IPv6空间的巨大性,我不推荐这样做。