【问题标题】:Python Nslookup Not workingPython Nslookup 不工作
【发布时间】:2018-11-06 18:08:16
【问题描述】:

我有一个关于域的列表。我想从文本文件中读取这个域,然后检查 nslookup。但是我的代码不起作用。我的代码有什么问题?

new_days = open("ip.txt","w")
with open("domains.txt", "r") as f:
  for date in f:
    dateb = str(date)
    dateb = dateb.replace("\n"," ")
    answers = dns.resolver.query(dateb, 'A')
    for rdate in answers:
      b = str(dateb) + str(rdate)
      new_days.write(b)

【问题讨论】:

  • 你得到了什么
  • Traceback(最近一次调用最后一次):文件“domain.py”,第 16 行,在 答案 = dns.resolver.query(dateb, 'A') 文件“/usr/local /lib/python2.7/dist-packages/dns/resolver.py”,第 1132 行,查询 raise_on_no_answer,source_port) 文件“/usr/local/lib/python2.7/dist-packages/dns/resolver.py” ,第 1051 行,在查询中引发 NXDOMAIN(qnames=qnames_to_try,responses=nxdomain_responses) dns.resolver.NXDOMAIN:不存在 DNS 查询名称:www.google.com\010。
  • 末尾有一个换行符\010.dateb=dateb.strip()

标签: python dns ip runtime-error nslookup


【解决方案1】:

首先,您需要在您的 python 脚本中安装 dnspython 模块并导入 dnspython 模块。此外,建议您也附上您的错误输出。

#import dnspython module
import dns.resolver

new_days = open("ip.txt","w")
with open("domains.txt", "r") as f:
  for date in f:
    dateb = str(date)
    dateb = dateb.replace("\n"," ")
    answers = dns.resolver.query(dateb, 'A')
    for rdate in answers:
      b = str(dateb) + str(rdate)
      new_days.write(b)

【讨论】:

  • 我已经导入了 dns.resolver。它关于从文件中读取字符串。因为我以相同的方式运行相同的代码: import dns.resolver a = 'google.com' answers = dns.resolver.query(a, 'A') for rdata in answers: print rdata
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-18
  • 2011-03-11
相关资源
最近更新 更多