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编程入门之Hello World的三种实现方式
Nov 13 Python
关于Python中异常(Exception)的汇总
Jan 18 Python
基于Python闭包及其作用域详解
Aug 28 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
对python中使用requests模块参数编码的不同处理方法
May 18 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
python dataframe NaN处理方式
Dec 26 Python
Matplotlib自定义坐标轴刻度的实现示例
Jun 18 Python
Django中Q查询及Q()对象 F查询及F()对象用法
Jul 09 Python
用Python进行websocket接口测试
Oct 16 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 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实现框架(一)
2006/10/09 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
javascript实现json页面分页实例代码
2014/02/20 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
Python 文件重命名工具代码
2009/07/26 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
Python中and和or如何使用
2020/05/28 Python
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
英文请假条
2014/04/11 职场文书
3的组成教学反思
2014/04/30 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
综治维稳工作汇报
2014/10/27 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
建国大业观后感600字
2015/06/01 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
python APScheduler执行定时任务介绍
2022/04/19 Python