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多线程编程(二):启动线程的两种方法
Apr 05 Python
Python中查看文件名和文件路径
Mar 31 Python
Python生成器generator用法示例
Aug 10 Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 Python
使用Python进行目录的对比方法
Nov 01 Python
Python中的取模运算方法
Nov 10 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
python二进制读写及特殊码同步实现详解
Oct 11 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
Python基于yaml文件配置logging日志过程解析
Jun 23 Python
Python headers请求头如何实现快速添加
Nov 03 Python
python中判断数字是否为质数的实例讲解
Dec 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
PHP5 面向对象(学习记录)
2009/12/02 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
PHP闭包实例解析
2014/09/08 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
vue 巧用过渡效果(小结)
2018/09/22 Javascript
Python实现的最近最少使用算法
2015/07/10 Python
python杀死一个线程的方法
2015/09/06 Python
python 类详解及简单实例
2017/03/24 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
基于python生成器封装的协程类
2019/03/20 Python
python中import与from方法总结(推荐)
2019/03/21 Python
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
委托书如何写
2014/08/30 职场文书
文明旅游倡议书
2015/04/28 职场文书
如何使用 resize 实现图片切换预览功能
2021/08/23 HTML / CSS
python代码实现扫码关注公众号登录的实战
2021/11/01 Python