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. ajax請求添加自定義header參數(shù)代碼2. 基于javascript處理二進(jìn)制圖片流過程詳解3. Gitlab CI-CD自動(dòng)化部署SpringBoot項(xiàng)目的方法步驟4. ASP基礎(chǔ)知識(shí)VBScript基本元素講解5. 解決android studio引用遠(yuǎn)程倉庫下載慢(JCenter下載慢)6. idea刪除項(xiàng)目的操作方法7. 使用python 計(jì)算百分位數(shù)實(shí)現(xiàn)數(shù)據(jù)分箱代碼8. Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動(dòng)庫9. 詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法10. axios和ajax的區(qū)別點(diǎn)總結(jié)
