Python 多線程C段掃描、檢測 Ping掃描腳本

import subprocess as p
import time
import threading
from queue import Queue
def check_ip(ip):
            w=p.Popen('ping -n 2 '+ip,shell=True,stdout=p.PIPE,stderr=p.PIPE,encoding='gbk')
            result=w.stdout.read()
            # print(result)
            if 'TTL' in result:
                print(ip,'is Up')
def main():
    q=Queue()
    threads=[]
    threads_count=255
    ips = '39.156.69.'
    for i in range(1,255):
        q.put(ips+str(i))
        # print(q.get())
    for i  in range(threads_count):
        t=threading.Thread(target=check_ip,args=(q.get(),))
        t.start()
        threads.append(t)
        time.sleep(0.2)
    for i in threads:
        i.join()
    print('all done')
if __name__ == '__main__':
    main()