2017-08-03 73 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)) 

這將輸出每個ip的nslookup的完整輸出 - 是否有一種方法可以丟棄空結果並使輸出看起來更像這樣?Python腳本打印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 

回答

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以及但是在C類網絡,這是廣播地址而不是DNS更改255到256。如果您正在通過A類或B類網絡進行搜索,則.255也可以有效。