python批量处理多DNS多域名的nslookup解析实现

2020/06/28 16:24 · python教程 ·  转载文章 · 203阅读 · 0评论

利用EXCLE生成CSV文档,批量处理nslookup解析。并保存为CSV文档,方便进行查看:

输入文档格式:

data\domain.csv

python批量处理多DNS多域名的nslookup解析实现

最终输出文档情况:

data\nlookup.csv

python批量处理多DNS多域名的nslookup解析实现

代码:

  1. # coding=gbk
  2. import subprocess
  3. import csv
  4. def get_nslookup(domain, dns):
  5. res = subprocess.Popen("nslookup {0} {1}".format(domain, dns), stdin=subprocess.PIPE,
  6. stdout=subprocess.PIPE).communicate()[0]
  7. response = res.decode("gbk")
  8. res_list = response.split("s:")
  9. row_nslookup = [domain, dns]
  10. row_ip = res_list[2].split()[:-1]
  11. row_nslookup.extend(row_ip)
  12. return row_nslookup
  13. if __name__ == "__main__":
  14. file_domain = r'data\domain.csv' # 输入文件
  15. file_nslookup = r'data\nslookup.csv' # 输出文件
  16. with open(file_domain, 'r', newline='', encoding='gbk') as rf:
  17. domain_csv = csv.DictReader(rf, dialect=csv.excel)
  18. domain_list = [row['domain'] for row in domain_csv]
  19. with open(file_domain, 'r', newline='', encoding='gbk') as rf:
  20. domain_csv = csv.DictReader(rf, dialect=csv.excel)
  21. dns_list = []
  22. for row in domain_csv:
  23. print(row['DNS'])
  24. if row['DNS'] != '': # 通常DNS数量少于需要监测的域名数量,做去空处理
  25. dns_list.append(row['DNS'])
  26. with open(file_nslookup, 'w+', newline='', encoding='gbk') as wf:
  27. nslookup_csv = csv.writer(wf, dialect=csv.excel)
  28. header = ['domain', 'DNS', 'nslookup_res...']
  29. nslookup_csv.writerow(header)
  30. for domain in domain_list:
  31. for dns in dns_list:
  32. print('解析中:域名:{0}___DNS:{1}'.format(domain, dns))
  33. row_nslookup = get_nslookup(domain, dns)
  34. nslookup_csv.writerow(row_nslookup)
  35. print('执行完毕')

到此这篇关于python批量处理多DNS多域名的nslookup解析实现的文章就介绍到这了,更多相关python 批量多域名nslookup内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文章

本文地址:http://www.pythongcs.cn/571.html
文章标签: ,   ,  
温馨提示:文章内容系作者个人观点,不代表Python工程狮对观点赞同或支持。
版权声明:本文为转载文章,来源于 风月无心2002 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

 发表评论


表情