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

Python检查文件中的服务器并验证dns注册,python,dns,Python,Dns,我试图让这个脚本检查一堆服务器,如果它们在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'

我试图让这个脚本检查一堆服务器,如果它们在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.
回溯(最近一次呼叫最后一次):
文件“read.py”,第18行,在
answer=dns.resolver.query(行、qtype、raise\u on\u no\u answer=False)
文件“/usr/local/lib/python2.7/dist packages/dns/resolver.py”,第1102行,在查询中
寿命)
文件“/usr/local/lib/python2.7/dist packages/dns/resolver.py”,第1002行,在查询中
提升NXDOMAIN(qnames=qnames\u to\u try,responses=NXDOMAIN\u responses)
dns.resolver.NXDOMAIN:不存在任何dns查询名称:servername\010.xx.domain.net.,servername\010.xx.domain.net.,servername\010.xx.domain.net.,servername\010.xx.domain.net.,servername\010.xx.domain.net。

它没有完成读取文件。我遗漏了哪些步骤?

servers.txt的内容是什么??Hi the content of servers.txt是netbios名称,例如rseflb-mssql1p所有服务器或彼此之间的服务器。您能找出导致该问题的服务器名称吗?在该错误之前是否打印了任何内容?如果文件中只有一个服务器名称,则会给出错误