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模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 Python
介绍Python中的一些高级编程技巧
Apr 02 Python
python开发之for循环操作实例详解
Nov 12 Python
Python+django实现文件下载
Jan 17 Python
Python获取linux主机ip的简单实现方法
Apr 18 Python
基于Python列表解析(列表推导式)
Jun 23 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
Python实现在Windows平台修改文件属性
Mar 05 Python
django列表筛选功能的实现代码
Mar 27 Python
k-means & DBSCAN 总结
Apr 27 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
我的群发邮件程序
2006/10/09 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
jQuery select控制插件
2009/08/17 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
深入分析node.js的异步API和其局限性
2016/09/05 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
Python内置函数dir详解
2015/04/14 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
python集合常见运算案例解析
2019/10/17 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
装饰活动策划方案
2014/02/11 职场文书
2014年营业员工作总结
2014/11/18 职场文书
介绍信样本
2015/01/31 职场文书
营业员岗位职责
2015/02/11 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
MySQL分区路径子分区再分区
2022/04/13 MySQL
讲解Python实例练习逆序输出字符串
2022/05/06 Python