利用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