2017-08-03 6 views
1
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)) 

Ceci produit la sortie complète de nslookup pour chaque ip - est-il un moyen de jeter les résultats vides et rendent la sortie plus comme ça?script Python pour imprimer 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 

Répondre

2

Avez-vous besoin d'utiliser le système? Cela ferait sans appel du système:

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 

EDIT: changer 255-256 si vous voulez interroger 0,255 mais aussi bien dans les réseaux de classe C c'est l'adresse de diffusion et non dans le DNS. Si vous naviguez dans les réseaux de classe A ou B, alors .255 pourrait également être valide