python批量處理多DNS多域名的nslookup解析實(shí)現(xiàn)
利用EXCLE生成CSV文檔,批量處理nslookup解析。并保存為CSV文檔,方便進(jìn)行查看:
輸入文檔格式:
datadomain.csv
最終輸出文檔情況:
datanlookup.csv
代碼:
# coding=gbkimport subprocessimport 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’datadomain.csv’ # 輸入文件 file_nslookup = r’datanslookup.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數(shù)量少于需要監(jiān)測的域名數(shù)量,做去空處理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(’執(zhí)行完畢’)
到此這篇關(guān)于python批量處理多DNS多域名的nslookup解析實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python 批量多域名nslookup內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python調(diào)用接口合并Excel表代碼實(shí)例2. .net如何優(yōu)雅的使用EFCore實(shí)例詳解3. Python快速將ppt制作成配音視頻課件的操作方法4. ASP.Net Core對USB攝像頭進(jìn)行截圖5. 一文透徹詳解.NET框架類型系統(tǒng)設(shè)計要點(diǎn)6. 通過CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動畫特效7. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁8. 通過Ajax方式綁定select選項數(shù)據(jù)的實(shí)例9. ASP.NET MVC實(shí)現(xiàn)橫向展示購物車10. ajax動態(tài)加載json數(shù)據(jù)并詳細(xì)解析
