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中cPickle用法例子分享
Jan 03 Python
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
Python引用(import)文件夹下的py文件的方法
Aug 26 Python
Python打包可执行文件的方法详解
Sep 19 Python
python使用Flask操作mysql实现登录功能
May 14 Python
python批量图片处理简单示例
Aug 06 Python
Python中字典与恒等运算符的用法分析
Aug 22 Python
Windows10下 python3.7 安装 facenet的教程
Sep 10 Python
如何使用Python抓取网页tag操作
Feb 14 Python
给Django Admin添加验证码和多次登录尝试限制的实现
Jul 26 Python
基于Python正确读取资源文件
Sep 14 Python
Python获取指定网段正在使用的IP
Dec 14 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
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
Python装饰器基础详解
2016/03/09 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
工程专业应届生求职信
2014/02/19 职场文书
委托书范文
2014/04/02 职场文书
辞职信的写法
2015/02/27 职场文书
文言文辞职信
2015/02/28 职场文书
刑事辩护词范文
2015/05/21 职场文书
单位接收证明格式
2015/06/18 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
MySQL七种JOIN类型小结
2021/10/24 MySQL
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby