python批量處理多DNS多域名的nslookup解析實現
利用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數量少于需要監測的域名數量,做去空處理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內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. 解析原生JS getComputedStyle2. Idea 2019.3 本應該搜索到的插件卻搜索不到的解決方法3. SpringBoot+SpringCache實現兩級緩存(Redis+Caffeine)4. IntelliJ IDEA安裝插件的方法步驟5. 在JSP中使用formatNumber控制要顯示的小數位數方法6. ASP.NET MVC視圖頁使用jQuery傳遞異步數據的幾種方式詳解7. ASP.NET泛型三之使用協變和逆變實現類型轉換8. IntelliJ IDEA導入jar包的方法9. 每日六道java新手入門面試題,通往自由的道路10. 每日六道java新手入門面試題,通往自由的道路--多線程
