python批量處理多DNS多域名的nslookup解析實現(xiàn)
利用EXCLE生成CSV文檔,批量處理nslookup解析。并保存為CSV文檔,方便進行查看:
輸入文檔格式:
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解析實現(xiàn)的文章就介紹到這了,更多相關(guān)python 批量多域名nslookup內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用 kind 和 Docker 啟動本地的 Kubernetes環(huán)境2. idea設(shè)置提示不區(qū)分大小寫的方法3. idea設(shè)置代碼格式化的方法步驟4. ASP.NET MVC前臺動態(tài)添加文本框并在后臺使用FormCollection接收值5. 使用PHP批量生成隨機用戶名6. phpstorm斷點調(diào)試方法圖文詳解7. 如何禁用IntelliJ IDEA的LightEdit模式(推薦)8. ASP.NET MVC使用異步Action的方法9. IntelliJ IDEA創(chuàng)建web項目的方法10. vue的路由動畫切換頁面無法讀取meta值的bug記錄
