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类和函数中使用静态变量的方法
May 09 Python
用Python计算三角函数之acos()方法的使用
May 15 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
Feb 18 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
Python实现的堆排序算法示例
Apr 29 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
flask 实现token机制的示例代码
Nov 07 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 09 Python
python中super()函数的理解与基本使用
Aug 30 Python
python神经网络Xception模型
May 06 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编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
QQ登录简单实现代码
2021/03/09 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
JavaScript函数详解
2015/02/27 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
详解Node 定时器
2018/02/26 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
Python 代码调试技巧示例代码
2020/08/11 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
全神贯注教学反思
2014/02/03 职场文书
学生会主席竞聘书
2014/03/31 职场文书
单位婚育证明范本
2014/11/21 职场文书
社区党员干部承诺书
2015/05/04 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
小程序自定义轮播图圆点组件
2022/06/25 Javascript