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 相关文章推荐
在Django的URLconf中使用命名组的方法
Jul 18 Python
Python多线程实现同步的四种方式
May 02 Python
python多进程控制学习小结
Oct 31 Python
django 环境变量配置过程详解
Aug 06 Python
python输出带颜色字体实例方法
Sep 01 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
Python通过2种方法输出带颜色字体
Mar 02 Python
python关于变量名的基础知识点
Mar 03 Python
Python paramiko使用方法代码汇总
Nov 20 Python
Pytorch 统计模型参数量的操作 param.numel()
May 13 Python
浅析python中特殊文件和特殊函数
Feb 24 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
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
php ci框架验证码实例分析
2013/06/26 PHP
PHP连接access数据库
2015/03/27 PHP
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
详解ES6中的let命令
2020/04/05 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
详解python while 函数及while和for的区别
2018/09/07 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
Flask框架web开发之零基础入门
2018/12/10 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
公司周年庆典邀请函
2014/01/12 职场文书
倡议书格式范文
2014/04/14 职场文书
装修协议书范本
2014/04/21 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
洗手间标语
2014/06/23 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
优秀教师事迹材料
2014/12/15 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js