ラウンドロビンDNSドメインネームサービスの監視

インポートdns.resolverの
インポートOSは
インポートhttp.client
IPLIST = []
のAppDomain = 'www.baidu.com'
DEF get_iplist(ドメイン= ''):
試す:
A = dns.resolver.query(ドメイン、'A')
の例外を除い:eと
印刷("DNSリゾルバエラー:" + strの(E))
のリターン
iに対するA.response.answerで:
jに関するi.items中:
iplist.append(J)
を返す
デフ(IP)checkip:
checkurl = STR(IP)+ ':80'
のgetContent = ''
http.client.socket.setdefaulttimeout(20)
创建连接对象
CONN = http.client.HTTPConnection(checkurl)
試す:
conn.request('GET'、'/'、ヘッダ= { 'ホスト':アプリケーションドメイン})
R = conn.getresponse()
のgetContent = r.read(15)
最後に:
のgetContent ==の場合:B '<!DOCTYPE HTML>'
印刷(文字列(IP)+ '[OK]')
他:
プリント(STR(IP)+ '[エラー]')
であれば__name__ == "__main__":
get_iplist(AppDomainの)場合とlen(IPLIST)> :0
IP用:IPLISTで
checkip(IP)
他:
プリント('DNSリゾルバエラー。')

おすすめ

転載: www.cnblogs.com/jklp-1234/p/11297700.html