枚举域范围从192.55.22.0到192.56.22.0中的所有IP地址 [英] Enumerate all IP addresses in domain range from 192.55.22.0 to 192.56.22.0

查看:26
本文介绍了枚举域范围从192.55.22.0到192.56.22.0中的所有IP地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何通过python对192.55.22.0到192.56.22.0范围内的所有域名进行排序
我想在一个IP地址范围上执行一组网络任务。一旦范围变大,我就无法枚举范围内的所有主机。我希望能够使用网络掩码遍历网络中的所有主机 如果我将任何范围从一个范围传递到另一个范围以在范围

之间显示

推荐答案

您的示例有点令人困惑。"192.55.22.0"和"192.56.22.0"之间是什么?您写了"使用网络掩码遍历网络的所有主机",但该范围不是一个完整的网络。

在一般情况下,要从一个IP迭代到另一个IP,可以使用:

def ip_atoi(ip):
    return struct.unpack('!I', socket.inet_aton(ip))[0]
def ip_itoa(ip):
    return socket.inet_ntoa(struct.pack('!I', ip))

current = ip_atoi('192.55.22.0')
end = ip_atoi('192.56.22.0')

for ip in xrange(current, end):
    do_something_on(ip_itoa(ip))
如果您在这么多主机上快速执行网络操作有问题,请查看multiprocessing模块中的Pool。通过一次处理几台主机,它可能会加快您的操作速度。

这篇关于枚举域范围从192.55.22.0到192.56.22.0中的所有IP地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆