Python检查文件中的服务器并验证dns注册

2024-04-23 13:35:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让这个脚本检查一堆服务器,如果他们是在DNS服务器注册。 当他们没有注册写一行在一个文件,我可以审查或通过电子邮件发送一个真正的其他脚本

import os
import dns.resolver

filename = 'servers.txt'    #when using a different filename change the name of the file

def resolv(res):
    res = ''''for qtype in 'A', 'AAAA', 'MX', 'NS', 'TXT', 'SOA':
              answer = dns.resolver.query('line',qtype, raise_on_no_answer=False)
    if answer.rrset is not None:
        print(answer.rrset)''' %(res)

with open(filename, 'r') as f:
    for line in f:
        print(line)

    for line in f:
        for qtype in 'A', 'AAAA', 'MX', 'NS', 'TXT', 'SOA':
            answer = dns.resolver.query(line,qtype, raise_on_no_answer=False) 
        if answer.rrset is not none:
            print(answer.rrset) %(res)   
        #elif
            print(line)

当我运行脚本时,我得到以下错误作为输出:

Traceback (most recent call last):
File "read.py", line 18, in <module>
    answer = dns.resolver.query(line,qtype, raise_on_no_answer=False) 
File "/usr/local/lib/python2.7/dist-packages/dns/resolver.py", line 1102, in query
    lifetime)
File "/usr/local/lib/python2.7/dist-packages/dns/resolver.py", line 1002, in query
    raise NXDOMAIN(qnames=qnames_to_try, responses=nxdomain_responses)
dns.resolver.NXDOMAIN: None of DNS query names exist: servername\010.xx.domain.net., servername\010.xx.domain.net., servername\010.xx.domain.net., servername\010.xx.domain.net.

它没有完成读取文件。我错过了什么步骤


Tags: answerinfordnsdomainlineresquery