利用EXCLE生成CSV文档,批量处理nslookup解析。并保存为CSV文档,方便进行查看:
输入文档格式:
data\domain.csv
最终输出文档情况:
data\nlookup.csv
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# 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:
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内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/feelingwild/article/details/106984616