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中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
python入门前的第一课 python怎样入门
Mar 06 Python
python统计字母、空格、数字等字符个数的实例
Jun 29 Python
python实现求特征选择的信息增益
Dec 18 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
Jan 05 Python
Python unittest 自动识别并执行测试用例方式
Mar 09 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
May 04 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笔试题
2009/08/04 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
Python队列的定义与使用方法示例
2017/06/24 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
python提取log文件内容并画出图表
2019/07/08 Python
django的ORM操作 增加和查询
2019/07/26 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Python爬取梨视频的示例
2021/01/29 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
历史专业毕业生的自我鉴定
2013/11/15 职场文书
商场活动策划方案
2014/01/24 职场文书
军训拉歌口号
2014/06/13 职场文书
企业员工集体活动方案
2014/08/17 职场文书
镇创先争优活动总结
2014/08/28 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
python绘制箱型图
2021/04/27 Python
解析Java异步之call future
2021/06/14 Java/Android
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android