用于打印nslookup的Python脚本

时间:2017-08-03 15:49:42

标签: python nslookup

import os

ipRange = []
for i in range(1, 254):
    ipRange.append('192.168.5' + '.' + str(i)) 

for e in ipRange:
    print os.system('nslookup ' + str(e))

这为每个ip输出nslookup的完整输出 - 有没有办法丢弃空结果并使输出看起来更像这样?

192.168.5.5 testbox4
192.168.5.6 box3
192.168.5.8 hellobox
192.168.5.9 server2012
192.168.5.18 dnsbox
192.168.5.19 sallysbox
192.168.5.20 bobsbox
192.168.5.21 serverx

1 个答案:

答案 0 :(得分:2)

您需要使用系统吗?没有系统调用就可以了:

import socket

for i in range(0, 255):
    ipa = "130.233.192." + str(i)
    try:
        a = socket.gethostbyaddr(ipa)
        print (ipa, a[0])
    except socket.herror:
        pass

编辑:如果你想查询.255,则将255更改为256,但在C类网络中,这是广播地址而不是DNS。如果您正在通过A类或B类网络进行拖网,那么.255也可能有效