2017-08-03 12 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の完全な出力を出力します。空の結果を破棄し、出力をもっと似せる方法はありますか?nslookupを出力するPythonスクリプト

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 

EDIT:あなたは、これはブロードキャストアドレスではなくDNSで同様しかし、クラスCのネットワークで0.255を照会したい場合は256から255に変更します。クラスAまたはBのネットワークを通過している場合は、.255も同様に有効です。

関連する問題