ed wrote: > this script should create individual threads to scan a range of IP > addresses, but it doesnt, it simple ... does nothing. it doesnt hang > over anything, the thread is not being executed, any ideas anyone?
It's because of the bugs. Nothing happens because threading < MAX_THREADS is always false. You are comparing a module to an int. Next, you never create any instances of scanThread. Next the local variables of scan() are not visible in scanThread.run(). -- --Bryan > import socket > import threading > import traceback > > > MAX_THREADS = 50 > > > class scanThread(threading.Thread): > def run(self): > try: > ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > ss.connect((ip, port_counter)) > print "%s | %d OPEN" % (ip, port_counter) > ss.close() > print "scanned: ",port_counter,"\n" > except: > traceback.print_exc() > # end class ------------------- > > > def scan(ip, begin, end): > port_counter = 0 > for port_counter in range(begin, end): > while threading < MAX_THREADS: > scanThread().start() > # end function ------------------- > scan("localhost", 0, 10000) > -- http://mail.python.org/mailman/listinfo/python-list