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


Posted in Python onJune 28, 2020

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

输入文档格式:

data\domain.csv

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

最终输出文档情况:

data\nlookup.csv

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

代码:

# coding=gbk
import subprocess
import csv
 
 
def get_nslookup(domain, dns):
  res = subprocess.Popen("nslookup {0} {1}".format(domain, dns), stdin=subprocess.PIPE,
              stdout=subprocess.PIPE).communicate()[0]
  response = res.decode("gbk")
  res_list = response.split("s:")
  row_nslookup = [domain, dns]
  row_ip = res_list[2].split()[:-1]
  row_nslookup.extend(row_ip)
  return row_nslookup
 
 
if __name__ == "__main__":
  file_domain = r'data\domain.csv'    # 输入文件
  file_nslookup = r'data\nslookup.csv'  # 输出文件
  with open(file_domain, 'r', newline='', encoding='gbk') as rf:
    domain_csv = csv.DictReader(rf, dialect=csv.excel)
    domain_list = [row['domain'] for row in domain_csv]
 
  with open(file_domain, 'r', newline='', encoding='gbk') as rf:
    domain_csv = csv.DictReader(rf, dialect=csv.excel)
    dns_list = []
    for row in domain_csv:
      print(row['DNS'])
      if row['DNS'] != '':    # 通常DNS数量少于需要监测的域名数量,做去空处理
        dns_list.append(row['DNS'])
 
  with open(file_nslookup, 'w+', newline='', encoding='gbk') as wf:
    nslookup_csv = csv.writer(wf, dialect=csv.excel)
    header = ['domain', 'DNS', 'nslookup_res...']
    nslookup_csv.writerow(header)
    for domain in domain_list:
      for dns in dns_list:
        print('解析中:域名:{0}___DNS:{1}'.format(domain, dns))
        row_nslookup = get_nslookup(domain, dns)
        nslookup_csv.writerow(row_nslookup)
 
print('执行完毕')

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

Python 相关文章推荐
python连接mysql调用存储过程示例
Mar 05 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
python远程邮件控制电脑升级版
May 23 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
python基于Selenium的web自动化框架
Jul 14 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
Jul 30 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
python中yield的用法详解
Jan 13 Python
实例讲解Python中sys.argv[]的用法
Jun 03 Python
Python使用DFA算法过滤内容敏感词
Apr 22 Python
python manim实现排序算法动画示例
Aug 14 Python
Python sklearn分类决策树方法详解
Sep 23 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 #Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 #Python
sklearn的predict_proba使用说明
Jun 28 #Python
基于python实现ROC曲线绘制广场解析
Jun 28 #Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 #Python
浅谈sklearn中predict与predict_proba区别
Jun 28 #Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 #Python
You might like
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
定义php常量的详解
2013/06/09 PHP
PHP数据类型的总结分析
2013/06/13 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
使用jQuery实现返回顶部
2015/01/26 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
ES6学习教程之对象字面量详解
2017/10/09 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
用Python编程实现语音控制电脑
2014/04/01 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
python tkinter界面居中显示的方法
2018/10/11 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
python实现简单成绩录入系统
2019/09/19 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
打架检讨书400字
2014/01/17 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
求职自我推荐信
2014/06/25 职场文书
2015年除四害工作总结
2015/07/23 职场文书
商务宴会祝酒词
2015/08/11 职场文书