批量獲取區域網IP[多執行緒]
阿新 • • 發佈:2018-11-08
批量獲取區域網IP
python程式碼
#coding = utf-8 import os,os.path import threading import time lock = threading.RLock() def action(ip): result = "ip.txt" return1 = os.system('ping -n 2 -w 1 %s' % ip) # 每個ip ping2次,等待時間為1s #執行緒加鎖 lock.acquire() with open(result, 'a+') as f: if not return1: f.write("result:%d %s\n" % (return1, ip)) lock.release() return return1 #多執行緒程式碼 def pingfuncthread(): thread_list = [] for j in range(1,255): for i in range(1,255): ip = "192.168.%d.%d" %(j,i) t = threading.Thread(target=action,args = (ip,)) #t.setDaemon(True) thread_list.append(t) for t in thread_list: t.start() for t in thread_list: t.join() #單執行緒程式碼 def pingfunc(): for i in range(1,255): ip = "192.168.31.%d" %(i) action(ip) if __name__ == '__main__': pingfunc() #run_plot("test.txt")